Реляционная модель и СУБД

Не будучи хронологически первой, наиболее популярной с начала 80-х годов была и до сих пор остается реляционная модель данных.

В реляционной модели считается, что все данные ИС представлены в виде таблиц.

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


• базовые операции:

ограничение — исключение из таблицы некоторых строк;

проекция — исключение из таблицы некоторых столб­цов;

декартово произведение — из двух таблиц получается третья по принципу декартова произведения двух мно­жеств строк;

объединение — объединение множеств строк двух таб­лиц;

разность — разность множеств строк двух таблиц;

присвоение — именованной таблице присваивается зна­чение выражения над таблицами;

• производные операции:

группа операций соединения;

пересечение — пересечение множеств строк двух таб­лиц;

деление — позволяет отвечать на вопросы типа: «какие студенты посещают все курсы?»;

разбиение — позволяет отвечать на вопросы типа: «ка­кие пять служащих в отделе наиболее оплачиваемы?»;

расширение — добавление новых столбцов в таблицу;

суммирование — в новой таблице с меньшим, чем в ис­ходной, числом строк, строки получены как агрегиро­вание (например, суммирование по какому-то столбцу) строк исходной.

Помимо основных таблиц, изначально присутствующих в БД, приведенные операции позволяют получать выводимые таблицы — «представления».

Другие модели.

Реляционная модель данных, несмотря на ее достоинст­ва, совсем не идеальна. В ряде случаев она не позволяет ясно (или вовсе не позволяет) отразить особенности предмет­ной области.

Моделью данных, привлекающей внимание с конца 80-х годов, является объектная, или объектно-ориентирован­ная модель. Основными понятиями, с которыми оперирует эта модель, являются следующие:

• объекты, обладающие внутренней структурой и однознач­но идентифицируемые уникальным внутрисистемным ключом;

• классы, являющиеся, по сути, типами объектов;

• операции над объектами одного или разных типов, назы­ваемые методами;


• инкапсуляция структурного и функционального описа­ния объектов, позволяющая разделять внутреннее и внешнее описания (в терминологии предшествовавшего объектному модульного программирования — модуль­ность объектов);

• наследуемость внешних свойств объектов на основе соот­ношения « класс-подкласс ».

К достоинствам объектно-ориентированной модели отно­сят:

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

• наличие наследуемости свойств объектов;

• повторное использование программного описания типов
объектов при обращении к другим типам, на них ссылаю­
щимся.

К объектно-ориентированным СУБД относятся ONTOS, GemStore, UniSQL и др.

Еще одной моделью данных, имеющей конкретную реа­лизацию (InfoModeller), является модель объектов-ролей, предложенная еще в начале 70-х годов, но востребованная лишь недавно. В отличие от реляционной модели в ней нет атрибутов, а основные понятия — это объекты и роли, опи­сывающие их. Роли могут быть как «изолированные», при­сущие исключительно какому-нибудь объекту, так и суще­ствующие как элемент какого-либо отношения между объектами. Модель служит для понятийного моделирова­ния, что отличает ее от реляционной модели. Имеются и другие отличия и интересные особенности: например, для нее помимо графического языка разработано подмножество естественного языка, не допускающее неоднозначностей, и, таким образом, пользователь (заказчик) не только общает­ся с аналитиком на естественном языке, но и видит пред­ставленный на том же языке результат его работы по фор­мализации задачи. (Можно заметить, что многие пользователи, в отличие от аналитиков, с трудом разбира­ются в описывающих их деятельность рисунках и схемах.) Модель «объектов-ролей» сейчас привлекает большое вни­мание специалистов, однако до промышленных масштабов ее использования, сравнимых с двумя предыдущими, ей пока далеко.