double arrow

Модели представления данных


Для реализации основных функций в ИС используются различные принципы описания данных. Ядром любой БД является модель представления данных, т.е. их информационная структура. Модель базы данных – это множество структур данных и операций манипулирования с этими структурами. Если БД не содержит никаких внешних данных, в ней все равно имеется информация. Эта информация – структура самой базы. Структура определяет методы занесения данных и хранения их в базе.

Итак, модель данных – это некоторая абстракция, в которой отражаются самые важные аспекты функционирования выделенной предметной области. Описано много разнообразных моделей, используемых в базах данных. Все их можно разделить на три категории:

• объектные модели данных;

• модели данных на основе записей;

• физические модели данных.

Наибольшее распространение получили модели данных на основе записей. В них БД состоит из нескольких записей фиксированного формата и разных типов. Информационные модели данных на основе записей подразделяются на:

1) теоретико-графовые (ТГ):

• иерархические модели;

• сетевые модели;

2) теоретико-множественные (ТМ):




• реляционные модели.

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

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

В иерархической БД существует упорядоченность элементов в записи. Объекты, связанные иерархическими отношениями, образуют ориентированный граф – дерево. Для этой структуры характерна подчиненность объектов нижнего уровня объектам верхнего уровня (рис. 10.2). Иерархическую базу данных образует, например, каталог файлов, хранимых на диске, а дерево каталогов – наглядная демонстрация ее структуры.

Первые системы управления базами данных использовали иерархическую модель данных. Самой известной СУБД, использующей модель данных этого типа, является система фирмы IBM – Information Management System (IMS), первая версия которой появилась в 1968 году.

Основными информационными единицами в иерархической системе данных являются сегмент и поле. Поле данных определяется как наименьшая неделимая единица данных, доступная пользователю. Сегмент образуется из значений полей данных. В иерархической модели вершине графа-дерева соответствует сегмент, а дугам – типы связей «предок-потомок». Каждый сегмент-потомок должен иметь в точности одного предка.



Рис. 10.2. Иерархическая БД

В целом иерархическая БД состоит из упорядоченного набора нескольких экземпляров одного типа дерева. При этом граф-дерево обладает следующими свойствами:

а) имеется только одна вершина графа – корень, в которую не заходит ни одно ребро;

б) в вершины n -го уровня заходит одно ребро (n - 1) -го уровня, исходят из этих вершин ноль, один или несколько порожденных вершин, называемых потомками;

в) единственный проход к порожденной вершине лежит через ее исходную вершину;

г) каждый потомок имеет только одного предка;

д) нет замкнутых петель и циклов;

е) сегмент, у которого нет потомков, называется листовым сегментом.

При работе с древовидной структурой используются два метода доступа ко всем вершинам внутри дерева: прямой порядок обхода дерева (от корне с нисходящим обходом поддеревьев до нужного уровня) и обратный порядок обхода дерева (от n-го уровня с восходящим обходом поддеревьев до корня).

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

Рис. 10.3. Сетевая БД

Произвольный граф состоит из вершин (узлов), соединенных ребрами. В сетевой модели узлы представляют собой объекты в виде типов записей данных, а ребра – связи между объектами. Основное отличие графовых форм представления данных в сетевой структуре от данных в иерархической структуре состоит в том, что потомок в графе может иметь любое число предков.



Типичным представителем СУБД, использующих сетевую модель данных, является Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах фирмы IBM.

Основными типами структур данных в сетевых моделях являются элементы данных, агрегаты данных, записи и наборы (рис. 10.4).

Рис. 10.4. Основные структуры сетевой модели данных

Элемент данных – это наименьшая поименованная информационная единица данных, доступная пользователю.

Агрегат данных – поименованная совокупность элементов данных внутри записи или другого агрегата.

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

Тип записи – это совокупность логически связанных экземпляров записей. Тип записей моделирует некоторый класс объектов реального мира.

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

Сетевой граф БД устроен значительно сложнее иерархического и имеет следующие свойства:

• БД может содержать любое количество наборов и записей;

• между двумя типами записей может быть любое количество наборов;

• тип записи может быть владельцем в одних типах наборов и членом в других типах наборов, а может и не быть членом какого-то типа набора;

