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

Введение

Свойства иерархической модели:

Недостатки иерархической модели

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

Заключение

Введение

Информация неиссякаемый проток данных, который можно получить отовсюду, от предмета, человека, дерева, места. Со временем она скапливается в огромном количестве и поиск определённых данных становится трудным. В этом случае требуется их рассортировать и упорядочить их, например, занести в таблицу. Но и в этом случае таблиц можем накопиться огромное количество. В информационной среде для решения этой проблемы есть теория представления и обработки информации в СУБД, то есть модель данных. Эта модель разбивает данные (объекты) на разные уровни, между которыми устанавливается связь (дуги), и образует древовидную (иерархическую) структуру. Такая модель представления данных называется иерархическая модель данных.

Структура составляется следующим образом. Каждый объект связан с одним предыдущим объектом более высокого уровня, такой объект называется «Родительским». Когда у объекта образуется связь с несколькими элементами более низкого уровня, то он тоже становится для них родительским. А объекты, не имеющие дуг с подчинёнными (элементы более низкого уровня), называются «Терминалами». Тот элемент, стоящий во главе всех последующих элементов более низкого уровня, называется «Корнем». В представлении базы данных, такая структура представляется в виде одной главной таблицы, а все остальные являются ветвями, исходящими из корня. На рисунке 1 иерархическая модель данных представлена графически.

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

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

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

Свойства иерархической модели:

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

  • Иерархическая модель;
  • Сетевая модель;
  • Реляционная модель.

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

Рисунок 2 – Сетевая модель базы данных

Модель, которая описывает структуру, допускаемые операции и специальные правила, сохраняющие сохранность данных, называется реляционной моделью. Базы данных, построенные по этой модели, называются реляционными базами данных и имеют вид таблицы, составленный из набора столбцов, а объекты записаны в виде строк (записи), поля которых могут иметь разный тип. При помощи системы управления базами данных (СУБД), создаются и производятся манипуляции над реляционными базами данных. На рисунке 3 показано представление иерархических данных в виде реляционных таблиц.

Рисунок 3 — Реляционные таблицы

Выше было уже сказано, что иерархическая модель данных – это модель данных, разбивающая данные (объекты) на разные уровни, между которыми устанавливается связь (дуги), и образует древовидную (иерархическую) структуру. Она характеризуется параметрами узлы, уровни и связи. Структура работы данной модели следующая, несколько элементов (узлов) подчинённых соединены при помощи связи с одним объектом более высокого уровня. На рисунке 4 проиллюстрирована иерархическая база данных.

Рисунок 4 – Иерархическая база данных

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

  • Подчинённые элементы могут иметь связь только с одним родительским элементом более высокого уровня;
  • Иерархическая структура имеет только один «Корень», независящий ни от какого другого элемента;
  • Каждый узел имеет свой идентификатор (имя);
  • Каждый элемент имеет индивидуальный путь от корня к другим элементам с закрытыми данными.

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

  • Результативное использование памяти компьютера;
  • Удобство поиска информации благодаря имеющимся связям между структурами таблиц;
  • Высокая скорость выполнения операций над данными;
  • Простота работы над небольшим объёмом данных.

Но так же у иерархической модели базы данных существуют и недостатки.

Недостатки иерархической модели.

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

  • Асимметрия (громоздкость) модели затрудняет работу с пользователем из-за сложных логических связей;
  • Большая затрата времени и сил пользователем на понимании ее работы;
  • Затруднение взаимодействия с данными со сложными связями;
  • Доступ к данным осуществляется только по индивидуальному пути к данным.

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

Пользователь создал несколько таблицы: «Исполнители», «Агенты», «График», «Обязательства», «Клиенты». Ему потребовалось добавить информацию в таблицу «Исполнители», так как появился новый актёр, но он не может этого сделать, пока артист не будет назначен определенному агенту в таблице «Агенты», так как запись в дочерней таблице (Исполнители) должна быть связана с записью в родительской таблице (Агенты). Вот и возникновение проблемы избыточности данных. Так же эта проблема возникнет если, например:

  • Между клиентами и артистами будет отношения «многие-ко-многим»;
  • Артист будет выступать для многих клиентов, а клиент наймет много артистов.

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

Меняем состав таблиц, теперь в таблице «График» будут данные клиента, которые содержат информацию: имя клиента, адрес и номер телефона, чтобы показать, для кого и где выступает каждый артист. Эти данные являются избыточными, поскольку в настоящее время они также хранятся в таблице «Клиенты».

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

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

Обобщим. Недостаток иерархической модели базы данных вытекает из-за её жёсткости. Эта модель подходит для шаблонных предметных областей с строго подчиненными отношениями между понятиями.

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

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

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

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

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

  • Операторы поиска данных;
  • Операторы поиска данных с возможностью модификации;
  • Операторы модификации данных.

Операции над данными в сетевой модели БД

  • Добавить — внести запись в БД и, в зависимости от режима включения, либо включить ее в групповое отношение, где она объявлена подчиненной, либо не включать ни в какое групповое отношение;
  • Обновит — изменить значение элементов предварительно извлеченной записи;
  • Извлечь — извлечь записи последовательно по значению ключа, а также используя групповые отношения — от владельца можно перейти к записям — членам, а от подчиненной записи к владельцу набора;
  • Удалить — убрать из БД запись.

Тип

Опреатор

Синтаксис

Функция

Операторы поиска данных

UNIQUE

GET UNIQUE <имя сегмента> WHERE <список поиска>;

Получить единственное значение.

 

NEXT

GET NEXT <имя сегмента> WHERE <список аргументов поиска>

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

 

PARENT

GET NEXT <имя сегмента> WITHIN PARENT [ where <дополн.условия>]

Получить следующий для того же исходного.

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

HOLD

GET HOLD UNIQUE <имя сегмента>

WHERE <список поиска>

Найти и удержать единственный экземпляр сегмента.

 

HOLD NEXT

GET HOLD NEXT [WHERE дополнительные условия>]

Найти и удержать следующий с теми же условиями поиска.

 

WITHIN PARENT

GET HOLD NEXT WITHIN PARENT [ where <дополн.условия>]

Получить и удержать следующий для того же родителя.

Операторы модификации данных.

DELETE

DELETE

Удатиль

 

UPDATE

UPDATE

Обновить

 

INSERT

INSERT <имя сегмента>

Ввести новый экземпляр сегмента.

Заключение

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

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

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

  1. margarita_rusheva. Иерархическая модель данных, её достоинства и недостатки // Белорусский государственный университет информатики и радиоэлектроники. – 2021. URL: https://studfile.net/preview/16467497/page:4/ (дата обращения: 17.01.2023);
  2. Самуэл С. Иерархическая модель базы данных. – 2020. URL: https://www.tutorialspoint.com/Hierarchical-Database-Model (дата обращения: 17.01.2023);
  3. Иерархическая модель базы данных. – 2022. URL: https://translated.turbopages.org/proxy_u/en-ru.ru.7f6f06f3-63c64421-598275bf-74722d776562/https/en.wikipedia.org/wiki/Hierarchical_database (дата обращения: 17.01.2023);
  4. Иерархическая модель данных // Национальная библиотека им. Н. Э. Баумана. – 2017. URL: Иерархическая модель данных — Национальная библиотека им. Н. Э. Баумана (bmstu.wiki) (дата обращения: 17.01.2023);
  5. Лекция 3: Теоретико-графовые модели данных. URL: https://intuit.ru/studies/courses/1001/297/lecture/7403?page=2 (дата обращения: 17.01.2023).

Leave a Comment

5 + 1 =