Идентифицирующая связь
Автор Іылимбадзе Цылимбадзе задал вопрос в разделе Другие языки и технологии
Чем идентифицирующая связь отличается от неидентифицирующей? Объясните на пальцах. Желательно на конкретном примере. и получил лучший ответ
Ответ от Fox Jovovich[гуру]
Связь является идентифицирующей тогда и только тогда, когда первичный ключ дочерней сущности содержит внешний ключ, идущий от родительской сущности. Если такой вещи нет - связь будет неидентифицирующей.
Объясняю на примере Ответов. Есть две сущности - ВОПРОС и ОТВЕТ. Связь ВОПРОС-ОТВЕТ является идентифицирующей, поскольку сущность ОТВЕТ не может быть однозначно определена, если не задана сущность ВОПРОС (просто ответов без вопроса нет). Или там, сущности ДОМ и КВАРТИРА. Сущность КВАРТИРА не может быть однозначно определена, если не задана сущность ДОМ.
Что касается неидентифицирующих связей. Есть сущность ЗВАНИЕ и сущность ПОЛЬЗОВАТЕЛЬ. Пользователь обладает каким-то званием (в Вашем случае "Ученик"), но сущность Пользователь может быть однозначно определена и без этого звания (например, по e-mail). То есть поле Звание таблицы Пользователь не входит в первичный ключ сущности Пользователь.
Идентифицирующая связь изображается сплошной линией. Сущность-потомок в идентифицирующей связи является зависимой сущностью. Сущность- родитель в идентифицирующей связи может быть как независимой, так и зависимой от идентификатора сущностью ( это определяется ее связями с другими сущностями) .
Неидентифицирующая связь изображается пунктирной линией. Сущность-потомок в неидентифицирующей связи будет независимой от идентификатора, если она не является также сущностью-потомком в какой-либо идентифицирующей связи.