Отношения (связи) (Relationships)




 

Отношения (связи) сущностей (Entity Relationships)

 

В модели данных программы ERwin отношения показывают связь между двумя сущностями или таблицами. В зависимости от нотации (см. Урок №2), которой вы пользуетесь, линия отношения или связи может быть сплошной или пунктирной и иметь символы на одном или двух концах.

 

Линия связи

 

На рисунке показано отношение между сущностью STORE и сущностью MOVIE в нотации IDEF1x.

 

Инструменты связей (Relationship Tools)

 

В зависимости от типа информационной модели (логический или физический) и нотации построения диаграмм инструменты связей на палитре ERwin Toolbox меняются.

Но, в основном, существует два типа связи:

· Идентифицирующая связь (Identifying Relationship) (связь, при которой внешний ключевой атрибут (колонка) перемещается выше линии в сущности или таблице, становясь частью первичного ключа дочерней сущности; отображается сплошной линией);

· Неидентифицирующая связь (Non-Identifying Relationship) (связь, при которой внешний ключевой атрибут (колонка) располагается ниже линии в сущности или таблице, становясь неключевым атрибутом дочерней сущности; отображается пунктирной линией).

Вид
Неидентифицирующая связь
Идентифицирующая связь
Связь «многие ко многим»

Внимание! Пример показывает некоторые доступные инструменты связей в Логической и Физической модели в нотациях IDEF1x, IE, Dimensional (см. Урок №2).

 

Создание связей

 

Для создания связи необходимо:

1. Выбрать необходимый тип связи на палитре ERwin Toolbox.

2. Нажать на родительскую сущность или таблицу.

3. Нажать на дочернюю сущность.

Внимание! По умолчанию, программа ERwin присваивает новым связям названия R/1, R/2, R/3 и т.д. Но вы всегда можете переименовать связи. Названия связей, которые являются глагольными фразами, будут рассмотрены ниже.

 

 

Редактор связей (Relationship Editor)

 

Создав связь, вы можете двойным щелчком мыши по линии связи войти в редактор связей, для внесения изменений в данную связь. Вы можете редактировать многие из свойств связей, включая:

1. Изменение глагольных фраз родительской и дочерней сущности.

2. Определение связи.

3. Изменение функционального имени (Rolename) (функциональные имена полезны при нахождении отличий между перемещенными ключами, имеющими такие же названия, как и существующие атрибуты; при неиспользовании функциональных имен атрибуты унифицируются, и создается единственная колонка в текущей базе данных).

4. Изменение целостности данных (Referential Integrity) (опции целостности данных могут применяться для любой связи, они обеспечивают вставку, обновление или удаление информации в базе данных). Рассмотрим следующие виды целостности:

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

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

- Установка сброса (Set NULL) – при удалении, добавлении или обновлении информации в родительской сущности связанные с ней внешние ключевые атрибуты или колонки дочерней сущности аннулируются.

- Установка стандарта (Set default) – при удалении, добавлении или обновлении информации в родительской сущности связанные с ней внешние ключевые атрибуты или колонки дочерней сущности принимают стандартное значение.

- Отсутствующая (None) – нет целостности данных.

 

5. Тип связей (Cardinality) (представляет собой отношение числа объектов родительской сущности, связанных с объектами дочерней сущности, к числу этих объектов)

Вы можете менять тип отношений:

- 0, 1 или более

- 1 или более

- 0 или 1

- диапазон от n до m.

 

 

Редактор связей

 

Внимание! Для отображения некоторых свойств связей в окне диаграмм выберите нужный пункт из меню Format/Relationship Display. Подробнее это будет рассмотрено в следующем уроке.

 

Что такое глагольная фраза (Verb Phrase)?

 

Глагольная фраза описывает, как связаны сущности. В ERwin можно создавать два типа глагольных фраз:

· Глагольная фраза типа «От родительской сущности к дочерней» (Parent-to-Child) описывает, как родительская сущность связана с дочерней. На примере ниже глагольная фраза “rents” («оплачивает») описывает связь “A STORE rents A MOVIE” («ОТДЕЛ оплачивает КИНОФИЛЬМ»).

· Глагольная фраза типа «От дочерней сущности к родительской» (Child-to-parent) описывает, как связана дочерняя сущность с родительской. На примере ниже глагольная фраза “is rented from” («оплачивается») описывает связь “A MOVIE is rented from A STORE” («КИНОФИЛМ оплачивается ОТДЕЛОМ»).

Внимание! Вы можете создавать глагольные фразы прямо в окне диаграмм.

 

Что такое внешний ключевой атрибут (Foreign Key)?

При связывании сущностей программа ERwin перемещает первичные ключи (ключевые атрибуты) родительской сущности в дочернюю сущность. Указатель FK показывает, что используется внешний ключевой атрибут с таким же именем, как и перемещенный ключ.

Внимание! По умолчанию, в физической модели отображаются все внешние ключи. В логической же модели можно включать или выключать видимость внешних ключей с помощью опции Show Migrated Keys and FK Designator в меню Format/Entity Display.

 

 

 

Что такое унификация (Unification)?

 

Если внешний ключ (внешний ключевой атрибут) имеет такое же имя, как и атрибут дочерней сущности, то программа ERwin автоматически объединяет два атрибута, т.к. принимает его за один и тот же атрибут. Процесс комбинирования или объединения идентичных атрибутов называется унификацией (unification).

Унификация внешнего ключа

 

 

Использование функциональных имен (Rolenames)

 

Иногда унификация не желательна. Например, когда вы хотите сохранить несколько атрибутов сущности с одинаковыми названиями, но имеющих разное предназначение. В такой ситуации вы можете воспользоваться функциональным именем (Rolename), которое является побочным для внешнего ключа. В примере ниже атрибуты customer.id и product.id в сущности ORDER представляют внешние ключи, которым присвоены функциональные имена.

Неидентифицированный внешний ключ с функциональным именем

 

Связи в окне Model Explorer

 

Если вы предпочитаете работать в окне Model Explorer, вы можете также можете видеть родительские и дочерние связи для каждой сущности и таблицы в Model Explorer. А при двойном нажатии на любую из папок связи программа ERwin откроет редактор связей Relationship Editor.

Связи в окне Model Explorer

 

***




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-10-17 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: