Объектно-ориентированные базы данных.

В объектно-ориентированной парадигме предметная область моделируется как множество классов взаимодействующих объектов.

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

Структура объектной модели описываются с помощью трех ключевых понятий:

  1. Инкапсуляция
  2. Наследование
  3. Полиморфизм

Целостность данных:

  1. автоматическое поддержание отношений наследования
  2. возможность объявить некоторые поля данных и методы объекта как "скрытые", не видимые для других объектов; такие поля и методы используются только методами самого объекта
  3. создание процедур контроля целостности внутри объекта

Средства манипулирования данными:

  1. Работа с данными ведется с помощью одного из объектно-ориентированных языков программирования общего назначения, обычно это SmallTalk , C ++ или Java .

Недостатки ОО модели баз данных:

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

Стандарт ODMG (Object Data Management Group)

ODMG добавляет возможности взаимодействия с базами данных в объектно-ориентированные языки программирования: определяются средства долговременного хранения объектов и расширяется семантика языка, вносятся операторы управления данными. Стандарт состоит из нескольких частей:

  1. Ключевые концепции объектной модели ODMG :
  2. наделение объектов такими свойствами как атрибуты и связи
  3. методы объектов (поведение)
  4. множественное наследование
  5. идентификаторы объектов (ключи)
  6. определение таких совокупностей объектов как списки, наборы, массивы и т.д.
  7. блокировка объектов и изоляция доступа
  8. операции над базой данных

Язык описания объектов ( ODL - Object Defifnition Language ) – средство определения схемы базы данных (по аналогии с DDL в реляционных СУБД). ODL создает слой абстрактных описаний так, что схема базы данных становится независима как от языка программирования, так и от СУБД.

Язык объектных запросов ( OQL - Object Query Language ) – SQL -подобный декларативный язык, который предоставляет эффективные средства для извлечения объектов из базы данных, включая высокоуровневые примитивы для наборов объектов и объектных структур.

Object Manipulation Language ( OML ) - язык манипулирования объектами, который расширяет базовые ОО-языки средствами манипулирования и хранения объектов. Также включаются OQL , средства навигации и поддержка транзакций. Каждый ОО-язык имеет свой собственный OML , поэтому разработчик остается в одной языковой среде, ему нет необходимости разделять средства программмирования и доступа к данным.

назад главная