Министерство образования РФ

Удмуртский государственный университет

Физический факультет

Кафедра высшей математики

РЕФЕРАТ

На тему: «Объектно-ориентированные СУБД»

Выполнил: студент гр. 38-41

Проверил:

Ижевск, 2004

Предпосылки появления ООСУБД

3

Консорциум ODMG и направления его деятельности

4

Стандарт ODMG-93

6

Стандарт ODMG 2.0

7

Стандарт ODMG 3.0

9

Поставщики ООСУБД

10

Особенности ООСУБД Cache'

12

Основные компоненты СУБД Cache'

12

Средства администрирования Cache'

17

Инструментальные средства разработки приложений в СУБД Cache'

18

Версии системы и поддерживаемые платформы

23

Заключение

27

Приложение

28

Список литературы

34

Содержание

Предпосылки появления ООСУБД

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

Активные исследования в области языков программирования в конце 60-х — начале 70-х гг., связанные с типизацией данных, привели к формирова­нию концепции абстрактного типа данных, которая нашла конструктивное воплощение в разработанных в это время исследовательских языках програм­мирования — CLU, Alphard и др. Обогащенная идеями наследования, полиморфизма и инкапсуляции реализации, эта концепция трансформирова­лась впоследствии в подход, который и стал называться объектным. Получил распространение созданный еще в 1972 г. в компании Xerox PARC объектный язык Smalltalk. А после опубликования в 1983 г. Б. Строустрапом (В. Stroustrup) в AT&T Bell Laboratories языка C++, объектного расширения уже к тому време­ни весьма популярного языка С, и систем программирования, реализующих этот язык на платформе ПК, программирование в объектной парадигме стало массовым явлением.

НЕ нашли? Не то? Что вы ищете?

Эта ситуация в значительной мере пробудила интерес к воплощению объ­ектной парадигмы в технологиях баз данных. Проблема состояла прежде всего в том, что возникла необходимость в обеспечении эффективной среды хранения объектных данных для поддержки многочисленных прикладных программных систем, реализованных средствами объектных языков. Эту функцию было есте­ственно возложить на СУБД, основанные на объектных моделях данных и обла­дающие интерфейсами прикладного программирования (API) для объектных языков.

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

Наконец, создание СУБД, основанных на объектной парадигме моделирова­ния данных, позволяло преодолеть еще одну застарелую болезнь традиционных технологий баз данных — несоответствие импеданса: несоответствие типов дан­ных, которые предусмотрены в языке прикладного программирования и в моде­ли данных, поддерживаемой СУБД. Эта проблема, пожалуй, не возникала лишь для приложений СУБД типа CODASYL, реализованных в языке COBOL, поскольку запись базы данных в модели данных CODASYL строилась но образу и подобию записи в этом языке программирования. Но проблема несоответствия импеданса возникла и для СУБД этой категории, когда впоследствии по­требовалось обеспечить их средствами API для языков PL/I и FORTRAN.

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

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

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

Вместе с тем активизация объектного направления в технологиях баз дан­ных в значительной мере стимулировалась также значительным прогрессом в развитии общей объектной инфраструктуры. Здесь важную роль играли дея­тельность Object Management Group (OMG) по разработке стандар­тов, обеспечивающих возможности создания распределенных неоднородных интероперабельных объектных сред, активизация работ по стандартизации в об­ласти объектного анализа и проектирования, в том числе средств моделирова­ния метаданных и обмена метаданными между различными системами.

Консорциум ODMG и направления его деятельности

Развитие производства ряда коммерческих объектно-ориентированных СУБД выдвинуло на повестку дня в начале 90-х гг. вопрос о необходимости стандар­тизации модели данных и языковых средств для таких систем с тем, чтобы обеспечить переносимость приложений между средами различных объектных СУБД, а также их интероперабельность. Именно с целью организации практи­ческой деятельности по созданию стандартов для объектных систем баз данных в июне 1991 г. был учрежден индустриальный консорциум Object Database Management Group (ODMG), который объединил всех ведущих поставщиков объектных СУБД и стал "законодателем мод" в этой области.

В качестве исходной платформы для разработки своего стандарта объект­ных СУБД консорциум ODMG использовал:

