Существует несколько основных типов моделей данных (рисунок 1)
Рисунок 1 - Модели данных
Сетевая модель. Позволяет организовывать те базы данных, структура которых представлена графом общего вида. Организация данных в данной модели соответствует структуризации данных по версии CODASYL. Каждая из вершин графа хранит экземпляры записи и сведения, которые содержат информацию о групповых отношениях с сущностями других типов. Каждая такая запись может хранить произвольное количество элементов данных и агрегатов, которые соответствуют экземпляру сущности[7].
Базы данных, называемые иерархическими, имеют древовидную организацию информации. Для описания структуры иерархической базы данных используют тип данных "дерево".
Графы являются способом визуализации связей между определенными объектами. Связи бывают направленными и ненаправленными.
Ориентированный граф G задается двумя множествами G = {V; E}, где V− конечное множество, элементы которого называются вершинами или узлами; E − множество упорядоченных пар на V, то есть подмножество множества V×V, элементы которого называют дугами[6].
Ориентированное дерево - это бесконтурный ориентированный граф у которого полустепень захода любой вершины не больше 1 и существует ровно одна вершина, которую называют корнем ориентированного дерева, полустепень захода которой равна нулю.
Отношения, которые изображены графически, представлены в виде дуг ориентированного графа, а типы записей изображены в виде вершин (диаграмма Брахмана). Тип, называемый «деревом», схож с типами данных «структура»[5].
Связи между записями представлены в виде отношений предок/потомок.
Реляционная модель данных, которую разработал британский учёный, работы которого заложили основы теории реляционных БД, Эдгар Франк Кодд в 1970г. логическая модель данных, основанная на математической теории отношений.
Отношение (relation) – это большое количество элементов, которые называют кортежами. Двумерная таблица, которая вполне привычна для человеческого восприятия – наглядная форма представления отношения. Таблица имеет строки, имеющие одинаковую структуру и состоящие из полей, и столбцы. Столбцам таблицы соответствую атрибуты отношения, а строкам – кортежи[12].
Описать простейший вид связи между данными удобно при помощи одной таблицы. Например, деление одного объекта, информация о котором хранится в таблице, на огромное количество подобъектов. Каждому из этих подобъектов соответствует строка или запись таблицы. Подобъекты имеют идентичную структуру или свойства, описание которых содержатся в соответствующих значениями полях записей. К примеру, таблица содержит сведение о группе работников, о каждом из них известны следующие характеристики: ФИО, пол, возраст, образование, должность. Так как в рамках только одной таблицы не получится описать наиболее сложные логические структуры данных, применяется связывание таблиц[13].
Практически в одно и то же время, что и реляционные модели, появился многомерный подход к представлению данных в базе. Однако интерес к ним возрос только после середины девяностых годов, а именно после выхода программной статьи Э. Кодда. Действительно хорошо работающих многомерных систем управления базами данных до девяностых годов прошлого века было очень и очень мало.
Эдгар Кодд, считающийся «отцом реляционных баз данных», предложил термин OLAP(OnlineAnalyticalProcessing - оперативная аналитическая обработка). Финансировала работу Э. Кодда компания Arbor, которая выпустила свой собственный OLAP-продукт — Essbase, который теперь принадлежит Hyperion, годом ранее. В их описании Essbase появились «12 законов аналитической обработки в реальном времени» Эдгара Кодда. В этой работе описаны двенадцать основных требований к систем класса OLAP, наиболее важные из которых связаны с возможностями концептуального представления и обработки многомерных данных. Многомерный СУБД предоставляют возможность оперативной обработки информации, необходимой для проведения анализа и принятия решения.
Объектно-ориентированная база данных (ООБД) дает возможность программистам, работающим с языками третьего поколения, интерпретировать все свои информационные сущности как объекты, которые хранятся в оперативной памяти. Перехват запросов, обращающихся к частям данных, находящихся в постоянном хранилище на диске, обеспечивает дополнительный интерфейсный уровень. Те изменения, которые вносятся в объекты, переносятся из памяти на диск[11].
Упрощенный код является преимуществом объектно-ориентированной базы данных. Приложения могут интерпретировать данные в контексте того языка программирования, на котором они написаны. Реляционная БД возвращает значения всех полей в виде текста, а после они приводятся к локальным типам данных. В объектно-ориентированной базе данных этот этап ликвидирован. Вне зависимости от того, где находятся данные, на диске или в памяти, методы манипулирования данными всегда остаются одинаковыми.
Объектно-реляционные системы управления базами данных объединили в себе черты двух моделей - реляционной и объектной. Возникновение объектно-реляционных СУБД связано с тем, что реляционные БД хорошо работают со встроенными типами данных, но гораздо хуже с нестандартными, пользовательскими. При появлении нового важного типа данных, приходится включать поддержку этого типа в систему управления базой данных, либо принуждать программиста самостоятельно заниматься управлением данных в приложении[19].
В этой главе описаны определения СУБД, функции, главные достоинства и недостатки, структура современных СУБД, описание реляционных баз данных.