МОДЕЛИ ДАННЫХ
Физическое моделирование
Даталогическое моделирование
По инфологической модели в соответствии с одной из моделей данных (будут рассмотрены ниже) разрабатывается так называемая даталогическая модель, которая отражает логические связи между элементами данных вне зависимости от их содержания и среды хранения. Результатом данного этапа является логическая схема данных.
Если инфологическая модель данных предназначена для наглядного отражения представления пользователей, т.е. является человеко-ориентированной, то даталогическая модель уже является компьютеро-ориентированной. С её помощью СУБД дает возможность программам и пользователям осуществлять доступ к хранимым данным лишь по их именам, не заботясь о физическом расположении этих данных.
Физическое моделирование заключается в разработке физической модели данных, пригодной к реализации в конкретной СУБД, поддерживающей выбранную модель данных. В физической модели определяется размещение данных на внешних носителях, методы доступа, техника индексирования, домены для каждого атрибута.
|
|
Реализация физической модели в выбранной СУБД является полностью компьютерно-ориентированной и конечные пользователи, а порой и прикладные программисты, не имеют никакого представления о том, каким образом данные запоминаются и извлекаются или каким способом организуются индексы в таблицах для быстрого поиска или ссылочная целостность. Эти и множество других функций обеспечиваются в основном ядром СУБД, что значительно облегчает задачу создания БД и их ведение.
В классической теории баз данных модель данных есть формальная теория представления и обработки данных в СУБД, которая включает, по меньшей мере, три аспекта:
- аспект структуры (методы описания типов и логических структур данных в базе данных);
- аспект манипуляции (методы манипулирования данными);
- аспект целостности (методы описания и поддержки целостности базы данных).
Аспект структуры определяет, что из себя логически представляет база данных, аспект манипуляции определяет способы перехода между состояниями базы данных (то есть способы модификации данных) и способы извлечения данных из базы данных, аспект целостности определяет средства описаний корректных состояний базы данных.
В основе иерархической модели данных лежит древовидная структура. Иерархическая модель представляет собой упорядоченный набор деревьев, точнее, набор экземпляров одного типа дерева. Дерево состоит из связанных сегментов различных уровней (см. рис. 7.1).
|
|
Рисунок 7.1 – Иерархическая модель данных
Основными информационными единицами в иерархической модели являются сегмент и поле. Поле - наименьшая неделимая единица данных, доступная пользователю. Для сегмента определяются тип сегмента и экземпляр сегмента. Тип сегмента — это поименованная совокупность входящих в него типов полей. Экземпляр сегмента образуется из конкретных значений полей данных.
Между сегментами существуют связи типа «предок-потомок». Дерево начинается с корневого сегмента. Каждый сегмент имеет не более одного предка, произвольное количество потомков и, по крайней мере, одно поле.
В иерархической модели автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего предка.
К сегментам могут применяться такие операции как запомнить, модифицировать, удалить, извлечь, найти. Операция поиска сводится к одной из возможных процедур обхода дерева и всегда начинается с корневого сегмента в направлении потомков.
Иерархическая модель довольно удобна для представления предметных областей, так как иерархические отношения довольно часто встречаются между сущностями реального мира. Иерархическая модель позволяет реализовать связи типа «один-к-одному» и «один-ко-многим».
Достоинства иерархической модели: простота и быстродействие.
Недостатки иерархической модели:
- необходимость дублирования деревьев для реализации связей типа «многие-ко-многим» и, следовательно, увеличение затрат на поиск;
- невозможность существования потомка без предка (ввод пустых сегментов-предков, удаление предка влечет за собой удаление всех его потомков);
Примером иерархической модели является дерево каталогов в операционных системах компании Microsoft. В файловой системе существует корневой диск (возможно, несколько дисков), в котором могут размещаться папки (каталоги) и файлы. Внутри папки могут находиться как файлы, так и другие папки, в которых, в свою очередь, также папки и файлы. При этом уровень вложенности папок практически неограничен. Требование иерархической модели о том, что каждый узел может быть связан только с одним узлом вышележащего уровня иерархии в файловой системе также соблюдается – файл может физически находиться только в одной папке. Если его необходимо поместить в две папки, требуется выполнить копирование файла. При этом фактически получится два независимых файла, то есть при изменении одного из них, другой файл не изменится, если повторно не выполнить копирование.