Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции информатика (бакалавры).doc
Скачиваний:
37
Добавлен:
21.09.2019
Размер:
854.02 Кб
Скачать

Типы связей.

Связь является логическим соотношением между сущностями. Имя связи (Relationship Verb Phrases) – глагол или глагольная фраза. Имя связи (Verb Phrase) - фраза, характеризующая отношение между родительской и дочерней сущностями. Для связи один-ко-многим, идентифицирующей или не идентифицирующей, достаточно указать имя, характеризующее отношение от родительской к дочерней сущности (Parent-to-Child). Для связи многие-ко-многим следует указывать имена как Parent-to-Child, так и Child-to-Parent.

Типы связей:

  1. идентифицирующая;

  2. не идентифицирующая:

- обязательная;

- необязательная.

Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Когда устанавливается идентифи­цирующая связь, ERwin автоматически преобразует дочернюю сущность в зависимую. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ - (FK). В дальнейшем, при генерации схемы БД атрибуты первичного ключа получат признак NOT NULL, что означает невозможность внесения записи в дочернюю таблицу без информации из родительской таблицы.

Идентифицирующая связь показывается на диаграмме сплошной лини­ей с жирной точкой на дочернем конце связи (рисунок ).

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

Не идентифицирующая связь служит для связывания независимых сущностей.

При установлении не идентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав не ключевых компонентов дочерней сущности. При такой связи допускается нулевое значение внешнего ключа.

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

Для не идентифи­цирующей связи можно указать обязательность (Nulls). В случае обязатель­ной связи (No Nulls) при генерации схемы БД атрибут внешнего ключа получит признак NOT NULL, несмотря на то, что внешний ключ не войдет в состав первичного ключа дочерней сущности. В случае необязательной связи (Nulls Allowed) внешний ключ может принимать значение NULL.

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

Мощность связи (Cardinality) - служит для обозначения отношения чис­ла экземпляров родительской сущности к числу экземпляров дочерней.

Различают четыре типа мощности:

  • общий случай, когда одному экземпляру родительской сущности соот­ветствуют 0, 1 или много экземпляров дочерней сущности, не помечает­ся каким-либо символом;

  • символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);

  • символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исклю­чены множественные значения);

  • цифрой помечается случай точного соответствия, когда одному экземп­ляру родительской сущности соответствует заранее заданное число эк­земпляров дочерней сущности.

На логическом уровне можно установить:

  • идентифицирующую связь один-ко-многим;

  • идентифицирующую связь один-к-одному;

  • не идентифицирующую связь один-ко-многим;

  • не идентифицирующую связь один-к-одному;

  • связь многие-ко-многим.