Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка 1. Внешние модели данных.doc
Скачиваний:
7
Добавлен:
16.08.2019
Размер:
724.48 Кб
Скачать

1.4. Построение иерархических моделей

Модель «сложная таблица» является достаточно гибкой и позволяет несколькими способами отражать многие осо­бенности моделируемых процессов и явлений. Обсудим во­просы, возникающие при практическом построении моде­лей этого типа, такие как ориентация модели, выбор клю­чевых атрибутов, выбор между необязательными и множе­ственными атрибутами, обобщение атрибутов.

Ориентация модели

Вопрос о ориентации — первый вопрос, на который дол­жен ответить разработчик исходной модели: на что ориен­тирован, что отражает каждый экземпляр сущности моде­ли. Одни и те же данные могут быть по-разному представ­лены в модели в зависимости от ответа на этот вопрос.

Ориентация на факты существования объектов пред­метной области характерна для всех рассмотренных выше примеров моделей. Моделируемые предметные области со­держат множества объектов того или иного класса: студен­тов, сотрудников, патентов и т. д. В соответствии с этим каждый экземпляр сущности модели соответствует неко­торому объекту: студенту, сотруднику, патенту и т. д. Вза­имодействие объектов с другими объектами моделируется на нижестоящем уровне иерархии с помощью многознач­ных агрегатов, отражающих предметы, сдаваемые студен­тами, подразделения, в которых работают сотрудники, со­авторы патентов и т. д.

Ориентация на факты взаимодействия объектов пред­метной области — другой подход к построению модели. В этом случае каждый экземпляр сущности модели отра­жает пару (или больше) объектов предметной области и со­ответствует их взаимодействию между собой.

При таком подходе на одном уровне иерархии могут рас­полагаться атрибуты взаимодействующих объектов, а так­же атрибуты самого взаимодействия, относящиеся к паре (или больше) объектов целиком.

Пример. На рис. 1.14 иллюстрируются варианты ориентации для моделей, отражающих успеваемость различных студентов по различ­ным предметам. Два варианта модели, ориентированные на факты су­ществования (студентов и предметов соответственно) и содержащие одни и те же данные, приведены на рис. 1.14, а и б. Взаимодей­ствие объектов (студентов с предметами и, наоборот, предметов со сту­дентами) отражено с помощью вложенных многозначных агрегатов). На рис. 1.14, в те же данные представлены в манере, ориентированной на факты взаимодействия. Каждый экземпляр сущности отражает сда­чу некоторым студентом некоторого предмета. Здесь нет многозначных агрегатов, атрибуты сгруппированы в три однозначных агрегата, со­ответствующие студенту, предмету, а также результату их взаимодей­ствия.

Бинарное взаимодействие — это взаимодействие двух объектов; именно такое взаимодействие отражается в рас­смотренных примерах. Возможны взаимодействия более высокого порядка, охватывающие три (триарное), четыре (тернарное) и большее количество объектов (n-арное)

Пример. На рис. 1.15 приведена модель, отра­жающая факты работы отдельных сотрудников на отдельных должностях в отдельных подраз­делениях в течение некоторого времени. Модель отражает взаимодействие трех классов объектов: «Сотрудник», «Подразделение» и «Должность». Сотрудники в процессе работы могут переходить из одного подразделения в другое и там работать на разных должностях. Атрибут «стаж» (прора­ботанное время) не может относиться ни к одному из этих объектов в отдельности, поскольку:

  • конкретный сотрудник в течение трудовой деятельности мог работать на нескольких долж­ностях в нескольких подразделениях,

  • в конкретном подразделении работало несколько сотрудников на соответствующих должностях,

  • на конкретной должности (скажем, инжене­ра), вообще говоря, могли работать несколько сотрудников в несколь­ких подразделениях. Аналогичным образом эти атрибуты не могут от­носиться ни к одной паре этих объектов, поскольку:

  • конкретный сотрудник в конкретном подразделении мог последо­вательно работать на нескольких должностях,

  • в конкретном подразделении на конкретной должности работают, вообще говоря, несколько сотрудников,

  • конкретный сотрудник на конкретной должности мог, вообще го­воря, последовательно работать в нескольких подразделениях. Следо­вательно, атрибут «стаж» — это атрибут тройки объектов: стаж работы конкретного сотрудника на конкретной должности в конкретном под­разделении.

Использование той или иной ориентации — это не во­прос выбора разработчика, скажем, из соображений удоб­ства, а вопрос выяснения реальных потребностей поль­зователя. Разработчик должен выяснить, какая ориента­ция необходима пользователю при выполнении данной автоматизированной функции, и именно ее использовать в модели.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]