• Манифест систем объектно-ориентированных баз данных, в котором бы­ли определены основные свойства ООСУБД;

• объектную модель и язык определения интерфейсов (IDL) стандарта OMG CORBA 1.0, обеспечивающего создание распределенных неоднородных интероперабельных объектных сред;

• проект стандарта SQL2 (в этот период завершались работы над SQL-92).

Главные требования к разрабатываемому ODMG стандарту заключались в обеспечении переносимости приложений между средами различных ООСУБД и интероперабелъности с архитектурой CORBA. В августе 1993 г. консорциум опубликовал первую версию стандарта — ODMG-93 Release 1.0. В ней со­держались спецификации объектной модели, языка определения объектов, объ­ектного языка запросов и связывания для объектных языков программирования Smalltalk и C++. При этом объектная модель ODMG представляла собой рас­ширение модели-ядра стандарта OMG CORBA, а язык определения объектов ODL — соответственно расширение языка определения интерфейсов OMG IDL, Благодаря этому обеспечивалась естественная возможность интеграции систем баз данных, основанных на стандарте ODMG, в среду объектных технологий CORBA. Язык запросов OQL в стандарте явился результатом адаптации неко­торого фрагмента языка SQL к объектной модели ODMG.

С их появлением спецификации ODMG-93 сразу же приобрели статус стандарта де-факто, поскольку в их создании участвовали все ведущие произ­водители объектных СУБД, которые поддерживали этот стандарт собственны­ми программными продуктами.

В последующие годы появились промежуточная версия стандарта ODMG Release 1.1 (февраль 1994 г.) и одобренная в ноябре 1995 г. версия ODMG Release 1.2.

Следующая существенно дополненная с функциональной точки зрения вер­сия стандарта — ODMG 2.0 была принята в июле 1997 г. К сожалению, в резуль­тате заключительного редактирования в ней появился ряд некорректностей, связанных с описанием базовой объектной модели стандарта, которые привели к ее рассогласованию с языковыми спецификациями. Это не помешало, однако, некоторым поставщикам объектных СУБД активно реализовать ряд програм­мных продуктов СУБД, основанных на данной версии стандарта.

Завершив этап своей деятельности, связанной с созданием версии стандарта ODMG 2.0, консорциум существенно изменил стратегию и содержание работ. В пресс-релизе от 27 апреля 1998 г. ODMG объявила о расширении сферы своей деятельности. Наряду с поддержкой и развитием имеющегося стандарта пред­полагалось сосредоточить усилия на разработке спецификаций стандартов «универсального хранения объектов» для различных объектных языков програм­мирования. По мнению руководства ODMG, неотложная необходимость в этом вызвана, прежде всего, появлением и широким распространением языка Java. Создание и использование таких стандартов позволили бы исключить потреб­ность в средствах отображения объектов языков программирования в различ­ные форматы хранения, облегчить перенос приложений из среды одного про­дукта, соответствующего стандарту ODMG, в среду другого такого же продукта.

Стремясь подчеркнуть, что новая поставленная задача будет весьма значи­мой в деятельности ODMG и что она важна не только в рамках систем баз дан­ных, консорциум Object Database Management Group объявил об изменении своего названия. Теперь (с апреля 1998 г.) аббревиатура ODMG расшифровыва­ется как Object Data Management Group.

Для реализации своих намерений в указанном направлении ODMG начал в 1998 г. тесно сотрудничать с компаниями Sun, Novell и Secant Technologies с целью выработки спецификаций сервиса OMG долговременно хранимых объ­ектов версии 2 (OMG Persistent State Service 2.0). Эти спецификации были представлены в OMG в качестве претендента на новый стандарт одного из 16 объектных сервисов, входящих в состав разработанной консорциу­мом архитектуры CORBA.

В составе ODMG были учреждены три новые рабочие группы. Одна из них должна была обеспечить интеграцию спецификаций сервиса долговременного хранения объектов будущего стандарта ODMG с разрабатываемой компанией Sun новой спецификацией ее компонентной модели Enterprise JavaBeans (EJB 2.0). На две другие рабочие группы возлагались задачи разработки стан­дартного отображения между объектной и реляционной моделями данных, а также связывания для среды, основанной на новом языке разметки XML. Начались также работы по созданию средств сертификации для реализации предложенной ODMG спецификации связывания для Java, которые предпола­галось включить в следующую версию стандарта.

