powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / составной и простой ключ
10 сообщений из 10, страница 1 из 1
составной и простой ключ
    #34943356
DmitryTS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если мне нужно между 2-я таблицами сделать связь многие ко многим, то я создаю третью таблицу и заношу туда внешние ключи на первые две таблицы.
А вопрос по поводу того какой первичный ключ использовать. Почему не рекомендуют в связующей таблице создавать отдельный первичный ключ? Чем это так плохо?
...
Рейтинг: 0 / 0
составной и простой ключ
    #34943367
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Почему не рекомендуют в связующей таблице создавать отдельный первичный ключ?

Кто не рекомендует, можно поинтересоваться?
...
Рейтинг: 0 / 0
составной и простой ключ
    #34943371
DmitryTS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Почему не рекомендуют в связующей таблице создавать отдельный первичный ключ?

Кто не рекомендует, можно поинтересоваться?

Ну не то что бы не рекомендуют, но во всех книгах, которые я читал, пишут, что нужно использовать составной ключ и не объясняют почему.
...
Рейтинг: 0 / 0
составной и простой ключ
    #34943393
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В печку такие книжки.
...
Рейтинг: 0 / 0
составной и простой ключ
    #34943418
Baykin Ilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не скажу сейчас конкретные ссылки на книжки, но вроде бы все обычно формально назначают первичный ключ в новом столбце. То есть в связующей таблице получается 3 столбца: 2 внешних ключа и простой (суррогатный) PK.
...
Рейтинг: 0 / 0
составной и простой ключ
    #34943514
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryTSЕсли мне нужно между 2-я таблицами сделать связь многие ко многим, то я создаю третью таблицу и заношу туда внешние ключи на первые две таблицы.
А вопрос по поводу того какой первичный ключ использовать. Почему не рекомендуют в связующей таблице создавать отдельный первичный ключ? Чем это так плохо?Не совсем понятен смысл вопроса. Суть первичного ключа в однозначной идентификации строки, и не играет роли, сколько полей он содержит, т.е., он вполне может быть и составным. Введение дополнительных атрибутов для выполнения той же задачи(идентификации) особого смысла не имеет, по крайней мере, с логической точки зрения. В вашем случае, если правильно понял, важен лишь сам факт наличия связи между конкретными экземплярами сущностей.
С физической же точки зрения, если этот факт может быть использован где-то еще, то иногда имеет смысл добавлять отдельный атрибут типа автоприращения (или любого другого генератора уникальных значений), обычно, с целью уменьшения объема ключа, который будет мигрировать в подобную сущность, да и запросы иногда будет писать проще, меньше придется перечислять полей в условиях слияний, хотя это не всегда оправдано и может привести к излишним вычислениям, но уже сервером.
Таким образом, введение дополнительного абстрактного идентификатора с формальной точки зрения является излишеством. Вот с этого момента и начинаются разногласия тупоконечников с остроконечниками, известные под общей формулировкой "суррогатные vs естественные", от которых, IMHO, лучше держаться подальше, а пользоваться своим здравым смыслом, исходя из конкретной ситуации.
...
Рейтинг: 0 / 0
составной и простой ключ
    #34943525
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryTS пишет:

> А вопрос по поводу того какой первичный ключ использовать. Почему не
> рекомендуют в связующей таблице создавать отдельный первичный ключ? Чем
> это так плохо?


Потому что это попросту лишние данные. Они занимают место.
Если ссылок на таблицу связи нет, они не нужны.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
составной и простой ключ
    #34943529
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryTS пишет:

> Ну не то что бы не рекомендуют, но во всех книгах, которые я читал,
> пишут, что нужно использовать составной ключ и не объясняют почему.

Да потому что лишних полей добавлять никогда не нужно, и сложно
требовать от автора что он еще должен что-то по этому поводу объяснять.
В любую таблицу можно добавить любое число лишних полей, зачем
же постоянно явно объяснять в каждом случае что этого делать не надо ?
Бритва
Оккама

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
составной и простой ключ
    #34943803
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Baykin IlyaТо есть в связующей таблице получается 3 столбца: 2 внешних ключа и простой (суррогатный) PK.
+ дополнительные поля - характеристики этой связи. (суррогатный) PK нужен хотя бы для аудита.
...
Рейтинг: 0 / 0
составной и простой ключ
    #34944494
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChAВот с этого момента и начинаются разногласия тупоконечников с остроконечниками, известные под общей формулировкой "суррогатные vs естественные", от которых, IMHO, лучше держаться подальше, а пользоваться своим здравым смыслом, исходя из конкретной ситуации.
+1
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / составной и простой ключ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]