YourLib.net
Твоя библиотека
Главная arrow Базы данных. Проектирование и создание (С.М. Диго) arrow 2.2.8. Сложные объекты
2.2.8. Сложные объекты

2.2.8. Сложные объекты

   Различают три разновидности сложных объектов: обобщенные, агрегированные и составные.
   Обобщенный объект представляет собой объект, в котором явным образом выделены подклассы. Разбиение класса на подклассы осуществляется по определённому признаку (свойству). Свойство, по которому производится разбиение класса на подклассы, называется дискриминатором. Например, подклассы ВОЕННООБЯЗАННЫЕ и НЕВОЕННООБЯЗАННЫЕ выделяются в зависимости от значения свойства «отношение к воинской обязанности»; подклассы ДОВУЗ, СТУДЕНТЫ, АСПИРАНТЫ, ДОКТОРАНТЫ, выделяются в зависимости от значения свойства «вид обучения».
   Для обозначения подкласса в схеме будем использовать треугольник, который связан с обозначением свойства, по которому производится разбиение на подклассы, и к которому присоединены обозначения свойств, присущих данному подклассу. Широкая часть треугольника направлена в сторону «родового» объекта, острый угол - в сторону «видового» (рис. 2.19а).

Рис. 2.19. Изображение обобщенного объекта: а) условные обозначения 

а) условные обозначения

Рис. 2.19. Изображение обобщенного объекта: б) пример 

Рис. 2.19. Изображение обобщенного объекта

   На рис. 2.19б изображен фрагмент инфологической модели, отражающий обобщенный объект ЛИЧНОСТЬ для высшего учебного заведения. Для него выделено несколько категорий объектов: ПРЕПОДАВАТЕЛЬ, СТУДЕНТ, АСПИРАНТ.
   Естественно, что классификация может быть многоуровневой. Так, в рассматриваемом примере обобщенный объект ЛИЧНОСТЬ может быть разбит на два подкласса: СОТРУДНИК и УЧАЩИЙСЯ. СОТРУДНИКИ, в свою очередь, могут быть классифицированы на ПРОФЕССОРСКО-ПРЕПОДАВАТЕЛЬСКИЙ СОСТАВ, АДМИНИСТРАЦИЯ и т.д.
   Подклассы в совокупности могут составлять исходный класс (полный класс), а могут представлять лишь её часть (неполный класс). Если при описании предметной области возникает необходимость отобразить эту информацию, то для полного класса будемиспользовать двойную линию, перечеркивающую линию, идущую от дискриминатора; если класс неполный - одинарную линию, перечеркивающую линию, идущую от дискриминатора.
   Подкласс, как и класс, является совокупностью однотипных объектов. Отображать ту или иную сущность в виде отдельного класса или подкласса в составе обобщенного объекта зависит от проектировщика. Изображение в виде обобщенного объекта является более информативным и, как следствие, дает больший выбор при принятии решений на стадии построения даталогической модели.
   При использовании обобщенного объекта связи между объектами могут идти как к знаку всего обобщенного объекта, если объекты всех подклассов участвуют в данной связи, так и к знаку отдельного подкласса, если связь относится только к данному подклассу.
   Обобщенный объект следует вводить в модель в том случае, когда надо подчеркнуть общность и различие категорий объектов, входящих в один класс, или в случае если объекты разных подклассов участвуют в разных связях.
   Агрегированные объекты соответствуют обычно какому-либо процессу, в который оказываются «вовлеченными» другие объекты. Для отображения агрегированного объекта в ER-модели будем использовать следующие условные обозначения: сам агрегированный объект будем изображать ромбом, рядом с которым указывается имя соответствующего агрегированного объекта. Этот ромб связывается линиями с условными обозначениями тех объектов, которые участвуют в изображаемом процессе. Свойства агрегированного объекта изображаются так же, как и для простого объекта (рис. 2.20а).

Рис. 2.20. Изображение агрегированного объекта 

Рис. 2.20. Изображение агрегированного объекта

   В качестве примера агрегированного объекта из рассматриваемой предметной области «Учебный процесс» изобразим СДАЧУ ЭКЗАМЕНА (рис. 2.20б).
   Составной объект отражает связь типа «целое - часть». Для отображения составных объектов в ER-модели обычно не используются специальные условные обозначения. Связь между составным объектом и составляющими его объектами отображается так же, как это было описано выше для простых объектов. Например, ГРУППА состоит из СТУДЕНТОВ, и это будет отображено просто как связь 1:М между этими объектами.

 
< Пред.   След. >