Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора.doc
Скачиваний:
20
Добавлен:
14.05.2015
Размер:
646.14 Кб
Скачать

5.2. Идея ообд. Преимущества и недостатки объектно-ориентированных баз данных. Стандарт odmg: общие сведения.

Направление ООБД возникло сравнительно давно. Термин «объект» означал какой-либо аспект моделируемой реальности. Сейчас под объектом понимается «нечто, имеющее четко определенные границы». Одна из причин появления ОО СУБД потребностями программистов на ОО‐языках, которым были необходимы средства для хранения объектов, не помещавшихся в оперативной памяти компьютера.

Пример ОО СУБД ‐ ObjectStore которая обеспечивает долговременное хранение в базе данных объектов, созданных программами на языках C++ и Java.

Объектно-ориентированная парадигма.

Любая модель данных (по Кодду) должна включать три аспекта: структурный, целостный и манипуляционный. Реализация на основе ОО парадигмы программирования:

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

инкапсуляция, наследование, полиморфизм

(2)Для поддержания целостности ОО подход предлагает использовать следующие средства: автоматическое поддержание отношений наследования; возможность объявить некоторые поля данных и методы объекта как “скрытые”, не видимые для других объектов; такие поля и методы используются только методами самого объекта; создание процедур контроля целостности внутри объекта.

(3)Средства манипулирования данными: отсутствуют общие средства манипулирования данными, такие как реляционная алгебра или реляционное счисление. Работа с данными ведется с помощью одного из ОО-языков программирования общего назначения, обычно это SmallTalk, C++ или Java.

Преимущества:

В ООБД, в отличие хранятся не записи, а объекты. ОО‐подход представляет более совершенные средства для отображения реального мира, чем реляционная модель:

- естественное представление данных. В реляционной модели все отношения принадлежат одному уровню, именно это осложняет преобразование иерархических связей модели “сущность‐связь” в реляционную модель. ОО‐модель можно рассматривать послойно, на разных уровнях абстракции.

- имеется возможность определения новых типов данных и операций с ними.

Недостатки:

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

- вместо чисто декларативных ограничений целостности или полудекларативных триггеров для обеспечения внутренней целостности приходится писать процедурный код.

Очевидно, что оба эти недостатка связаны с отсутствием развитых средств манипулирования данными. Эта задача решается двумя способами:

1.Расширение ОО‐языков в сторону управления данными (стандарт ODMG)

2.Добавление объектных свойств в реляционные СУБД (SQL‐3, а также объектно‐ реляционных СУБД).

Стандарт ODMG (Object Data Management Group) ODMG добавляет возможности взаимодействия с базами данных в ОО-языки программирования: определяются средства долговременного хранения объектов и расширяется семантика языка, вносятся операторы управления данными. Стандарт состоит из нескольких частей: Ключевые концепции объектной модели ODMG:

1.наделение объектов такими свойствами как атрибуты и связи

2.методы объектов (поведение)

3.множественное наследование

4.идентификаторы объектов (ключи)

5.определение таких совокупностей объектов как списки, наборы, массивы.

6.блокировка объектов и изоляция доступа

7.операции над базой данных

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

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

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

    1. Недостатки и ограничения реляционной модели. Постреляционные базы данных, примеры. Идея ООБД. Преимущества, недостатки и особенности использования объектно-ориентированных баз данных.

Недостатки и ограничения реляционной модели.

A) Высокая приспособленность к реализации в СУБД, вследствие простоты структур.

B) Наличие формальной теории нормализации, помогающей в определении оптимальной структуры базы данных.

C) Наличие универсального языка SQL, сочетающего функции ЯОД, ЯМД и ЯООД.

D) Возможность поддержки распределенных БД.

Недостатки модели связаны с отсутствием хранения явной информации о связях:

Отсюда следует:

A) Не всегда адекватное представление предметной области.

B) Невозможность явного определения ограничений на существование.

C) Неприспособленность модели для инфологического моделирования

D) Определенные трудности при создании запросов.

Постреляционные базы данных, примеры.

Постреляционная модель данных представляет собой расширенную реляционную модель, в которой отменено требование атомарности атрибутов. Поэтому постреляционную модель называют "не первой нормальной формой" (NF2) или "многомерной базой данных". Она использует трехмерные структуры, позволяя хранить в полях таблицы другие таблицы. Тем самым расширяются возможности по описанию сложных объектов реального мира. В качестве языка запросов используется несколько расширенный SQL, позволяющий извлекать сложные объекты из одной таблицы без операций соединения.

Существует несколько коммерческих постреляционных СУБД, более подробные сведения о них можно получить на веб-серверах фирм-производителей. Пожалуй, самыми известными из них являются системы AdabasPick и Universe.

Идея ООБД.

Общие понятия объектно-ориентированного подхода и их преломление в ООБД

Видимо, наиболее важным новым качеством ООБД, которое позволяет достичь объектно-ориентированный подход, является поведенческий аспект объектов. В прикладных информационных системах, основывавшихся на БД с традиционной организацией (вплоть до тех, которые базировались на семантических моделях данных), существовал принципиальный разрыв между структурной и поведенческой частями. Структурная часть системы поддерживалась всем аппаратом БД, ее можно было моделировать, верифицировать и т.д., а поведенческая часть создавалась изолированно. В частности, отсутствовали формальный аппарат и системная поддержка совместного моделирования и гарантирования согласованности этих структурной (статической) и поведенческой (динамической) частей. В среде ООБД проектирование, разработка и сопровождение прикладной системы становится процессом, в котором интегрируются структурный и поведенческий аспекты. Конечно, для этого нужны специальные языки, позволяющие определять объекты и создавать на их основе прикладную систему [70].

Специфика применения объектно-ориентированного подхода для организации и управления БД потребовала уточненного толкования классических концепций и некоторого их расширения [6]. Это определяется потребностями долговременного хранения объектов во внешней памяти, ассоциативного доступа к объектам, обеспечения согласованного состояния ООБД в условиях мультидоступа и тому подобных возможностей, свойственных базам данных [8]. В [6] выделяются три аспекта, отсутствующие в традиционной парадигме, но требующиеся в ООБД.

Первый аспект касается потребности в средствах спецификации знаний при определении класса (ограничений целостности, правил дедукции и т.п.) Второй аспект - потребность в механизме определения разного рода семантических связей между объектами вообще говоря разных классов. Фактически это означает требование полного распространения на ООБД средств семантического моделирования данных. Потребность в использовании абстракции ассоциирования отмечается и в связи с использовании ООБД в сфере автоматизированного проектирования и инженерии [66]. Наконец, третий аспект связан с пересмотром понятия класса. В контексте ООБД оказывается более удобным рассматривать класс как множество объектов данного типа, т.е. одновременно поддерживать понятия и типа и класса объектов.

Как мы отмечали во введении, в сообществе исследователей ООБД и разработчиков систем отсутствует полное согласие, но в большинстве практических работ используется некоторое расширение объектно-ориентированного подхода.

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