- •Новосибирский государственный университет экономики и управления
- •«Проектирование информационных систем» Раздел «Моделирование и проектирование данных»
- •Новосибирск 2009
- •1. Концепции er-модели
- •Примеры сущностей с физическим и концептуальным существованием
- •Способы представления сущностей на диаграмме
- •Представление атрибутов на диаграммах
- •1.3. Типы связей
- •Представление связей на диаграммах
- •1.4. Атрибуты связей
- •Date_View и Comments
- •2. Структурные ограничения
- •2.1. Показатель кардинальности
- •Связи «один к одному»
- •Связь „один ко многим"
- •Связи "многие ко многим"
- •2.2. Степень участия
- •3. Проблемы er-моделирования
- •3.1. Ловушки разветвления
- •3.2. Ловушки разрыва
- •4. Eer-модель
- •4.1. Суперклассы и подклассы типов сущностей
- •4.2. Наследование атрибутов
- •4.3. Специализация
- •4.4. Генерализация
- •4.5. Ограничения, накладываемые на процедуры специализации и генерализации
- •4.6. Категоризация
4.4. Генерализация
Генерализация:процесс сведения различий между сущностями к минимуму путем выделения их общих характеристик.
Генерализация представляет собой восходящий подход, который позволяет создать обобщенный суперкласс на основе различных исходных подклассов. Процесс генерализации можно рассматривать как противоположный процессу специализации. Давайте, рассмотрим модель, в которой Manager, Secretary и Sales Personnel представлены как отдельные типы сущностей. Применение метода генерализации к этим сущностям заключается в поиске любых сходств между ними, т.е. выделении их общих атрибутов и связей. Как упоминалось выше, эти сущности совместно используют атрибуты, общие для всех сотрудников компании. Поэтому сущности Manager, Secretary и Sales_Personnel можно рассматривать как подклассы обобщенного суперкласса Staff, что и показано на рис. 4.1.
4.5. Ограничения, накладываемые на процедуры специализации и генерализации
В этом разделе мы рассмотрим ограничения, которые могут быть наложены на процедуры специализации и генерализации. Здесь мы обсудим возможные ограничения только в отношении специализации, однако эти же соображения в равной степени применимы и к процедуре генерализации.
Первое ограничение называется ограничением непересечеиия (disjoint constraint). Оно гласит, что если подклассы некоторой специализации не пересекаются, то каждая отдельная сущность может быть членом только одного из подклассов данной специализации. Для представления непересекающейся (disjoint) специализации используется символ "d", который располагается в центре кружка, соединяющего подклассы данного суперкласса. Например, показанные на рис. 4.2 подклассы видов принятых соглашений о найме (Full Time_Pernianent и Part_Time_Teniporary) являются непересекающимися. Этот значит, что сотрудник может установить с компанией либо соглашение о полной постоянной занятости, либо соглашение о частичной временной занятости.
Если подклассы специализации пересекаются, в таком случае сущность может быть членом сразу нескольких подклассов специализации. Для представления пересекающейся (nondisjoint) специализации используется символ "о", который располагается в центре кружка, соединяющего подклассы данного суперкласса. Например, показанные на рис. 4.2 подклассы специализации служебных ролей (Manager, Secretary, Sales_Personnel) являются пересекающимися. В данном примере это значит, что сотрудник может быть одновременно и менеджером (т.е. членом подкласса Manager), и торговым агентом (т.е. членом подкласса Sales Personnel),
Второе ограничение специализации называется ограничением участия (participation constraint), оно может быть полным или частичным. Специализация с полным участием означает, что каждая сущность суперкласса должна быть членом подкласса этой специализации. Для обозначения полного участия между суперклассом и кружком специализации проводят двойную линию. Например, на рис. 4.2 специализация типов соглашений о найме характеризуется полным участием, при котором каждый сотрудник компании должен установить с ней соглашение о полной постоянной или частичной временной занятости.
Специализация с частичным участием означает, что сущность не обязательно должна быть членом любого подкласса этой специализации. Для обозначения частичного участия между суперклассом и кружком специализации проводят одинарную линию. Например, на рис. 4.2 специализация служебных ролей характеризуется частичным участием, при котором сотрудник не обязательно должен выполнять одну из дополнительных служебных ролей — менеджера (т.е. быть членом подкласса Manager), секретаря (т.е. быть членом подкласса Secretary) или торгового агента (т.е. быть членом подкласса Sales Personnel).
Ограничения пересечения и участия для специализации и генерализации отличаются. Их принято делить на следующие четыре категории: непересекающиеся полные, непересекающиеся частичные, пересекающиеся полные и пересекающиеся частичные. Если теперь вернуться к рис. 1.1, то станут ясными и понятными все концепции, показанные на этой EER-диаграмме.