Мелешко
Е.А. , Пидопрыгора Г.А.
Национальный авиационный университет
Достоинства обьектно-ориентированных СУБД
Появление
объектно-ориентированных СУБД вызвано потребностями программистов в обьектно-ориентированных
языках, которым были необходимы средства для хранения
объектов, не помещавшихся в оперативной памяти компьютера. Также важна была
задача сохранения состояния объектов между повторными запусками прикладной
программы. Поэтому, большинство объектно-ориентированных СУБД представляют
собой библиотеку, процедуры управления данными которой включаются в прикладную
программу.
В объектно-ориентированных базах данных, в
отличие от реляционных, хранятся не записи, а объекты. К объектам СУБД относятся:
таблицы, формы, запросы, отчёты, макросы и модули. ОО - подход представляет ряд преимуществ перед реляционной моделью:
·
естественное
представление данных. В реляционной модели все отношения принадлежат одному
уровню, именно это осложняет преобразование иерархических связей модели
"сущность-связь" в реляционную модель. ОО - модель можно
рассматривать послойно, на разных уровнях абстракции. Современные пакеты ООБД дают пользователю возможность создания нового
класса с атрибутами и методами, иметь классы, наследующие атрибуты и методы от
суперклассов, создавать экземпляры класса, каждый из которых обладает
уникальным объектным идентификатором, извлекать эти экземпляры по одному или
группами, а также загружать и выполнять методы. К тому же, ООБД дают возможность определять
обьекты в виде совокупности других обьектов для которых допускаются нескольких
уровней вложенности. Более того, так как они могут иметь в качестве значений не
примитивные обьекты, существует возможность формирования глубоко вложенных
обьектных структур.
·
имеется
возможность определения новых типов данных и операций с ними.
- Облегченное проектирование некоторых связей. В
объектно-ориентированных базах данных поддерживается средство инверсных
связей для выражения взаимных ссылок между двумя объектами (бинарная
связь). Такая система обеспечивает ссылочную целостность путем
установления соответствующей обратной ссылки сразу же после создания прямой ссылки. Существует даже
возможность автоматического распространения удалений через эти ссылки.
- Отсутствие
потребности в определяемых пользователями ключах. В модели ООБД имеется
понятие идентификаторов объектов, автоматически генерируемых системой и
гарантированно уникальных для каждого объекта. Это дает возможность модели
ООБД в сумме с тем, что у нее устранена потребность в ключах определяемых
пользователями давать много других преимуществ. Во-первых, идентификатор
объекта не может быть модифицирован приложением. Во-вторых, идентифицируемость объекта
является отдельным и согласованным понятием идентичности, которое не
зависит от того, каким образом производится доступ к объекту или как
объект моделируется с помощью описательных данных. Следовательно, два объекта не являются идентичными, если они имеют
различные идентификаторы объектов; при этом объекты могут иметь одинаковые
структуры, а все их свойства — одни и те же значения.
- Наличие
предикатов сравнения. В модели ООБД были разработаны и определены иные
типы сравнения:
- Равенство
объектов на основе их идентичности
- Равенство
объектов на основе значений.
- Равенство
свойств на основе значений
- Равенство
свойств на основе их идентичности
- Меньшая потребность в
соединениях. Возможность навигации по структурам объектов и проистекающие
из этого путевые выражения в терминах атрибутов объектов дают возможность
по-новому взглянуть на проблему соединений в ООБД. Поддержка путевых
выражений может существенно сократить потребность в соединении классов.
Имеются даже ситуации, в которых потребность в реляционном объединении
может быть полностью устранена. Неявные соединения вызванные иерархической
вложенностью обьектов отличаются от явных обьединений, так как последние
напоминают реляционное соединение: два обьекта сравниваются явным образом
по значению атрибутов или обьектных идентификаторов.
- Поддержка версий и длительных транзакций. В РБД не поддерживаются ни работа с
версиями, ни длительные транзакции. Такая поддержка имеется в некоторых
ООБД, хотя и с ограниченными возможностями.
- Объектная
алгебра. Объектная алгебра не столь подробно разработана и не является
столь же зрелой, как реляционная алгебра. В ней определяются пять
фундаментальных операций, сохраняющих объекты: union, difference, select,
generate и map. На
основе этих фундаментальных операций могут быть определены другие
операции, например, intersection. В то время как операции union,
difference и map производят, главным образом, отображение «один к одному»,
операции select и generate производят отображение «один ко многим».
Сохранение объектов означает, что алгебраические операции возвращают
объекты, принадлежащие к ранее определенным классам базы данных, и не
создают новых объектов. Оператор union возвращает объекты, содержащиеся во
множестве P или во множестве Q, или в обоих множествах. Оператор
difference возвращает набор объектов, принадлежащих множеству P, но не
множеству Q. select возвращает подмножество введенного множества. generate
генерирует объекты из тех, что принадлежат входному множеству, map возвращает
множество объектов, образующихся в результате каждого применения
последовательности методов.
Из перечисленного выше, можно сделать вывод,
что Объектно-ориентированные СУБД стоят выше, чем реляционные СУБД в ранге
современных баз данных. Их поддержка длительных транзакций, меньшая потребность
в соединениях, в отсутствии пользовательских ключей, естественное представление
данных все это облегчает работу администраторов СУБД и программистов баз
данных.