Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000136.doc
Скачиваний:
29
Добавлен:
30.04.2022
Размер:
513.54 Кб
Скачать

1.3. Необходимость создания и состояние развития ообд

Наиболее распространенной моделью данных является реляционная модель данных. Однако при увеличении объемов данных начинают проявляться недостатки реляционной модели данных и баз данных, построенных на ее основе. К этим недостаткам можно отнести следующие [1]:

- сложность структуры данных, вызванная необходимостью поддерживать требования нормализации;

- низкая производительность при поиске информации; поиск реализуется по ключу, что увеличивает в 3-5 раз количество операций доступа;

- ограниченный набор типов данных;

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

- невозможность послойного рассмотрения данных с учетом разного уровня агрегирования (например: выборка всех работников (первый уровень агрегирования), выборка преподавателей (второй уровень агрегирования), выборка докторов наук из преподавателей (третий уровень агрегирования);

- невозможность поддержки объектно-ориентированной идеологии; невозможность задать для определенного типа данных набора операторов-методов и/или набора типовых свойств;

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

Одним из способов устранения указанных недостатков является построение и использование объектно-ориентированной базы данных (ООБД).

В 1989 году был опубликован «Манифест ООБД» [2]. В нем была предложена формула

ООСУБД = СУБД + ООЯП,

где сокращение ОО означает объектно-ориентированный, ЯП – язык программирования.

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

В 1991 году была сформирована группа Object Database Management Group (ODMG), которая должна была создать стандарты для ООБД. В 1993 году эта группа предложила стандарт для ООБД, названный ODMG-3. Данный стандарт включает:

- объектную модель Object Data Model (ODM);

- язык определения объектов Object Definition Language (ODL);

- объектный язык запросов Object Query Language (OQL);

- интерфейсы языков программирования (С++ и другие).

Реализовать в полном объеме рекомендации ODMG-3 пока не удается.

Использование объектно-ориентированных принципов позволяет создать описание (модель) предметной области в виде совокупности объектов – сущностей, объединяющих данные и методы обработки этих данных (процедуры). Каждый объект обладает собственным поведением и моделирует некоторый объект реального мира.

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

Основные положения ООБД, базирующиеся на объектно-ориентированном подходе, следующие [1]:

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

- процедура манипуляции данными позволяет присоединять процедуры, определенные значениями столбцов;

- данные столбцов могут наследоваться;

- элементами отношений могут служить не только отдельные элементы, как в реляционных БД, но и множества;

- формируются классы данных, которые организуют столбцы в иерархию.

Базовым языком ООБД чаще всего является С++. Для работы с такими ООБД разрабатывается новый вариант языка SQL, получивший название SQL3 и содержащий внутри себя в качестве частного случая реляционную модель (SQL2).

В технологии разработки ООБД конкурируют два направления [1].

- Distributed Object Linking and Embedding (OLE) фирмы Microsoft;

- Common Object Request Broker Architecture (CORBA) группы OBDMG, поддерживаемая фирмами IBM, Novell, DEC. В рамках этого направления выделены и сформированы указанные ранее язык определения объектов ODL, объектный язык запросов OQL, язык определения интерфейсов IDL.

Во втором направлении обычно выделяют два стандарта управления БД:

- ODL/OQL, в котором объекты и методы формируются обычно с помощью языка программирования С;

- язык SQL3.

Необходимо отметить, к объектно-ориентированным можно отнести только те базы данных, у которых все структурные элементы реализации (база данных, алгоритм работы, интерфейс пользователя) построены с использованием объектно-ориентированного подхода.

В настоящее время насчитывается свыше 300 объектно-ориентированных СУБД (ООСУБД). Сведения о некоторых из них приведены в табл. 1.

Таблица 1

Характеристики некоторых ООСУБД

Фирма –

производитель

Название ООСУБД

Средства

разработки

Подход

к разработке

Objectivity

Objectivity/DB

C, C++, SQL, Java

Расширение объектно-ориентированных библиотек классов

Poet Software

Poet

C, C++, ODBC, Java

Object Design

Object Store

C, C++, Java

Ontos Inc.

C++, Java

Расширение объектно-ориентированных библиотек классов

Versant Object Technology

Ontos DB, Versant

C++, Java

Computer Associate

Jasmine

C++, Java

НПЦ «Интеллект Плюс»

ODB-Jupiter

C++

O2 Technology

O2

C++, Java

Вставка объектно-ориентиро-ванного языка БД в обычный базовый язык

GemStone Inc.

GemStone

C++, Java

Расширение языка (С++) возможностями работы с БД

InterSystems

Cache

Semantic Information Manager, Cache ObjectScript

Новый язык базы данных или модели данных

Можно выделить следующие сферы применения ООСУБД и ООБД:

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

- САПР;

- управление производством;

- обработка изображений;

- CASE-системы для автоматизации разработки информационных вычислительных систем;

- гипертекстовые и издательские системы;

- экспертные системы.

Многие фирмы–разработчики коммерческих СУБД обратились к объектным технологиям и доработали свои СУБД. Например, фирмы IBM и Oracle добавили объектную надстройку над реляционным ядром системы (продукты DB2 и ORACLE). Фирма Informix приобрела объектно-ориентированную СУБД Illustra и встроила ее в свою СУБД.