60
4. Цифрой помечается случай точного соответствия, когда одному экземпляру
родительской сущности соответствует заранее заданное число экземпляров
дочерней сущности.
По умолчанию символ, обозначающий мощность связи, не отображается на
диаграмме. Для его отображения нужно щелкнуть правой кнопкой мыши по
свободному месту диаграммы, не занятому объектами модели, и в контекстном
меню выбрать: Relationship Display => Cardinality.
На вкладке Definition диалога Relationships можно дать более полное
определение связи. На вкладке Rolename этого же диалога можно задать имя роли
и правила ссылочной целостности (рис. 6.10).
Имя роли (функциональное имя) - это синоним атрибута внешнего ключа,
который показывает, какую роль играет атрибут в дочерней сущности.
В примере, приведенном на рис. 6.11, в
сущности «Заказ» внешний ключ «Код заказчика»
имеет функциональное имя “Кто заказывает”,
которое показывает, какую роль играет этот
атрибут в сущности. По умолчанию в списке
атрибутов показывается только имя роли. Для
отображения полного имени атрибута (как
функционального имени, так и имени роли) необходимо щелкнуть правой
кнопкой мыши по любому месту диаграммы, не занятому объектами модели, и
в открывшемся контекстном меню выбрать Entity Display => Rolename/Attribute.
Обязательным является
применение имен ролей, когда два
или более атрибута одной
сущности определены по одной и
той же области (то есть они
имеют одинаковую область
значений, но разный смысл).
На рис. 6.12 сущность «Продажа товара» содержит информацию об
обращении товара, в котором участвуют два товара – купленный и проданный.
Следовательно, сущности «Продажа товара» и «Товар» должны быть связаны
дважды и первичный ключ «Код товара» должен дважды мигрировать в сущность
«Продажа товара» в качестве внешнего ключа. Необходимо различать эти
Рис. 6.11. Пример
сущности с атрибутами
Рис. 6.12. Случай обязательности имен