Идентифицирующая и неидентифицирующая связь

ИДЕНТИФИЦИРУЮЩАЯ СВЯЗЬ

ИДЕНТИФИЦИРУЮЩАЯ СВЯЗЬ — экземпляр сущности-потомка однозначно определяется своей связью (отношением) с сущностью-родителем. В таком случае связь каждый экземпляр подчиненной сущности идентифицируется значениями атрибутов родительской сущности. Это означает, что экземпляр подчиненной сущности зависит от родительской сущности и не может существовать без экземпляра родительской сущности. В идентифицирующем отношении единственный экземпляр родительской сущности связан с множеством экземпляров подчиненной.

Для создания зависимой сущности необходимо организовать передачу внешнего ключа в дочернюю сущность, и т.о. создать идентифицирующую связь между сущностью-родителем и сущностью-потомком изображается сплошной линией (рисунок 1). Атрибуты первичного ключа родительской сущности мигрируют в первичный ключ дочерней сущности, чтобы стать там атрибутами первичного ключа. Дочерняя сущность при идентифицирующей связи всегда является зависимой.

На Рисунке 4.2 представлено идентифицирующее отношение между сущностями ВКУСОВАЯ ДОБАВКА и МОРОЖЕНОЕ. Заметьте, что атрибуты первичного ключа родительской сущности ВКУСОВАЯ ДОБАВКА мигрировали в сущность МОРОЖЕНОЕ и стали там первичным ключом. Экземпляр сущности МОРОЖЕНОЕ не существует до тех пор, пока не появится экземпляр родительской сущности ВКУСОВАЯ ДОБАВКА. Обратите внимание на непрерывную линию между двумя сущностями.

Сущность-потомок в идентифицирующей связи является зависимой от идентификатора сущностью. Сущность-родитель в идентифицирующей связи может быть как независимой, так и зависимой от идентификатора сущностью (это определяется ее связями с другими сущностями).

НЕИДЕНТИФИЦИРУЮЩАЯ СВЯЗЬ

НЕИДЕНТИФИЦИРУЮЩАЯ СВЯЗЬ — экземпляр сущности-потомка определяется своей связью с сущностью-родителем неоднозначно, т.е. экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью, и не зависит от значений атрибутов родительской сущности. Это означает, что экземпляр подчиненной сущности не зависит от родительской сущности и может существовать без экземпляра родительской сущности. В неидентифицирующем отношении единственный экземпляр родительской сущности связан с множеством экземпляров подчиненной.

Что почитать: 
Что такое язык программирования. Виды и востребованность
Какой язык программирования выбрать новичку?
В чем заключается работа программиста?

Атрибуты, составляющие первичный ключ родительской сущности мигрируют в подчиненную, чтобы стать не ключевыми атрибутами дочерней сущности. Неидентифицирующая связь связывает родительскую сущность с дочерней. Сущность-потомок в неидентифицирующей связи будет независимой от идентификатора, если она не является также сущностью-потомком в какой-либо идентифицирующей связи.

На рисунке 4.3 представлено неидентифицирующее отношение между сущностями СМЕСЬ и ТИП СМЕСИ. Обратите внимание, что атрибуты первичного ключа родительской сущности СМЕСЬ мигрировали в подчиненную сущность ТИП СМЕСИ и стали там неключевы-ми атрибутами.

Неидентифицирующие связи отображаются пунктирной линией между объектами (рисунок 2.3.3.). Неидентифицирующие связи являются уникальными для IDEF1X и используются для отображения другого типа передачи атрибутов внешних ключей — передача в область данных дочерней сущности (под линией). Так как переданные ключи в не идентифицирующей связи не являются составной частью первичного ключа дочерней сущности, то этот вид связи не проявляется ни в одной идентифицирующей зависимости. В этом случае и ОТДЕЛ, и СОТРУДНИК рассматриваются как независимые сущности.

Тем не менее, взаимосвязь может отражать зависимость существования, если бизнес-правило для взаимосвязи определяет то, что внешний ключ не может принимать значение NULL. Если внешний ключ должен существовать, то это означает, что запись в дочерней сущности может существовать только при наличии ассоциированной с ним родительской записи.

 

Айтистанция
Добавить комментарий