Важно заметить, что ODMG предложила сообществу Java использовать спе­цификации связывания Java из стандарта ODMG как основу начавшегося про­цесса разработки спецификаций Java Data Object Specification (JDO). Речь идет о создании для Java спецификаций нового API высокого уровня, который по­зволял бы программисту полностью обходиться средствами Java и не обращать­ся к механизмам других языков, например к SQL, в случае использования части 1 SQLJ. При этом предполагается обеспечить прозрачность обращений к базе данных для доступа к долговременно хранимым объектам, транзакционную семантику для обработки объектов такого рода, а также интерпретацию данных реляционных баз данных как объектов Java и другие возможности.

Развивая новые направления своей расширенной сферы деятельности, ODMG вместе с тем продолжал работу над следующей версией поддерживаемо­го консорциумом стандарта — ODMG 3.0. Работа была завершена в конце 1999 г., а в январе 2000 г. этот стандарт был опубликован издательством Morgan Kaufmann Publishers под названием The Object Data Standard: ODMG 3.0. Это название в большей мере соответствует новой миссии ODMG, чем прежнее (Object Database Standard).

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

Далее рассматриваются опубликованные ODMG версии стандартов для объектных баз данных. Перед этим необходимо коснуться важного вопроса о подходе ODMG к оценке соответствия програм­мных продуктов стандартам консорциума.

Нужно здесь отметить, что ODMG решает этот вопрос нетрадиционным об­разом. Во-первых, предлагается дифференцированно оценивать соответствие продуктов отдельным компонентам стандарта. При этом различаются два понятия — «ODMG х-сертифицированный» (ODMG x-certified) продукт и «ODMG х-соответствующий» (ODMG x-compliant) продукт, где х означает один из компонентов стандарта ODMG (ODL, OQL, связывание для языков C++, Smalltalk и Java). Первое понятие означает, что рассматриваемый про­граммный продукт удовлетворяет всему набору разработанных ODMG тестов сертификации для компонента х рассматриваемого стандарта. Вторая характе­ристика понимается для ODL и OQL как синоним х-сертифицированности про­дукта. Что же касается компонентов стандарта, определяющих связывания для языков программирования, то в этом случае для присваивания продукту харак­теристики "ODMG х-соответствующий" достаточно, чтобы тестам удовлетворя­ло хотя бы подмножество спецификаций связывания (ODL, OML или OQL) для этого языка программирования.

Наряду с указанными выше оценками соответствия стандарту ODMG пред­лагается также использовать характеристику "ODMG-соответствующий" для продуктов, которые являются "ODMG х-соответствующими" для одного или более компонентов х стандарта консорциума.

Заметим, что никакой информации о существе указанных тестов, способе их получения и о процедуре сертификации ODMG не сообщает.

В настоящее время на Web-сайте ODMG представлен список программных продуктов, соответствующих стандарту ODMG (ODMG-compliant). К ним от­носятся системы: Jasmine (Computer Associates), JYD Object Database (JYD Software Engineering), TITANIUM (Micro Data Base Systems, Inc.), несколько версий ООСУБД ObjectStore (Object Design), BSF (Objectmatter), несколько продуктов линии Objectivity (компания Objectivity) и линии Orient (компания Orient), ряд продуктов компаний РОЕТ и Versant Corporation, а также продук­ты JavaBlend (Sun Microsystems) и EyeDB (Sysra Informatique). При этом ука­зывается, каким компонентам стандарта каждый из этих продуктов соответст­вует. Однако только для связывания Java указывается версия стандарта (ODMG 2.0). В остальных случаях сведения о версии умалчиваются.

Стандарт ODMG-93

ODMG-93 — это первый разработанный консорциумом стандарт для объектных СУБД. Он был опубликован в 1994 г. издательством Morgan Kaufmann Publishers (США), которое впоследствии стало постоянным издателем специ­фикаций стандартов ODMG.

