Имя - роль - Большая Энциклопедия Нефти и Газа, статья, страница 1
Человек гораздо умнее, чем ему это надо для счастья. Законы Мерфи (еще...)

Имя - роль

Cтраница 1


1 Вкладка Rolename диалога Relationships.| Имена ролей внешних ключей. [1]

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

3 Случай обязательности имен ролей. [3]

Другим примером обязательности присвоения имен ролей являются рекурсивные связи ( иногда их называют рыболовным крючком - fish hook), когда одна и та же сущность является и родительской и дочерней одновременно. При задании рекурсивной связи атрибут должен мигрировать в качестве внешнего ключа в состав неключевых атрибутов той же сущности. Атрибут не может появиться дважды в одной сущности под одним именем, поэтому обязательно должен получить имя роли. На рис. 2.2.20 сущность Сотрудник содержит атрибут первичного ключа Табельный номер. Информация о руководителе сотрудника содержится в той же сущности, поскольку руководитель работает в той же организации. Заметим, что рекурсивная связь может быть только неидентифицирующей. В противном случае внешний ключ должен был бы войти в состав первичного ключа и получить при генерации схемы признак NOT NULL. Это сделало бы невозможным построение иерархии - у дерева подчиненности должен быть корень - сотрудник, который никому не подчиняется в рамках данной организации.  [4]

5 Подчиненность экземпляров сущности в иерархической и сетевой рекурсии.| Пример реализации сетевой рекурсии. [5]

Если атрибут мигрирует в качестве внешнего ключа более чем на один уровень, то на первом уровне отображается полное имя внешнего ключа ( имя роли базовое имя атрибута), на втором и более - только имя роли.  [6]

На уровне физической модели сущности соответствует таблица в реальной СУБД, атрибуту - колонка таблицы, связи - внешний ключ ( если для связи задавалось имя роли, то оно соответствует имени колонки, внешнего ключа в дочерней таблице), первичным и альтернативным ключам - уникальные индексы, а инверсным входам - неуникальные.  [7]

8 Логическая модель с атрибутами. [8]

Напомним, что на уровне физической модели сущности соответствует таблица в реальной СУБД, атрибуту - колонка таблицы, связи - внешний ключ ( если для связи задавалось имя роли, то оно соответствует имени колонки внешнего ключа в дочерней таблице), первичным и альтернативным ключам - уникальные индексы, а инверсным входам - неуникальные.  [9]

Если атрибут мигрирует в качестве внешнего ключа более чем на один уровень, то на первом уровне отображается полное имя внешнего ключа ( имя роли базовое имя атрибута), на втором и более - только имя роли.  [10]

Кроме описанных выше средств схема пути позволяет определять рекурсивные запросы с помощью так называемых возвратных дуг. Такая дуга соединяет два имени ролей с пересекающимися доменами. Она помечается символом R с последующим числом п либо символом N. Число п указывает, что необходимо сделать п шагов рекурсии, а символ N означает, что необходимо проделать все возможные шаги рекурсии. Вычисление рекурсий может происходить по следующей схеме.  [11]

12 Сущность Сотрудник с отображением ключей. [12]

Атрибут внешнего ключа Где работает. Номер отдела ( Где работает - имя роли) является атрибутом первичного ключа ( РК) в сущности Отдел.  [13]

14 Вкладка Rolename диалога Relationships.| Имена ролей внешних ключей. [14]

В примере, приведенном на рис. 2.2.20, в сущности Сотрудник внешний ключ Номер отдела имеет функциональное имя Где работает, которое показывает, какую роль играет этот атрибут в сущности. По умолчанию в списке атрибутов показывается только имя роли. Для отображения полного имени атрибута ( как функционального имени, так и имени роли) следует в контекстном меню, которое появляется, если щелкнуть правой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Entitiy Display и затем включить опцию Rolename / Attribute.  [15]



Страницы:      1    2