Сценарий:
- Существует два отдела, а именно «Программное обеспечение» & «Оборудование».
- У них есть такие подразделения, как «Cobol», «Fortran», «Pascal», «QBasic» в отделе программного обеспечения.
- И «ОЗУ», «Жесткий диск», «Монитор», «ЦП» в аппаратном обеспечении отдел.
- Ниже приведены форматы таблиц для отдела и Подразделение столов.Какова наилучшая практика создания Первичного/Уникального Идентификатора в таблице РСУБД, если возможны и Параметры кандидата, и Компонентный ключ?
базы данных используются: Oracle
Таблица 1: Таблица Департамент
Таблица 2: Отдел Таблица для вышеуказанных отделов (Format 1 - первичный ключ/Уникальный идентификатор столбца = Div_id)
Таблица 2: Таблица Отдел для вышеуказанных отделов (Формат 2 - Первичный ключ/уникальный идентификатор столбца = Div_id + Dep_id)
В приведенных выше двух форматов таблиц разделения, я не могу в состоянии найти профи & минусов. Таким образом, в этих форматах лучше всего создавать первичный/уникальный идентификатор. И почему это лучше?
Есть ли разница в производительности между обоими форматами при использовании запроса выбора?
В составных клавиш нет ничего плохого, но в этом случае это кажется надуманным. – reaanb
Пожалуйста, используйте [текст, а не изображения/ссылки для текста (включая код, таблицы и ERD)] (https://meta.stackoverflow.com/q/285551/3404097). Используйте изображение только для удобства, чтобы дополнить текст и/или за то, что не может быть указано в тексте. – philipxy
Кандидат против композита не имеет значимого выбора. Иногда CK являются составными. Мы получаем CK, а затем выбираем PK. В вашем названии вы имеете в виду «когда возможны простые и сложные варианты CK»? Сначала приходите по столам. Затем вы определяете CK. Затем вы выбираете ПК. Учитывая каждую таблицу здесь и здравый смысл для FD, в каждой есть только один CK. Поэтому у вас нет выбора. Вы имеете в виду, какой дизайн/таблицу выбрать? Ну, как определяются подразделения в бизнесе? Ваша таблица 2, похоже, не согласна с вашим бизнесом. – philipxy