Главные требования, которые определяли характер этого стандарта, заклю­чались в обеспечении переносимости приложений относительно различных ООСУБД, а также в интероперабельности с архитектурой CORBA. По замыслу авторов стандарт должен был интегрировать концепции объектной модели OMG, языка баз данных SQL и объектно-ориентированных языков программи­рования, таких, как C++, и опираться на результаты деятельности по стандарти­зации в каждом из этих направлений.

Основными компонентами стандарта ODMG-93 являются:

объектная модель, которую, как предполагается, должны поддерживать ООСУБД;

• опирающийся на эту модель язык определения объектов ODL;

• основанный на этой модели и на языке SQL объектный язык запросов OQL;

языки манипулирования данными (Object Manipulation Language — OML) для различных включающих языков, представляющие собой, по существу, отображения объектной модели ODMG в объектно-ориентированные языки программирования Smalltalk и C++ (эти отображения называют часто связываниями для соответствующих языков программирования). Объектная модель ODMG представляет собой профиль объектной модели OMG, расширяющий ее некоторыми важными возможностями, необходимыми для баз данных, прежде всего типами-коллекциями и бинарными связями между типами. Более подробно мы обсудим объектную модель ODMG при рассмотре­нии стандарта ODMG 2.0, поскольку она подверглась значительным изменени­ям в этой версии стандарта.

В силу того что объектная модель ODMG, как уже говорилось, является расширением объектной модели OMG, язык ODL является, по существу, рас­ширением языка определения интерфейсов стандарта CORBA. Это обстоятель­ство обеспечивает возможность естественного погружения объектных систем баз данных, основанных на стандарте ODMG, в технологии CORBA.

Стандарт ODMG, в свою очередь, оказывает влияние на деятельность OMG. В частности, он учитывался при разработке объектных сервисов в рамках архи­тектуры OMG. После опубликования стандарта ODMG-93 работы по его разви­тию продолжались. До 2000г. действующей являлась версия стандарта ODMG 2.0. В январе 2000 г. ODMG опубликовала новую версию своего стан­дарта объектных данных — ODMG 3.0.

Стандарт ODMG 2.0

Эта версия стандарта, названного стандартом объектных баз данных, была при­нята ODMG в июле 1997 г. Она представляет собой существенным обра­зом пересмотренные, доработанные и расширенные спецификации версии ODMG-93. Появлению ODMG 2.0, как уже указывалось, предшествовали два промежуточных шага — публикация версий стандарта ODMG 1.1 и ODMG 1.2.

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

Как уже отмечалось, объектная модель, на которой базируется стандарт ODMG (все его версии), является расширением объектной модели OMG. Бла­годаря этому становится возможным естественное погружение системы базы данных, основанной на стандарте ODMG, в архитектуру OMG CORBA.

В отличие от модели OMG в ней допускаются два вида примитивов моделирования — объекты и литералы, называемые в ранних версиях стандарта соответственно изменчивыми и неизменчивыми типами.

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

Состояние элементов данного типа определяется соответствующими им значениями его свойств (общих для всего типа) — атрибутов или бинарных свя­зей с экземплярами других типов. Поведение экземпляров типа определяется набором операций, задаваемых их сигнатурами, и этот набор также является об­щим для всех экземпляров данного типа. Для интерфейса может иметься несколько реализации. Типы в объектной модели ODMG сами являются объектами и имеют собственные свойства — список супертипов данного типа, экстент — множество экземпляров данного типа в базе данных, а также ключ — факультативное свойство, обеспечивающее возможность идентификации экзем­пляров типа значениями заданного набора свойств объекта.

Помимо объектных типов-интерфейсов, являющихся абстрактными типами (они не могут порождать экземпляров), в модели предусматриваются также объектные типы-классы, которые могут порождать экземпляры. Между класса­ми может устанавливаться транзитивное бинарное отношение простого насле­дования, обозначаемого в синтаксисе языка определения объектов (ODL) клю­чевым словом EXTENDS. Свойства типов-интерфейсов могут наследоваться другими интерфейсами и классами. В то же время интерфейсы не могут насле­довать от классов.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4