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

ЛОГИЧЕСКИЕ МОДЕЛИ ДАННЫХ

Уровни независимости данных

В настоящее время существуют три уровня абстракции для определения структуры базы данных [8]:

- концептуальный;

- логический;

- физический.

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

Таким образом, концептуальная модель является, по существу, моделью предметной области.

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

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

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

Если концептуальная модель спроектирована таким образом, чтобы отражать будущие расширенные требования, то вносимые в нее изменения не должны оказывать влияния на существующие внешние модели.

Это – первый уровень независимости данных.

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

Логическая БД состоит из поименованной совокупности записей. Она может содержать один или несколько типов записей, которые, в свою очередь, могут иметь различную структуру. Запись логической БД данных представляет собой совокупность сегментов, связанных между собой в иерархическую структуру (дерево). Она может содержать один или несколько типов сегментов, каждый из которых может иметь свой формат и свою длину.

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

Подобные сегменты

Рис.2.1

Два связанных сегмента, расположенные на смежных уровнях (рис. 2.1), называются исходными (для более высокого уровня) и порожденными (для более низкого). Иерархическая запись есть система иерархически взаимосвязанных сегментов, в которой каждый порожденный сегмент представлен столько раз, сколько необходимо для полного раскрытия исходного сегмента.

В каждой логической структуре БД имеется единственный сегмент, который не зависит ни от какого другого сегмента. Этот сегмент называется головным или корневым. В корневом сегменте обычно располагается идентификатор объекта, свойства которого раскрываются в сегментах второго и более глубоких уровней иерархии. Все сегменты одного типа, которые порождены одним и тем же исходным сегментом, называются подобными.

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

Исполнитель

Концепция сетевой модели данных связана с именем известного специалиста в области систем обработки данных Ч. Бахмана. Будучи одним из идеологов СУБД сетевого типа, он оказал существенное влияние на разработку проекта Рабочей группы по базам данных КОДАСИЛ (CODA-SYL) – Ассоциации по языкам и системам обработки данных [6]. Эта ассоциация внесла большой вклад в разработку теории сетевых моделей данных, языков описания и манипулирования СУБД. Сетевые СУБД используют модель представления данных в виде произвольного графа. Основной конструкцией сетевой модели данных является набор. Набор представляет собой поименованную совокупность записей, образующих двухуровневую иерархическую структуру, причем один тип записи определяется как "владелец", а другие являются "членами" набора.

Каждый экземпляр набора состоит из одного экземпляра записи-владельца и одного или более экземпляров записей-членов.

2.2. Сетевая модель данных

Рассмотрим сетевую модель данных об исполнителях и научно-исследовательских работах (рис. 2.3). Узлами сети могут быть отдельные экземпляры записи, которые являются единицей доступа. Сеть представляет собой более общую структуру в сравнении с иерархией (деревом), так как отдельный узел может иметь произвольное количество непосредственно старших узлов, также как и произвольное количество непосредственно подчиненных узлов. Это обеспечивает прямое представление отображения М:М, что, как было отмечено выше, является недостатком в иерархических моделях. В дополнение к экземплярам записей-узлов, соответствующих исполнителям и темам работ, введен третий тип записи, который называется связью или связующей записью. Экземпляр связующей записи представляет связь между одним исполнителем и одной научно-исследовательской работой темы и содержит данные, описывающие эту связь. В данном примере это количество работ, выполняемых исполнителем. Все экземпляры связующей записи, соответствующие одному исполнителю, помешаются в цепочку, начинающуюся и возвращающуюся к этому исполнителю. Аналогичным образом устанавливаются связи для каждой отдельной научной работы.

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

Рис.2.3

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