Иерархическая модель базы данных
Модель иерархической базы данных -это модель данных , в которой данные организованы в структуру, подобную деревьям . Данные хранятся в виде записей , которые связаны друг с другом через ссылки . Запись - это коллекция полей, причем каждое поле содержит только одно значение. Тип . записи определяет, какие поля содержит запись
Модель иерархической базы данных требует, чтобы у каждого ребенка была только один родитель, тогда как у каждой записи родителей может быть одна или несколько дочерних записей. Чтобы получить данные из иерархической базы данных, все дерево должно быть пройденным, начиная с корневого узла. Эта модель признается первой моделью базы данных, созданной IBM в 1960 -х годах. [ Цитация необходима ]
История
[ редактировать ]Иерархическая структура была разработана IBM в 1960 -х годах и использовалась в СУБД раннем мэйнфрейме . Отношения записей образуют модель Trielike. Эта структура проста, но негибкая, потому что отношения ограничены отношениями от одного ко многим. Система управления информацией IBM (IMS) и RDM Mobile являются примерами иерархической системы баз данных с несколькими иерархиями по тем же данным.
Иерархическая модель данных потеряла тягу, поскольку Codd реляционная модель стала де -факто стандартом, используемым практически всеми основными системами управления базами данных. Реляционная реализация иерархической модели была впервые обсуждена в опубликованной форме в 1992 году [ 1 ] (См. Также вложенную модель набора ). были повторно приведены к появлению XML Иерархические схемы организации данных в конце 1990 -х годов [ 2 ] (См. Также базу данных XML ). Иерархическая структура используется в основном сегодня для хранения географической информации и файловых систем. [ Цитация необходима ]
В настоящее время иерархические базы данных все еще широко используются, особенно в приложениях, которые требуют очень высокой производительности и доступности, таких как банковское дело, здравоохранение и телекоммуникации. Одной из наиболее широко используемых коммерческих иерархических баз данных является IMS. [ 3 ] Другим примером использования иерархических баз данных является реестр Windows в операционных системах Microsoft Windows . [ 4 ]
Примеры иерархических данных, представленных в качестве реляционных таблиц
[ редактировать ]Организация может хранить информацию о сотрудниках в таблице , которая содержит атрибуты/столбцы, такие как номер сотрудника, имя, фамилия и номер отдела. Организация предоставляет каждому сотрудникам компьютерное оборудование по мере необходимости, но компьютерное оборудование может использоваться только сотрудником, которому он назначен. Организация может хранить информацию о компьютерном оборудовании в отдельной таблице, которая включает в себя серийный номер, тип и сотрудник, который его использует. Таблицы могут выглядеть так:
|
|
В этой модели employee
Таблица данных представляет «родительскую» часть иерархии, в то время как computer
Таблица представляет «дочернюю» часть иерархии.
В отличие от структур деревьев, обычно встречающихся в компьютерных программных алгоритмах, в этой модели дети указывают на родителей.
Как показано, у каждого сотрудника может быть несколько фрагментов компьютерного оборудования, но в каждом отдельном элементе компьютерного оборудования может быть только один владелец сотрудника.
Рассмотрим следующую структуру:
Empno | Обозначение | Reportsto |
---|---|---|
10 | Директор | |
20 | Старший менеджер | 10 |
30 | Машинистка | 20 |
40 | Программист | 20 |
В этом «ребенок» тот же тип, что и «родитель». Иерархия, в которой говорится, что Empno 10 - это босс 20, а 30 и 40, каждый отчет до 20 представлена колонкой «Отчетсто». В терминах реляционной базы данных столбец отчета является внешним ключом, ссылающимся на столбец EMPNO. Если бы тип данных «дочерний» был другим, он был бы в другой таблице, но все равно был бы иностранный ключ, ссылаясь на столбец Empno таблицы сотрудников.
Эта простая модель обычно известна как модель списка смежности и была представлена доктором Эдгаром Ф. Коддом после того, как появилась первоначальная критика, что реляционная модель не могла моделировать иерархические данные. [ Цитация необходима ] Тем не менее, модель является лишь особым случаем общего списка смежности для графика.
Смотрите также
[ редактировать ]Ссылки
[ редактировать ]- ^ Майкл Дж. Камфонас/Рекурсивные иерархии: реляционная табу! Архивированный 2008-11-08 в The Wayback Machine -Журнал отношений, октябрь/ноябрь 1992 г.
- ^ «Разработка веб -приложений» . IBM .
- ^ Система управления информацией IBM
- ^ «Структура реестра - приложения Win32» .
Внешние ссылки
[ редактировать ]
- Ссылки Троэльса с иерархическими данными в RDBMSS
- Управление иерархическими данными в MySQL (эта страница от Archive.org, поскольку страница была удалена с mysql.com)
- Иерархические данные в MySQL: родители и дети в одном запросе
- Создать диаграмму иерархии из иерархической базы данных