Модели данных

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

Мы остановимся на более подробном рассмотрении некоторых из них.

Иерархическая сетевая модель строится в виде древовидной структуры. При поиске данных дерево всегда просматривается сверху вниз. Первой СУБД, построенной на базе иерархической модели, стала система IMS, представленная компанией IBM в 1968 г.

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

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

Основным ее недостатком является сложность изменения структуры: приходится знать и учитывать при перестройке множество различных связей между разнородными объектами.

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

Реляционная модель данных для СУБД[2] имеет строгое математическое обоснование в виде теории множеств (реляци-

Рис. 11.1. Сетевая модель данных

онная алгебра) и исчислении предикатов (реляционное исчисление).

Основными понятиями реляционных БД являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.

Тип данных – аналог типа данных в языках программирования. В современных реляционных БД это символьные, числовые, битовые строки, дата и время.

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

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

Основой реляционной модели является отношение (Relation), содержащее информацию об одном классе объектов предметной области и представляющее собой множество элементов, называемых кортежами.

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

Можно выделить следующие основные правила формирования отношений в форме таблиц:

• в таблице не может быть повторяющихся строк;

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

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

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

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

Характерные особенности реляционных СУБД – это ненавигационность и обеспечение целостности.

К достоинствам реляционной модели можно отнести:

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

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

• полную независимость данных;

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

В качестве недостатков реляционной модели можно выделить следующие:

• более низкая скорость доступа и необходимость большего объема внешней памяти (представляется незначительным, поскольку внешняя память и быстродействие современных компьютеров многократно возросли);

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

• предметную область не всегда можно представить в виде совокупности таблиц.

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

К числу СУБД, поддерживающих реляционную модель, относятся MS Access, Dbase, FoxPro, Clipper и др.

Для преодоления недостатков реляционной модели развиваются постреляционная, многомерная и объектно-ориентированная модели.

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

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

К числу СУБД, поддерживающих постреляционную модель, относятся uniVers, Bubba, Dasdb.

Объектно-ориентированная база данных (ООБД) – база данных, основанная на принципах объектно-ориентированной технологии.

Понятийный аппарат ООБД включает:

объекты в смысле "объектов" объектно-ориентированного программирования;

классы (понятие "тип данных" реляционной модели заменяется понятиями "класс" и "подкласс");

наследование (классы образуют иерархию наследования, заимствуя свойства друг друга);

атрибуты (характеристики объекта моделируются его атрибутами);

сообщения и методы (каждый класс имеет определенную совокупность методов, классы взаимодействуют друг с другом посредством механизма сообщений);

инкапсуляция (внутренняя структура объектов скрыта);

идентификаторы объектов – дескрипторы.

Система управления ООБД должна обеспечить постоянное хранение объектов, причем в отличие от традиционной СУБД ООСУБД должна хранить в составе объекта как данные, так и программы (методы).

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

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

Объектно-ориентированные возможности появляются в ведущих современных СУБД (Oracle, Poet, Versant, Objectivity).