17.Модели данных. Классификация моделей. Иерархическая, сетевая модели.
Основная задача построения моделей данных – адекватное описание предметной области для последующего перевода на язык информационных систем. При этом одними из основополагающих в концепции баз данных являются обобщенные категории "данные" и "модель данных.
Под данными можно понимать информацию, фиксированную в определенной форме, пригодной для последующей обработки, хранения и передачи. Понятие данные в концепции баз данных – это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы. Модель данных – это некоторая абстракция, которая, будучи приложима к конкретным данным, позволяет пользователям и разработчикам трактовать их как сведения, содержащие не только данные, но и взаимосвязь между ними.
Физическая модель данных оперирует категориями, касающимися организации внешней памяти и структур хранения, используемых в данной операционной среде. В настоящий момент в качестве физических моделей используются различные методы размещения данных, основанные на файловых структурах: это организация файлов прямого и последовательного доступа, индексных файлов и инвертированных файлов, файлов, использующих различные методы хэширования, взаимосвязанных файлов. Кроме того, современные СУБД широко используют страничную организацию данных. Физические модели данных, основанные на страничной организации, являются наиболее перспективными.
Инфологическая модель отображает реальный мир в некоторые, понятные человеку концепции, полностью независимые от параметров среды хранения данных.
Инфологические модели данных используются на ранних стадиях проектирования для описания структур данных в процессе разработки приложений. Инфологическая модель должна быть отображена в компьютерно-ориентированную даталогическую модель, поддерживаемую конкретной СУБД. В даталогическом аспекте рассматриваются вопросы представления данных в памяти информационной системы.
Документальные модели данных применяются для представления слабоструктурированной информации, ориентированной в основном на свободные форматы документов, текстов на естественном языке (монографий, публикаций в периодике, текстов законодательных актов и т. п.).
Модель "сущность-связь". Наиболее популярной семантической моделью является модель "сущность-связь" (E/R – Entity/Relationship), предложенная Питером Пин-Шен Ченом в 1976 г. На использовании разновидностей E/R модели основано большинство современных подходов к проектированию баз данных (в основном реляционных). Данная модель имеет графическую природу, в ней используются изображения в виде диаграмм с прямоугольниками и стрелками, представляющие главные элементы данных и их связи. В данной модели выделены объекты (объектом называется "предмет, который может быть четко идентифицирован") и свойства объектов. Таким образом, определяются отношения типа "объект–свойство". В связи с наглядностью представления данных модели "сущность-связь" получили широкое распространение в CASE-системах.
Иерархическая модель данных была создана в 60-х годах как отражение потребностей практики. Иерархическая модель состоит из упорядоченного набора экземпляров типа дерево. Тип "дерево" является составным. Он может включать в себя подтипы ("поддеревья"), также являющиеся типом "дерево". Тип "дерево" состоит из вершины ("корневого" типа) и упорядоченного набора из нуля или более типов "поддеревьев". Каждый из элементарных типов, включенных в тип "дерево", является простым или составным типом "запись". Простая "запись" состоит из одного типа, например, символьного, а составная "запись" объединяет некоторую совокупность различных типов, например, числовые и символьные. Пример типа "дерево" (схемы иерархической БД) приведен на рис 8.
Концепция сетевой модели данных была сформулирована в конце 60-х годов в Предложениях группы CODASYL, и с тех пор на нее ссылаются как на модель CODASYL DTBG. Сети представляют естественный способ представления отношений между объектами. Они широко применяются в математике, физике, социологии и др. областях знаний. Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь одного предка; в сетевой структуре данных потомок может иметь любое число предков. Возможные связи в сетевой модели представлены
Сетевая БД состоит из набора записей и набора связей между этими записями. Тип связи определяется для двух типов записи: предка и потомка.
Примерный набор операций для манипулирования данными может быть следующим: •найти конкретную запись в наборе однотипных записей (студента Петрова С.И.); •перейти от предка к первому потомку по некоторой связи (к первому студенту группы 22 ИТ); •перейти к следующему потомку в некоторой связи (от Петрова С.И. к Матвееву Р.С.); •перейти от потомка к предку по некоторой связи (найти группу Ивановой Т.И.); •создать новую запись; •удалить запись; •изменить запись; •включить в связь; •исключить из связи; •переставить в другую связь и т.д. В принципе поддержание целостности связей не требуется, но иногда требуют целостности по ссылкам (как в иерархической модели). Системы на основе сетевой модели не получили широкого распространения на практике.