1.4. Модели представления данных
На первом этапе проектирования БД происходит объединение концептуальной модели предметной области различных точек зрения пользователей на область внешнего мира.
На втором этапе осуществляется отображение концептуальной модели предметной области в модель БД, которая воспринимается имеющейся в распоряжении СУБД. Не следует смешивать понятия «модель данных» (средство моделирования) и «модель БД» (результат процесса моделирования).
Модель представления данных, или модель данных, - множество допустимых типов данных и отношений между ними, ограничений и операций над этими типами данных и отношений. Модель представления БД - множество конкретных ограничений над объектами и операциями, которые выполняются с объектами. Множество допустимых типов данных и отношений называют структурой данных.
Таким образом, модель данных представляется комбинацией трех компонентов: множества структур данных, объекты которых составляют содержимое БД; множества операций, применяемых для поиска или модификации данных; множества ограничений целостности, явно или неявно определяющих множество допустимых состояний БД. Указанные компоненты выражаются языковыми и программными средствами описания данных, манипулирования данными и контроля целостности БД, которые СУБД предоставляет пользователю.
Наиболее широко распространенными являются три модели данных: иерархическая, сетевая и реляционная, которые оперируют данными как самостоятельными объектами.
1.4.1.
Иерархическая модельИерархическая модель характеризуется, с одной стороны, эффективными средствами описания объектов с иерархической структурой, а с другой - сильной зависимостью меящу описанием стругауры данных и способами записи данных на внешние носители, а также способами доступа к данным.
Иерархическая модель БД представляется связным графом типа дерева, вершины которого расположены на разных иерархических уровнях. При этом одна из вершин на самом высоком уровне, называемая корнем, не подчиняется ни одной вершине, а все остальные вершины связаны с одной и только одной вершиной, расположенной на более высоком уровне.
Уровень вершины - это расстояние от нее до корня, уровень которого - нуль. Вершины, подчиненные другой вершине, т.е. имеющие отца, называют сыновьями или детьми дерева. В дереве любой сын может иметь не более одного отца, а любой отец - множество сыновей. Любая из вершин может иметь множество подчиненных ей вершин, находящихся на более низком уровне. Дерево имеет п вершин и п-1 дуг, не имеет циклов, каждая пара вершин соединена одной и только одной простой дугой.
Можно дать следующее рекурсивное определение дерева: конечное множество G, состоящее из одной или более вершин, таких, что: одна из вершин является корнем; остальные вершины (кроме корня) содержатся в т > 0 попарно пересекающихся множествах Gu ..., Gm, каждое из которых, в свою очередь, является деревом. Деревья G\, ...,Gm называются поддеревьями корня.
Иерархическую модель можно применять как при рассмотрении логической струетуры (схемы, подсхемы), так и физической. Вершины дерева логической структуры соответствуют типам логических записей, а физической стругауры - экземплярам записей. В последнем случае имеем множество деревьев значений (или лес), составляющих содержимое БД. Множество корневых вершин удобно связать с фиктивной корневой вершиной, которая для них будет являться отцом, и в этом случае множество деревьев значений будет представлено одним деревом.
Заметим, что различные вершины дерева значений могут иметь одинаковые значения.Дуга дерева соответствует типу связи, называемому «исход- ный-порождениый», и не помечается, так как между двумя типами записей может быть не более одной такой связи. Дуги направлены от исходных записей к порожденным.
Рассмотрим пример иерархической модели БД ПРОИЗВОДСТВО. Модель включает шесть сегментов: ПРЕДПРИЯТИЕ (наименование предприятия, адрес, количество работающих, годовой оборот, и т.д.); ТОВАР (код товара, наименование товара, цена и т.д.); ПОТРЕБИТЕЛЬ (код потребителя, наименование потребителя, адрес, финансовое положение и т.д.); ПОДРАЗДЕЛЕНИЕ (код подразделения, наименование подразделения, количество работающих, площадь и т.д.); ПЕРСОНАЛ (табельный номер работающего, ФИО, год рождения, квалификация, разряд, оклад и т.д.); ОБОРУДОВАНИЕ (код оборудования, наименование, стоимость, производительность, год выпуска). Дерево для этой модели приведено на рис. 1.2.
Операции манипулирования данными в иерархических системах ориентированы прежде всего на поиск информации "сверху вниз", т.е. по заданному экземпляру сегмента-отца можно найти все экземпляры сегментов-сыновей. Обратный же поиск (найти экземпляр отца по заданному экземпляру сына) затруднен, а часто и невозможен.
Указанная особенность ЯМД приводит к тому, что симметричные запросы реализуются по-разному и имеют различное время выполнения.
Иерархической модели присущи и другие недостатки, например дублирование данных на логическом уровне.
Названные недостатки связаны прежде всего с неудовлетворигель ной реализацией связи типа M.N в иерархических моделях. Применение других моделей БД позволяет избежать приведенных выше трудностей.
Еще по теме 1.4. Модели представления данных:
- § 2. Модель как мысленный образ
- 1.2. ПАУТИНООБРАЗНАЯ МОДЕЛЬ
- 2.7. МОДЕЛЬ С ДИНАМИЧЕСКИМ МУЛЬТИПЛИКАТОРОМ
- Иерархическая модель данных
- 1.1. Введение
- 1.4. Модели представления данных
- 1.4.3. Реляционная модель
- Проверка адекватности модели
- 8.2.8. Имитационное моделирование технологического процесса и оценки адекватности модели по данным работы опытной установки.
- 4.1. Классификация моделей расписаний в АС
- 4.2. Комплексная модель ОКП для ГПК механической обработки
- 5.1. Обобщенная модель представления разработки ТП во времени