Постреляционные модели и базы данных
По мере того как практические задачи приобретают все более сложный и комплексный характер, а информационные системы все больше склонны проявлять интеллектуальное поведение при взаимодействии с окружающим миром, необходимы более совершенные модели данных. Такие модели должны точнее описывать окружающий мир: уже не в терминах наборов данных, а в терминах объектов, обладающих свойствами, состояниями и поведением.
Первой из таких моделей стала семантическая модель данных (Semantic Data Model, SDM), разработанная М. Хаммером и Д. Маклеодом в 1981 г. SDM позволяет моделировать как данные, так и их отношения в единой структуре, называемой объектом. Поскольку основной структурой модели является объект, модель SDM получила название объектно-ориентированной модели данных (Object-Oriented Data Model, OODM). В свою очередь, OODM стала основой для создания объектно-ориентированной модели базы данных (OODBM), управление которой осуществляется с помощь системы управления объектно-ориентированной базой данных (ООСУБД или OODBMS).
Объект может включать в себя все данные о себе, связи с другими объектами и операции, которые могут выполняться с объектом (или выполняться объектом). Таким образом, объекты в усовершенствованной модели SDM стали похожи на объекты, создаваемые объектно-ориентированными языками. Это, в свою очередь, обеспечило возможность сближения и тесной интеграции различных групп разработчиков, как проектировщиков и архитекторов базы данных, так и программистов, разрабатывающих пользовательские программы.
База данных |
Рисунок 6.17 иллюстрирует такую методологию работы, когда различные группы разработчиков, вовлеченные в процесс обеспечения работы ООСУБД, используют общий репозиторий (хранилище) классов для решения различных задач на различных этапах работы над проектом.
Структуры классов |
Код методов |
----- И |
Схемы |
Пользовательские интерфейсы Функции поддержки Структуры программы Поток работ |
Приложения ООБД
Рис. 6.17. Методология совместной разработки в парадигме ООБД
6.4.1. Основные понятия OODM
Объекты модели данных являются абстракцией сущностей и событий реального мира. В общих чертах любой объект может рассматриваться как эквивалент сущности ER-модели. Точнее, любой объект представляет собой только один экземпляр сущности.
Атрибуты описывают свойства объекта. Например, в объект PERSON (персона) включены атрибуты Name (имя), Social Security Number (номер социального страхования) и Date of Birth (дата рождения).
Объекты, которые совместно используют одни и те же характеристики, группируются в классы. Класс представляет собой абстрактное представление схожих объектов со структурой совместного доступа (атрибутами) и поведением (методами). В общем случае класс напоминает набор сущностей ER-модели. Однако класс отличается от набора сущностей тем, что содержит набор процедур, называемых методами. Метод класса представляет собой некоторое действие, например, поиск, изменение данных или распечатку данных. Иначе говоря, методы эквивалентны процедурам в традиционных языках программирования. В терминах объектно- ориентированного подхода методы определяют поведение объекта.
Классы организованы в иерархию классов. Иерархия классов похожа на перевернутое дерево, в ней каждый класс имеет только одного предка (явное сходство с иерархической моделью).
Наследование — это возможность объекта внутри иерархии классов наследовать атрибуты и методы классов, структурно расположенных выше него.
6.4.2. Преимущества OODM
Объектно-ориентированная модель имеет несколько важнейших преимуществ перед ER-моделью.
Добавление семантического наполнения делает модель более значимой и инфор- мационно-насыщенной.
Семантическое наполнение включено во внешнее представление. Как и ER- диаграммы, объектно-ориентированная модель представляет отношения в наглядной форме. Однако в наглядное представление объектно-ориентированной модели включается семантическое наполнение, что упрощает визуализацию сложных отношений между объектами.
Целостность базы данных. Так же как и иерархическая, объектно-ориентиро- ванная модель использует наследование для защиты целостности базы данных. Однако объекты OODM содержат большее количество типов связей, а сами связи являются более сложными.
Структурная независимость и независимость по данным. Автономия объекта объектно-ориентированной модели гарантирует структурную независимость и независимость по данным.
6.4.3. Недостатки OODM
Несмотря на то что OODM является безусловным шагом вперед по сравнению с реляционной моделью, подавляющее число СУБД на сегодняшний день продолжают оставаться реляционными. Причин этому множество, и не последнюю роль сыграли недостатки, свойственные OODM.
Отсутствие должного уровня стандартизации. Для OODM пока не существует стандартов объектно-ориентированной модели. Различные стандарты, связанные с OODM, находятся в активной разработке, работа над ними продолжается, однако они не являются столь распространенными, как стандарты для РСУБД. Происходит сближение стандартов для РСУБД с ООСУБД, например, в стандарте SQL3 и более поздних. Особенно проблематичным является отсутствие стандартного метода доступа к данным. Этот недочет создает проблемы при доступе к данным из различных источников (различные поставщики поддерживают различные методы доступа к данным, как правило, несовместимые).
Сложная навигация доступа к данным. Метод доступа к данным напоминает стиль навигации в иерархической и сетевой моделях.
Трудность изучения. Недостаток стандартизации и трудности, вызванные навигационным стилем доступа к данным, приводят к затруднениям в изучении объектно-ориентированной модели, даже большим, чем при изучении сетевой модели. Несмотря на то что мы с легкостью используем объекты — перетаскиваем объекты на экране дисплея, не заботясь и не задумываясь о тех процессах, которые обеспечивают это действие, — моделирование данных и реализация объектно-ориентированных баз данных — это совершенно иные действия.
Объекты сложны, и тот факт, что они могут иметь большое семантическое наполнение, делает их трудными для проектирования и реализации. Работа с OODM больше похожа на объектно-ориентированное программирование, чем на проектирование данных. Это приводит к тому, что конечные пользователи считают объектно-ориентированные системы трудными для понимания и применения.
Ресурсоемкость. Объектно-ориентированные системы сложнее, чем реляционные модели. Реализация такой модели требует солидных затрат на приобретение оборудования и операционной системы. Сложность конфигурации и повышенные системные требования приводят к замедлению выполнения запросов и транзакций.
Дата добавления: 2016-04-14; просмотров: 953;