Разница между наличием и отсутствием внешнего ключа как части первичного ключа в отношениях «один ко многим»

#database #database-design #entity-relationship #er-diagrams

Вопрос:

В чем разница между этими двумя сценариями? Когда я буду использовать то или иное?

Я понимаю, что одно-это идентифицирующие отношения, а другое-неидентифицирующие отношения. Кроме того, в обоих случаях внешний ключ НЕ является НУЛЕВЫМ. Я хочу знать, когда использовать какой из них?

Я пытаюсь смоделировать отношения «один ко многим» между организацией и контактным лицом в этой организации. У каждой организации может быть много контактных лиц, но:

  • Вариант 1. контактное лицо может принадлежать только одной организации
  • Вариант 2. контактное лицо может принадлежать более чем к одной организации

введите описание изображения здесь

(В случае 2 пузырька нет. Это ошибка. Пожалуйста, не обращайте на это внимания. Я предполагал, что FK не будет НУЛЕВЫМ в обоих случаях.)

Erwin Data modeler по умолчанию делает его неидентифицирующей ситуацией с составным ключом.

Мое понимание заключается в следующем:

Случай №1: В этом случае у меня может быть одно и то же контактное лицо, сопоставленное с 2 разными организациями, т. Е. Контактное лицо John Doe — Org McDonalds может быть 1 строкой, а Голодные домкраты John Doe — Org могут быть другой строкой. Только комбинация должна быть уникальной, а не само контактное лицо.

Случай № 2: В этом случае Контактное лицо должно быть уникальным. У меня может быть только одна запись для Джона Доу. И Джон Доу может быть связан только с одной организацией.

Правильно ли я понимаю использование этих двух случаев?