Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
иерархическая модель.docx
Скачиваний:
6
Добавлен:
12.09.2019
Размер:
37.31 Кб
Скачать

Управляющая часть иерархической модели

В рамках иерархической модели выделяют языковые средства описания данных (ЯОД) и средства манипулирования данными (ЯМД). Каждая физическая база описывается набором операторов, обусловливающих как ее логическую структуру, так и структуру хранения БД. При этом способ доступа устанавливает способ организации взаимосвязи физических записей.

Определены следующие способы доступа:

  • иерархически последовательный;

  • иерархически индексно-последовательный;

  • иерархически прямой;

  • иерархически индексно-прямой;

  • индексный.

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

Среди операторов манипулирования данными можно выделить операторы поиска данных, операторы поиска данных с возможностью модификации, операторы модификации данных. Набор операций манипулирования данными в иерархической БД невелик, но вполне достаточен.

Примеры типичных операторов поиска данных

  • найти указанное дерево БД;

  • перейти от одного дерева к другому;

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

  • перейти от одного сегмента к другому внутри дерева;

  • перейти от одного сегмента к другому в порядке обхода иерархии.

Примеры типичных операторов поиска данных с возможностью модификации:

  • найти и удержать для дальнейшей модификации единственный экземпляр сегмента, удовлетворяющий условию поиска;

  • найти и удержать для дальнейшей модификации следующий экземпляр сегмента с теми же условиями поиска;

  • найти и удержать для дальнейшей модификации следующий экземпляр для того же родителя.

Примеры типичных операторов модификации иерархически организованных данных, которые выполняются после выполнения одного из операторов второй группы (поиска данных с возможностью модификации):

  • вставить новый экземпляр сегмента в указанную позицию;

  • обновить текущий экземпляр сегмента;

  • удалить текущий экземпляр сегмента.

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

Известные иерархические субд

  • Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г.

  • Time-Shared Date Management System (TDMS) компании Development Corporation;

  • Mark IV Multi - Access Retrieval System компании Control Data Corporation;

  • System 2000 разработки SAS-Institute;

  • Серверы каталогов, такие, как LDAP и Active Directory (допускают чёткое представление в виде дерева)

  • По принципу иерархической БД построены иерархические файловые системы и Реестр Windows.

  • InterSystems Caché

  • Google App Engine Datastore API

Иерархическая модель данных

2.1 Понятие и структура иерархической модели

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

А Уровень 1

В1 В2 В3 В4 Уровень 2

С1 С2 С3 С4 С5 С6 С7 С8 Уровень 3

Рисунок 2.1 -Иерархическая структура

К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.

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

Для записи базы данных существует только 1 иерархический путь от корневой записи. Например, как видно на рисунке 2.1 для записи С4 путь проходит через записи А и В3.

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

Институт (специальность, название, ректор)

Группа (номер, староста)

Студент (номер зачётной книжки, фамилия, имя, отчество)

Рисунок 2.2 - Пример иерархической структуры бах данных

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

Рассмотрим следующую модель данных предприятия (см. рис. 2.3): предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.

Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. (а) (Для простоты полагается, что имеются только две дочерние записи).

Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры : заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом. Это дерево будет включать записи ЗАКАЗЧИК(НАИМЕНОВАНИЕ_ЗАКАЗЧИКА, АДРЕС), КОНТРАКТ(НОМЕР, ДАТА,СУММА), ИСПОЛНИТЕЛЬ (ФАМИЛИЯ, ДОЛЖНОСТЬ, НАИМЕНОВАНИЕ_ОТДЕЛА) (рис. (b)).

Рисунок 2.3 - Пример иерархической структуры бах данных

Из этого примера видны недостатки иерархических БД:

Частично дублируется информация между записями СОТРУДНИК и ИСПОЛНИТЕЛЬ (такие записи называют парными), причем в иерархической модели данных не предусмотрена поддержка соответствия между парными записями.

Иерархическая модель реализует отношение между исходной и дочерней записью по схеме 1:N, то есть одной родительской записи может соответствовать любое число дочерних. Допустим теперь, что исполнитель может принимать участие более чем в одном контракте (т.е. возникает связь типа M:N). В этом случае в базу данных необходимо ввести еще одно групповое отношение, в котором ИСПОЛНИТЕЛЬ будет являться исходной записью, а КОНТРАКТ - дочерней (рис. (c)). Таким образом, мы опять вынуждены дублировать информацию.