• только один тип записи может быть владельцем в каждом наборе;

• типы наборов могут образовывать циклическую структуру;

• один и тот же тип записи может быть владельцем нескольких типов наборов и одновременно может быть членом нескольких типов наборов.

Недостатком сетевой модели является сложность ее реализации.

Реляционными (от англ. relation – отношение) являются БД, содержащие информацию, организованную в виде прямоугольных таблиц. Реляционные БД характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений.

Создатель реляционной модели – сотрудник фирмы IBM, английский математик Э. Ф. Кодд (1923 – 2003 гг.). Одним из основных преимуществ реляционной модели является ее однородность. Все данные рассматриваются как хранимые в таблицах и только в таблицах. Каждая строка такой таблицы имеет один и тот же формат.

Важным понятием реляционных моделей данных является сущность. Сущность – это объект любой природы, данные о котором хранятся в БД.

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

• использование сравнительно небольшого набора абстракций, позволяющих моделировать большинство предметных областей;

• наличие простого математического аппарата, опирающегося на теорию множеств и математическую логику и обеспечивающего теоретический базис реляционного подхода;

• возможность навигации по БД без знания конкретной физической организации данных на внешних носителях.

Основные теоретические результаты реляционного подхода были получены в 70-е годы XX столетия. Большой вклад в развитие реляционной алгебры и нормализации отношений внес Э. Ф. Кодд. В частности в статье, опубликованной в журнале «Computer Word», он сформулировал двенадцать правил, которым должна соответствовать настоящая реляционная база данных.

Реляционные системы не сразу получили широкое распространение. Даже сейчас не существует такой реляционной БД, в которой поддерживались бы все до единой возможности реляционной технологии. К настоящему времени основными недостатками реляционной технологии являются:

• ограниченность реляционных БД при использовании, например, в системах автоматического проектирования (САПР), в которых используются очень сложные структуры;

• ограниченные возможности адекватного отражения семантики предметной области.

Итак, реляционная БД – это конечный набор отношений. Отношения используются для представления объектов и для представления связей между объектами. Каждое отношение – это двумерная таблица, состоящая из строк и столбцов, причем строки соответствуют записям, а столбцы атрибутам.

Атрибут – это поименованный столбец отношения. Свойства объекта, его характеристики определяются значениями атрибутов.

Хотя понятия «отношение» и «таблица» иногда рассматриваются как синонимы, их следует различать: отношением является не любая таблица, а лишь таблица, обладающая определенными свойствами. Будем в последующем изложении употреблять термин «таблица» с учетом этого замечания.

Каждая реляционная таблица, представляя двумерный массив (см. рис. 10.1), обладает следующими свойствами:

• каждый элемент таблицы – один элемент данных;

• все столбцы однородны, т. е. все элементы в столбце имеют одинаковый тип и длину;

• каждый столбец имеет уникальное имя;

• одинаковые строки в таблице отсутствуют;

• порядок следования строк и столбцов произвольный.

Рассмотрим основные свойства полей БД и используемые типы данных на примере реляционной СУБД Microsoft Access. В ней все поля имеют следующие основные свойства:

• имя поля – определяет обращение к данным этого поля, используется в качестве заголовков столбцов таблиц;

• тип поля – определяет тип данных, содержащихся в данном поле;

• размер поля – задает предельную длину поля (в символах);

• формат поля – определяет способ форматирования данных в адресах памяти, принадлежащих полю;

• значение по умолчанию – это значение вводится в адреса поля автоматически и является средством автоматизации вода данных;

• условие на значение – ограничение, используемое для проверки правильности ввода данных;

• сообщение об ошибке – текстовое сообщение, выдаваемое при попытке ввода в поле ошибочных данных;

• обязательное поле – свойство, определяющее обязательность заполнения данных этого поля;

• индексированное поле – свойство, ускоряющее операции по поиску и сортировке записей и проверяющее записи на наличие дублирования данных.

Так как в разных полях могут храниться данные разного типа, то свойства полей зависят от типа хранимых данных. Таблицы баз данных допускают работу с большим количеством разных типов данных по сравнению с другими программами стандартных Windows-приложений.

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

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







Сейчас читают про: