Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

История [ править ]

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

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

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

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

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

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

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

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

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

См. Также [ править ]

Ссылки [ править ]

Внешние ссылки [ править ]

  • Ссылки Troels на иерархические данные в СУБД
  • Управление иерархическими данными в MySQL (эта страница с сайта archive.org, так как эта страница была удалена с MySQL.com)
  • Иерархические данные в MySQL: родители и дети в одном запросе
  • Создать диаграмму иерархии из иерархической базы данных