![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Зависимая сущность может иметь один и тот же внешний ключ из нескольких родительских сущностей.
Сущность может также получить один и тот же внешний ключ несколько раз от одного и того же родителя через несколько разных связей. Когда ERwin DM обнаруживает одно из этих событий, он распознает, что два атрибута одинаковы, и помещает атрибут внешнего ключа в зависимую сущность только один раз. Хотя в закладке Key Group диалога Attribute этот атрибут будет входить в два внешних ключа, на диаграмме он показывается только один раз. Это комбинирование или объединение идентичных атрибутов называется унификацией. Унификация производится, поскольку правила нормализации запрещают существование в одной сущности двух атрибутов с одинаковыми именами. Сотрудники работают в отделах, каждый сотрудник ведет несколько проектов. Сущность «Отдел» связана идентифицирующей связью с сущностями «Сотрудник» и «Проект», ее первичный ключ «Номер отдела» мигрирует в состав первичного ключа дочерних сущностей в качестве внешнего ключа. Но сущность «Сотрудник», в свою очередь, тоже имеет идентифицирующую связь с сущностью «Проект» и атрибуты ее первичного ключа (в том числе «Номер отдела» - второй раз) мигрируют в состав первичного ключа сущности «Проект». По смыслу это одно и то же значение номера отдела, поскольку в отделе реализуют проекты, которые ведут сотрудники того же отдела. ERwin унифицирует атрибуты и отображает на диаграмме только один атрибут «Номер отдела».
Однако, есть случаи, когда унификация нежелательна. Например, когда два атрибута имеют одинаковые имена, но на самом деле они отличаются по смыслу и необходимо, чтобы это отличие отражалось в диаграмме. В этом случае необходимо использовать имена ролей атрибутов внешнего ключа. В некоторых случаях бывает целесообразно иметь в дочерней сущности ссылку не на первичный, а на альтернативный ключ. ERwin DM позволяет создавать связи, при которых в дочернюю сущность мигрируют атрибуты одного из альтернативных ключей (рисунок).
Пример миграции атрибутов альтернативного ключа
В дочерней сущности внешний ключ содержит атрибуты альтернативного ключа родительской сущности.
Домены
|