Иерархическая модель базы данных - Hierarchical database model

А иерархическая модель базы данных это модель данных в котором данные организованы в дерево -подобная структура. Данные хранятся как записи которые связаны друг с другом через ссылки. Запись - это набор полей, каждое из которых содержит только одно значение. В тип записи определяет, какие поля содержит запись.

Иерархическая модель базы данных требует, чтобы каждая дочерняя запись имела только одного родителя, тогда как каждая родительская запись может иметь одну или несколько дочерних записей. Чтобы получить данные из иерархической базы данных, необходимо пройти по всему дереву, начиная с корневого узла. Эта модель признана первой моделью базы данных, созданной IBM в 1960-х годах.[нужна цитата ]

История

Иерархическая структура была разработана IBM в 1960-х годах и использовалась в ранних мэйнфреймах. СУБД. Отношения между записями образуют древовидную модель. Эта структура проста, но негибка, потому что отношения ограничиваются отношениями «один ко многим». В Система управления информацией IBM (IMS) и RDM Mobile являются примерами иерархической системы баз данных с несколькими иерархиями над одними и теми же данными. RDM Mobile - это недавно разработанная встроенная база данных для мобильной компьютерной системы.[нужна цитата ]

Иерархическая модель данных потеряла популярность, поскольку Codd с реляционная модель стал стандартом де-факто, используемым практически всеми основными системами управления базами данных. Реализация иерархической модели в реляционной базе данных впервые была опубликована в 1992 году.[1] (смотрите также модель вложенного множества ). Иерархические схемы организации данных всплыли на поверхность с появлением XML в конце 1990-х[2] (смотрите также База данных XML ). Иерархическая структура сегодня используется в основном для хранения географической информации и файловых систем.[нужна цитата ]

В настоящее время иерархические базы данных по-прежнему широко используются, особенно в приложениях, требующих очень высокой производительности и доступности, таких как банковское дело и телекоммуникации. Одна из наиболее широко используемых коммерческих иерархических баз данных - IMS.[3]Другой пример использования иерархических баз данных: Реестр Windows в Майкрософт Виндоус операционные системы.[4]

Примеры иерархических данных, представленных в виде реляционных таблиц

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

наемный рабочий стол
EmpNoИмяФамилияНомер отдела
100МахвишФаки10-л
101ХамадХашим10-л
102даршанAr20-Б
103ЧааяСандакелум20-Б
компьютер стол
Серийный номерТипПользователь EmpNo
3009734-4Компьютер100
3-23-283742Монитор100
2-22-723423Монитор100
232342Принтер100

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

Рассмотрим следующую структуру:

EmpNoОбозначениеОтчеты
10Директор
20Старший менеджер10
30Машинистка20
40Программист20

В этом «дочерний элемент» имеет тот же тип, что и «родитель». В иерархии указано, что EmpNo 10 является начальником из 20, а 30 и 40 каждый отчет до 20 представлен столбцом «ReportsTo». В терминах реляционной базы данных столбец ReportsTo является иностранный ключ ссылка на столбец EmpNo. Если бы «дочерний» тип данных был другим, он был бы в другой таблице, но все равно был бы внешний ключ, ссылающийся на столбец EmpNo таблицы сотрудников.

Эта простая модель, широко известная как модель списка смежности, была представлена ​​доктором Дж. Эдгар Ф. Кодд после того, как появились первые критические замечания, что реляционная модель не может моделировать иерархические данные.[нужна цитата ] Однако эта модель является лишь частным случаем общего список смежности для графика.

Смотрите также

Рекомендации

внешняя ссылка