Нормальные формы ER-схем
Как и в реляционных схемах БД, в ER-схемах вводится понятие нормальных форм. Заметим, что формулировки нормальных форм ER-схем делают более понятным смысл нормализации реляционных схем.
Приведем краткие и неформальные определения 3 первых нормальных форм:
· устраняются повторяющиеся атрибуты или группы атрибутов, т.е. производится выявление неявных сущностей, "замаскированных" под атрибуты.
· устраняются атрибуты, зависящие только от части уникального идентификатора. Эта часть уникального идентификатора определяет отдельную сущность.
· устраняются атрибуты, зависящие от атрибутов, не входящих в уникальный идентификатор. Эти атрибуты являются основой отдельной сущности.
К числу более сложных элементов модели относятся следующие:
· Подтипы и супертипы сущностей Как в языках программирования с развитыми типовыми системами (например, в языках объектно-ориентированного программирования), вводится возможность наследования типа сущности, исходя из одного или нескольких супертипов. Интересные нюансы связаны с необходимостью графического изображения этого механизма.
· Связи "many-to-many". Иногда бывает необходимо связывать сущности таким образом, что с обоих концов связи могут присутствовать несколько экземпляров сущности (например, все члены кооператива сообща владеют имуществом кооператива). Для этого вводится разновидность связи "многие – со - многими".
· Уточняемые степени связи. Иногда бывает полезно определить возможное количество экземпляров сущности, участвующих в данной связи (например, служащему разрешается участвовать не более, чем в трех проектах одновременно). Для выражения этого семантического ограничения разрешается указывать на конце связи ее максимальную или обязательную степень.
· Каскадные удаления экземпляров сущностей. Некоторые связи бывают настолько сильными (в случае связи "один – ко - многим"), что при удалении опорного экземпляра сущности (соответствующего концу связи "один") нужно удалить и все экземпляры сущности, соответствующие концу связи "многие". Соответствующее требование "каскадного удаления" можно сформулировать при определении сущности.
· Домены. Как и в случае реляционной модели данных, иногда полезна возможность определения потенциально допустимого множества значений атрибута сущности (домена).
·
|
Эти и другие более сложные элементы модели данных "Сущность - Связи" делают ее существенно более мощной, но одновременно несколько усложняют ее использование. При реальном использовании ER-диаграмм для проектирования БД необходимо ознакомиться со всеми возможностями.
Разберем один из упомянутых элементов - подтип сущности.
Сущность может быть разделена на два или более взаимно исключающих подтипа. Каждый из них включает общие атрибуты и/или связи. Эти общие атрибуты и/или связи явно определяются один раз на более высоком уровне. В подтипах могут определяться собственные атрибуты и/или связи. В принципе «подтипизация» может продолжаться на более низких уровнях, но опыт показывает, что в большинстве случаев оказывается достаточно двух-трех уровней.
Сущность, на основе которой определяются подтипы, называется супертипом. Подтипы должны образовывать полное множество, т.е. любой экземпляр супертипа должен относиться к некоторому подтипу. Иногда для полноты приходится определять дополнительный подтип ПРОЧИЕ.
Пример - Супертип ЛЕТАТЕЛЬНЫЙ АППАРАТ – приведён на рисунке 1.13.
Иногда удобно иметь два или более разных разбиения сущности на подтипы.
Например, сущность ЧЕЛОВЕК может быть разбита на подтипы по профессиональному признаку (ПРОГРАММИСТ, ДОЯРКА и т.д.), а может - по половому признаку (МУЖЧИНА, ЖЕНЩИНА).
Дата добавления: 2021-07-22; просмотров: 337;