Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕЩИНСКИЙ.docx
Скачиваний:
26
Добавлен:
21.12.2018
Размер:
471.39 Кб
Скачать

2.11. Типы моделей представления данных

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

2.11.1. Реляционная модель

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

ПОСТАВЩИК(Номер, Имя, Адрес).

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

Это означает, что ключевой атрибут одного из типов объекта добавляется в другой тип, где используется для отражения связей. Например, функциональная связь между отношениями

БОЛЬНИЦА(Код больницы, Название больницы, Адрес) и

ПАЛАТА(Код палаты, Тип, Код больницы)

выражена включением в схему отношения ПАЛАТА ключа Код больницы. В первом типе объекта этот атрибут необходим для описания больниц, а во втором типе этот же атрибут используется для отражения связей между палатами и больницами.

Обычно взаимно однозначные и функциональные связи представляются неявным образом в отношениях, соответствующих связанным типам объектов. Для этого используются ключи. Такой способ представления связей называется распространением ключа. Тип связи “многие–ко–многим” представляется отдельными отношениями.

2.11.2. Иерархическая модель

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

Рассмотрим иерархическую модель данных на примере базы медицинских данных. Определим следующие типы объектов: БОЛЬНИЦА, ЛАБОРАТОРИЯ, ПАЛАТА, ПЕРСОНАЛ, ПАЦИЕНТ, ВРАЧ. Тогда иерархическая модель может быть следующей.

Здесь корневым является узел БОЛЬНИЦА, остальные узлы – зависимые. Узлы ПЕРСОНАЛ и ПАЦИЕНТ – порождены узлом ПАЛАТА и находятся на втором уровне.

Иерархическая модель представляет собой граф в виде древовидной структуры. Узлы (вершины) сопоставляются типам объектов, а дуги – типам связи. Наивысший узел называется корнем или корневым узлом (например, руководитель предприятия). Корень в иерархической модели должен быть единственным, зависимые узлы располагаются на более низких уровнях иерархии. Уровень, на котором находится узел, определяется “расстоянием” от корневого узла, измеряемым количеством узлов высшей иерархии. Узел, находящийся на каком-либо уровне, называется исходным для связанных с ним узлов следующего уровня. Узлы называются порожденными (зависимыми) узлом, находящимся на предыдущем уровне, если они связаны с ним. Узлы, не имеющие порожденных, называются листьями.

Иерархическую модель можно схематично представить в виде перевернутого дерева: корень находится вверху, а ветви направлены вниз.

Каждый узел в этой модели связан только с одним узлом, находящимся на предыдущем уровне. И каждый узел может быть связан с одним или несколькими узлами, находящимися на более низком уровне.

Иерархическую модель можно схематично представить в виде перевернутого дерева: корень находится вверху, а ветви направлены вниз. Доступ к каждому узлу, за исключением корневого, происходит только через исходный узел. В связи с этим в такой модели пути доступа к каждому узлу являются уникальными. Поэтому иерархическая модель обеспечивает только линейные пути доступа. С помощью иерархической модели удобно представлять данные, связанные отношениями “класс–подкласс”, “общее–частное” и т.п.

Например,

Эту модель допустимо использовать в том случае, если типы объектов связаны связью “один–ко–многим” и “один-к-одному”. В этой модели можно реализовать связи “многие–ко–многим”, но это делается искусственно включением дополнительных узлов и приводит к тому, что структура БД становится громоздкой. Другим недостатком является то, что в ней затруднены операции удаления и включения узлов.

При описании интенсионала каждая вершина соответствует типу объекта, а дуга – типу связи. Экстенсионал каждой вершины может быть представлен реляционной таблицей или таблицей записей. Экстенсионал связи “исходный-порожденный” можно представить множеством соединений между экземплярами таблиц.