Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

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

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

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

  • Атрибут (или поле)– минимальный элемент данных. Атрибут имеет уникальное имя, по которому к нему можно обратиться из программного кода.
  • Запись – логически связанная совокупность атрибутов. Запись имеет уникальное имя, которое позволяет обращаться к ней из программного кода. Записи можно добавлять, изменять, удалять.
  • Экземпляр записи – конкретная запись с конкретными значениями атрибутов.
  • Групповое отношение - иерархическое отношение между записями двух разных типов. Запись, которая, находится выше по иерархии, называется родительской. Записи, которые, расположены ниже по иерархии называются дочерними.

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

Пример 1

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

  • Спортсмен (код спортсмена, разряд, ФИО);
  • Тренер (код тренера, разряд, ФИО);
  • Соревнование (код соревнования, дата, название).

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

Иерархические базы данных. Автор24 — интернет-биржа студенческих работ

«Иерархические базы данных» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

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

Над данными в иерархической модели возможны следующие операции:

  • Добавление в базу новой записи.
  • Изменение значений атрибутов (кроме ключевых) отдельной записи.
  • Удаление записи со всеми дочерними записями.
  • Извлечение записи.
Замечание 1

Все операции применяются к одной записи, которая предварительно извлечена из базы данных. Этот подход к управлению данными называется навигационным. Между родительскими и дочерними записями поддерживается целостность связей. Целостность связей означает, что никакая дочерняя запись не может существовать без родительской. Если какая-то запись удаляется, то вместе с ней удаляются все ее дочерние записи.

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

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

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

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

Замечание 2

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

Все данные о состоянии операционной системы Windows на конкретном компьютере тоже хранятся в иерархической базе данных, называемой реестром. Реестр можно просматривать и редактировать. Для этого нужно в меню «Пуск» найти пункт «выполнить» и в появившемся окне ввести название программы regedit. В результате откроется иерархическое дерево реестра.

Иерархические базы данных. Автор24 — интернет-биржа студенческих работ

Дата написания статьи: 01.06.2017
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot