Пример иерархического способа базы данных

Пример иерархического способа базы данных

При графическом изображении групповые отношения изображают дугами ориентированного графа, а типы записей — вершинами (диаграмма Бахмана).

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

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

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

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

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

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

3.1.2. Операции над данными, определенные в иерархической модели:


  • ДОБАВИТЬ в базу данных новую запись. Для корневой записи обязательно формирование значения ключа.
  • ИЗМЕНИТЬ значение данных предварительно извлеченной записи. Ключевые данные не должны подвергаться изменениям.
  • УДАЛИТЬ некоторую запись и все подчиненные ей записи.
  • ИЗВЛЕЧЬ :
    • извлечь корневую запись по ключевому значению, допускается также последовательный просмотр корневых записей
    • извлечь следующую запись (следующая запись извлекается в порядке левостороннего обхода дерева)

    В операции ИЗВЛЕЧЬ допускается задание условий выборки (например, извлечь сотрудников с окладом более 1 тысячи руб.)

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

3.1.3. Ограничения целостности.

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

Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. -М.:»Финансы и статистика»,1989.

Источник

Иерархическая база данных

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

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

Содержание

Примеры

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

В этой модели запрос, направленный вниз по иерархии, прост (например: какие заказы принадлежат этому покупателю); однако запрос, направленный вверх по иерархии, более сложен (например, какой покупатель поместил этот заказ). Также, трудно представить не-иерархические данные при использовании этой модели.

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

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

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

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

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

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

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

Преобразование концептуальной модели в иерархическую модель данных

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

Иерархическая модель базы данных — что это такое в информатике

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

Преимуществами модели являются:

  • простота концепции;
  • независимость данных;
  • целостность данных;
  • безопасность базы;
  • облегченный доступ к информации.

Среди несовершенств выделяют:

Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.

  • недостаток структурной зависимости;
  • сложность управления СУБД;
  • сложность реализации СУБД;
  • ограничение стандартизации.

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

Основные понятия, принцип построения

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

Если из двух объектов один расположен ближе к корню, его называют предком. Если дальше — потомком. Потомок всегда имеет только одного предка. А у предка может быть несколько потомков. При этом потомки одного уровня, имеющие единого предка, именуются близнецами или братьями.

Структурная часть

Основными элементами, информационными единицами выступают:

  • поле — наименьшая из доступных пользователю неделимая единица;
  • сегмент, для которого определяют экземпляр и тип.

Экземпляр — это образование из определенных значений полей данных. Тип — поименованная совокупность составляющих сегмент типов полей.

Иерархическая модель основана на графовой форме построения: вершине графа соответствует сегмент или тип сегмента, дугам — связи «предок-потомок». Модель представляет собой связный неориентированный граф объединяющей сегменты древовидной структуры. База данных состоит из строго упорядоченного набора деревьев.

Управляющая часть

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

  • индексным;
  • индексно-прямым;
  • прямым;
  • последовательным;
  • индексно-последовательным.

Описание должно содержать имя БД, способ доступа, уточнение типа сегмента в соответствии с иерархией.

Каждая база имеет один корневой сегмент. А система может включать несколько физических баз.

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

Характерные особенности, какие операции можно производить

В качестве примера операций по поиску данных можно привести такие задачи, как:

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

Типичные операторы модификации:

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

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

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

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

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

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

Самым простым практическим применением структуры является традиционная файловая система ОС Windows. Зайдя в знакомый всем Проводник, мы попадаем в корень и видим крупные структурные единицы: «Этот компьютер», «Сеть» и другие. Продвигаясь в направлении от корня и выбирая одну из единиц, мы переходим к папкам, затем к файлам и находим нужную информацию.

Широко известными иерархическими базами данных считаются:

  • Mark IV MultiAccess Retrieval System;
  • InterSystems Caché;
  • IMS.

К этой же категории принадлежит System 2000 от американской частной компании SAS Institute.

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

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

Источник

Читайте также:  Филиация это способ изменения гражданства способ приобретения гражданства способ утраты гражданства
Оцените статью
Разные способы