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

Светлана Комарова

Светлана Комарова

Автор статьи. Системный администратор, Oracle DBA. Информационные технологии, интернет, телеком. Подробнее.

Прежде нами была рассмотрена модель реляционных баз данных, в которой все данные хранятся в виде таблиц. Реляционные базы данных были признаны наилучшей моделью для хранения большинства видов “простых” данных, вроде обычных данных бухгалтерского учета. Для моделирования отношений между сложными данными, однако, более подходящей были признана объектная система управления базами данных (ОСУБД; Object Database Management System — ODBMS). Тем не менее, объектные базы данных пока еще не могут всерьез конкурировать с традиционными реляционными базами данных.

Реляционная и объектная модели, по сути, находятся на двух противоположных концах в мире моделирования данных, и потому для сокращения пропасти между ними была выпущена новая разновидность реляционной модели, получившая название объектно-реляционной системы управления базами данных (ОРСУБД; Object-Relational Database Management System — ORDBMS). Компания Oracle начала применять модель ОРСУБД в своем серверном программном обеспечении еще в версии Oracle8, а последнюю версию своего сервера баз данных — 11g — вообще называет объектно-реляционной СУБД.

Реляционная модель

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

Ограничения традиционной реляционной модели при моделировании нескольких сущностей реального мира привели к изучению семантических моделей данных и так называемых расширенных реляционных моделей данных. За право считаться следующим поколением реляционной модели сейчас соревнуются две модели: объектно-ориентированная и объектно-реляционная. Базы данных, разрабатываемые на основе первой, называются объектно-ориентированными системами управления базами данных (ООСУБД; Object-Oriented Database Management Systems — OODBMS), а базы данных,разрабатываемые на основе второй, соответственно — объектно-реляционными системами управления базами данных.

Объектная модель

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

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

Объектно-реляционная модель

Хотя чисто объектная методика и привлекательна, на практике ее реализовать довольно-таки трудно. Системы ОРСУБД стараются объединять наилучшее из того, что могут предложить реляционные модели, с как можно большим из того, что могут предложить объектно-ориентированные методики. Компания Oracle заявляет, что ее модель ОРСУБД способна позволять размещать сложные производственные данные в обычной реляционной базе данных и сберегает базовую табличную форму реляционной модели. В основе предлагаемых Oracle (и другими производителями) продуктов ОРСУБД лежит SQL-стандарт ANSI/ISO/IEC 9075:2003 (также называемый просто стандартом SQL:2003).

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

Привносить объектно-ориентированную методику в реляционные базы данных системам ОРСУБД главным образом позволяют абстрактные типы. Все объекты в них представляют собой упрощенные абстракции объектов реального мира и охватывают как структуру данных, так и методы оперирования ими. Тип каждого объекта состоит из его имени, атрибутов и методов и может храниться как внутри базы данных, так и за ее пределами. Двумя другими объектно-ориентированными возможностями, которые тоже доступны в новой версии ОРСУБД Oracle Database 11g и 12с, являются: наследование типов и полиморфизм.

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

По поводу преимуществ реляционной системы баз данных перед объектно-ориентированной все время ведутся споры. Все стороны соглашаются, что реляционные базы данных действительно очень хорошо справляются с определенными задачами, вроде тех, что требуются в производственных приложениях, для которых они в настоящее время, собственно говоря, и применяются. Что же касается объектно-ориентированных баз данных, то хотя они и являются реалистичнее реляционных, их довольно трудно реализовать, и им еще очень далеко до приобретения той же степени зрелости и изощренности в отношении эксплуатации, которая уже есть у реляционных баз данных.Несмотря на возрастание популярности этих баз данных за несколько последних лет, их доля на рынке по-прежнему остается мизерной. То, смогут ли они вообще когда-нибудь вытеснить реляционные базы данных, вызывает серьезные сомнения.

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

  Продукт Oracle Database 11g и 12c представляет собой ОРСУБД. Некогда это была традиционная, чисто реляционная система, а сегодня это — система с рядом объектно-ориентированных средств, основные из которых перечислены ниже.

 

Вас заинтересует / Intresting for you:

Базы данных - презентация к ку...
Базы данных - презентация к ку... 3460 просмотров Светлана Комарова Wed, 10 Oct 2018, 17:32:17
Что такое базы данных? Назначе...
Что такое базы данных? Назначе... 12809 просмотров Ирина Светлова Mon, 28 Oct 2019, 05:41:34
Перенос корпоративных баз данн...
Перенос корпоративных баз данн... 2775 просмотров Дэн Fri, 27 Sep 2019, 07:52:18
База данных как объект правово...
База данных как объект правово... 1567 просмотров Денис Wed, 27 Mar 2019, 03:16:24
Печать
Войдите чтобы комментировать

Oracle_Admin аватар
Oracle_Admin ответил в теме #9858 3 года 1 мес. назад
Каково будущее объектных баз на Ваш взгляд? Будут существовать по конкретные задачи? Или вытеснят универсальные, гибридные?