Не будучи хронологически первой, наиболее популярной с начала 80-х годов была и до сих пор остается реляционная модель данных.
В реляционной модели считается, что все данные ИС представлены в виде таблиц.
В рамках реляционной теории имеется список операций, которые можно осуществлять над таблицами таким образом, чтобы в результате выполнения операции снова получить реляционную базу данных. Обычно это следующие операции:
• базовые операции:
• ограничение — исключение из таблицы некоторых строк;
• проекция — исключение из таблицы некоторых столбцов;
• декартово произведение — из двух таблиц получается третья по принципу декартова произведения двух множеств строк;
• объединение — объединение множеств строк двух таблиц;
• разность — разность множеств строк двух таблиц;
• присвоение — именованной таблице присваивается значение выражения над таблицами;
• производные операции:
• группа операций соединения;
• пересечение — пересечение множеств строк двух таблиц;
• деление — позволяет отвечать на вопросы типа: «какие студенты посещают все курсы?»;
• разбиение — позволяет отвечать на вопросы типа: «какие пять служащих в отделе наиболее оплачиваемы?»;
• расширение — добавление новых столбцов в таблицу;
• суммирование — в новой таблице с меньшим, чем в исходной, числом строк, строки получены как агрегирование (например, суммирование по какому-то столбцу) строк исходной.
Помимо основных таблиц, изначально присутствующих в БД, приведенные операции позволяют получать выводимые таблицы — «представления».
Другие модели.
Реляционная модель данных, несмотря на ее достоинства, совсем не идеальна. В ряде случаев она не позволяет ясно (или вовсе не позволяет) отразить особенности предметной области.
Моделью данных, привлекающей внимание с конца 80-х годов, является объектная, или объектно-ориентированная модель. Основными понятиями, с которыми оперирует эта модель, являются следующие:
• объекты, обладающие внутренней структурой и однозначно идентифицируемые уникальным внутрисистемным ключом;
• классы, являющиеся, по сути, типами объектов;
• операции над объектами одного или разных типов, называемые методами;
• инкапсуляция структурного и функционального описания объектов, позволяющая разделять внутреннее и внешнее описания (в терминологии предшествовавшего объектному модульного программирования — модульность объектов);
• наследуемость внешних свойств объектов на основе соотношения «класс-подкласс».
К достоинствам объектно-ориентированной модели относят:
• возможность для пользователя системы определять свои ''сколь угодно сложные типы данных (используя имеющийся синтаксис и свойства наследуемости и инкапсуляции);
• наличие наследуемости свойств объектов;
• повторное использование программного описания типов
объектов при обращении к другим типам, на них ссылаю
щимся.
К объектно-ориентированным СУБД относятся ONTOS, GemStore, UniSQL и др.
Еще одной моделью данных, имеющей конкретную реализацию (InfoModeller), является модель объектов-ролей, предложенная еще в начале 70-х годов, но востребованная лишь недавно. В отличие от реляционной модели в ней нет атрибутов, а основные понятия — это объекты и роли, описывающие их. Роли могут быть как «изолированные», присущие исключительно какому-нибудь объекту, так и существующие как элемент какого-либо отношения между объектами. Модель служит для понятийного моделирования, что отличает ее от реляционной модели. Имеются и другие отличия и интересные особенности: например, для нее помимо графического языка разработано подмножество естественного языка, не допускающее неоднозначностей, и, таким образом, пользователь (заказчик) не только общается с аналитиком на естественном языке, но и видит представленный на том же языке результат его работы по формализации задачи. (Можно заметить, что многие пользователи, в отличие от аналитиков, с трудом разбираются в описывающих их деятельность рисунках и схемах.) Модель «объектов-ролей» сейчас привлекает большое внимание специалистов, однако до промышленных масштабов ее использования, сравнимых с двумя предыдущими, ей пока далеко.