Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД / БД / Базы данных Учебник Окончательный вариант!!!.doc
Скачиваний:
206
Добавлен:
22.05.2015
Размер:
1.77 Mб
Скачать

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

Иерархическая модель данных является наиболее простой среди всех даталогических моделей. Исторически она появилась первой среди всех даталогических

моделей. Типичным представителем иерархической модели данных является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 году. До сих пор поддерживается много баз данных, что создает существенные проблемы с переходом, как на новую технологию баз данных, так и на новую технику.

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

Иерархия проста и естественна в отображении взаимосвязи между классами объектов.

Основными информационными единицами в иерархической модели являются:

база данных (БД), сегмент и поле.

Поле данных – это минимальная, неделимая единица данных, доступная пользователю с помощью СУБД.

Сегмент (запись) данных – более высоки уровень абстракции, объединение полей данных.

Сегмент в терминологии Американской Ассоциации по базам данных DBTG (Data Base Task Group) называется записью, при этом в рамках иерархической модели определяются два понятия:тип сегмента илитип записи иэкземпляр сегмента илиэкземпляр записи.

Тип сегментаэто поименованная совокупность типов элементов данных (полей), которые его образуют.

Экземпляр сегмента образуется из конкретных значений полей или элементов данных, в него входящих. Каждый тип сегмента в рамках иерархической модели образует некоторый набор однородных записей. Для возможности различия отдельных записей в данном наборе каждый тип сегмента должен иметь ключ или набор ключевых атрибутов (полей, элементов данных).

Ключом называется набор элементов данных, однозначно идентифицирующих экземпляр сегмента.

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

Логически исходный сегмент - Тип сегмента, находящийся на более высоком уровне иерархии.

Логически подчиненный сегмент - данные соединенные направленными иерархическими ребрами с логически исходными сегментами .

Иногда исходные сегменты называют сегментами-предками, а подчиненные сегменты называют сегментами-потомками.

Пример иерархической связи между сегментами:

Схема иерархической БД представляет собой совокупность отдельных деревьев,

каждое дерево в рамках модели называется физической базой данных.

Каждая физическая БД удовлетворяет следующим иерархическим ограничениям:

- в каждой физической БД существует один корневой сегмент, то есть сегмент, у которого нет логически исходного (родительского) типа сегмента;

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

- каждый логически подчиненный сегмент может быть связан только с одним логически исходным (родительским) сегментом.

Очень важно понимать различие между сегментом и типом сегмента — оно такое же, как между типом переменной и самой переменной: сегмент является экземпляром типа сегмента.

Например, у нас может быть тип сегмента Группа (Номер, Староста) и сегменты этого типа, такие как (4305, Петров Ф. И.) или (383, Кустова Т. С.).

Пример структуры иерархического дерева:

Каждый тип сегмента может иметь множество соответствующих ему экземпляров. Между экземплярами сегментов также существуют иерархические связи.

Пример иерархии экземпляров дерева:

Пример иерархической модели данных:

Язык манипулирования данными в иерархических базах данных:

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

- шаблоны всех записей логических баз данных, доступных пользователю;

- указатели па текущий экземпляр сегмента данного типа — для всех типов сегментов.

Преимущества иерархической структуры данных:

- простота понимания и использования, быстрота доступа к данным;

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

Недостатки иерархической структуры данных:

- трудность реализации взаимосвязей «многие-ко-многим». При этом искусственно созданная структура иерархической модели становится громоздкой, может потребоваться хранение избыточных данных на физическом уровне;

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

- язык манипулирования данными в иерархической модели поддерживает в явном виде навигационные операции. Эти операции связаны с перемещением указателя, который определяет текущий экземпляр конкретного сегмента.

Соседние файлы в папке БД