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

Вид материалаДокументы

Содержание


Архитектура ODMG
3. Особливості об'єктної моделі ODMG
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   17

2.ODMG




При разработке методологии оо проектирование БД важное значение имеет стандарты, предложенные манифестом консорциума Object Database Management Group.

Основной исходной целью была выработка промышленного стандарта ООБД общей модели.

За основу принята базовая объектная модель OMG COM. В последствии были опубликованы 3 базовых версии стандарта, последняя из которых 3.0.

Архитектура ODMG




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

Единое хранилище данных доступно из языка ветвления данных, языка запросов и языков манипулирования данных.

Центральной в архитектуре является модель данных.

3 типа языков
  • ODL (dynamic language)
  • OQL (query language)
  • OML (manipulation language)

Модели данных хранятся в постоянном хранилище данных.

Язык определения объектов, запросов и манипулирования разработаны таким образом, что все их возможности опираются на модель данных.

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

ODL используется для описание интерфейсов, это язык описания схем БД.

Для программировании я и реализации он не предназначен.

Код на ODL – набор определений типов, констант, исключительных ситуаций, модулей, интерфейсов типов.

Язык обеспечивает мощные возможности для определения литеральных типов, также с помощью него можно определять типы коллекций, существует 4-е разновидности типов коллекций:
  • Типы категории SET – обычные типы множеств
  • Типы категории B – типы мультимножеств, в значениях которых допускается элементы дубликатов.
  • Типы категории LIST – упорядоченные списки значений с возможностью дубликатов.
  • Значение типа Dictionary – множество пар «ключ - значение», все ключи должны быть различны, для определения типов используется рекурсия, например можно определить тип множества структур с элементами в виде списков мультимножеств.

3. Особливості об'єктної моделі ODMG


В 1991 г. был образован консорциум ODMG (тогда эта аббревиатура раскрывалась как Object Database Management Group , но впоследствии приобрела более широкую трактовку – Object Data Management Group ).

В архитектуре ODMG определяются способ хранения данных и разные виды пользовательского доступа к этому “хранилищу данных”. Единое хранилище данных доступно из языка определения данных, языка запросов и ряда языков манипулирования данными.18 На рис. 2.1 ODL означает Object Definition Language (язык определения объектов), OQL – Object Query Language (язык объектных запросов) и OML – Object Manipulation Language (язык манипулирования объектами).


Основными компонентами архитектуры являются следующие.

Объектная модель данных. Все данные, сохраняемые ООСУБД, структуризуются в терминах конструкций модели данных. В модели данных определяется точная семантика всех понятий


ODL, OQL, OML -> Модель данных ODMG --> Хранилище (Библиотеки, БД, инструментальные компоненты)


Язык определения данных (ODL ). Схемы баз данных описываются в терминах языка ODL , в котором конструкции модели данных конкретизируются в форме языка определения. ODL позволяет описывать схему в виде набора интерфейсов объектных типов, что включает описание свойств типов и взаимосвязей между ними, а также имен операций и их параметров. ODL не является полным языком программирования; реализация типов должна быть выполнена на одном из языков категории OML . Кроме того, ODL является виртуальным языком в том смысле, что в стандарте ODMG не требуется его реализация в программных продуктах ООСУБД, которые считаются соответствующими стандарту. Допускается поддержка этими продуктами эквивалентных языков определения, включающих все возможности ODL , но адаптированных под особенности конкретной системы. Тем не менее, наличие спецификации языка ODL в стандарте ODMG является важным, поскольку в языке конкретизируются свойства модели данных.


Язык объектных запросов (OQL ). Язык имеет синтаксис, похожий на синтаксис языка SQL, но опирается на семантику объектной модели ODMG . В стандарте допускается прямое использование OQL и его встраивание в один из языков категории OML .


Языки манипулирования объектами (OML ). Для программирования реализаций операций и приложений требуется наличия объектно-ориентированного языка программирования. OML представляется собой интегрирование языка программирования с моделью ODMG ; это интегрирование производится за счет определенных в стандарте правил языкового связывания (language binding ). Дело в том, что в самих языках программирования, естественно, не поддерживается стабильность объектов. Чтобы разрешить программам на этих языках обращаться к хранимым данным, языки должны быть расширены дополнительными конструкциями или библиотечными элементами. Эту возможность и обеспечивает языковое связывание.


Введение в объектную модель ODMG


Модель ODMG является объектной моделью данных, включающей возможность описания как объектов, так и литеральных значений. На разработку модели повлиял тот факт, что она предназначена для поддержки работы с базами данных, так что особо важной является эффективность доступа к данным. Большинство других объектных моделей (см. например, матрицу объектных моделей Фрэнка Манолы [9]) ориентировано на языки программирования, расc читанных на работу со всеми данными в основной памяти. В этом случае допустимо представлять все данные как объекты. Но если требуется управлять большим объемом данных, расположенных во внешней памяти, то требуется некоторый компромисс между “чистотой” модели и требуемой эффективностью. Модель ODMG подстраивается под специфику систем баз данных следующим образом:

Для баз данных, схем и подсхем обеспечивается набор встроенных объектных типов.

Модель включает ряд встроенных структурных типов, позволяющих применять традиционные методы моделирования баз данных.

Модель одновременно включает понятия объектов и литералов20.

В модели связи между объектами отличаются от атрибутов объектов (аналогично тому, как это делается в ER -модели).