Если при миграции первичных ключей некоего
родительского класса сущностей в один и тот же дочерний класс попадают
совпадающие по смыслу атрибуты из разных родительских классов, то эти
атрибуты необходимо «слить», т. е. необходимо провести так называемую унификацию атрибутов.
Например, в случае, когда сотрудник может работать в
организации, числясь не более чем в одном отделе, после унификации
атрибута «Код организации» получим следующую ключевую диаграмму: При
миграции первичный ключ из родительских классов сущностей «Организация»
и «Отделы» в дочерний класс «Сотрудники», атрибут «Код организации»
попадает в класс сущностей «Сотрудники». Причем дважды:
1) первый раз с маркером PFK из класса сущностей «Организация» при установлении не полностью идентифицирующей связи;
2) и второй раз, с маркером FK с условием допустимости
Null-значений из класса сущностей «Отделы» при установлении не
обязательно не идентифицирующей связи.
При унификации атрибут «Код организации» получает статус
атрибута первичного / внешнего ключа, поглощающего статус атрибута
внешнего ключа.
Построим новую ключевую диаграмму, демонстрирующую сам процесс унификации: Таким образом и произошла унификация атрибутов.
|