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

Поделись знанием:
Перейти к: навигация, поиск

Объектно-ориентированная база данных (ООБД) — база данных, в которой данные моделируются в виде объектов[1], их атрибутов, методов и классов[2].





История

Первые публикации об объектно-ориентированных базах данных появились в середине 80-х годов.[3]

Характеристики

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

В манифесте ООБД[4] предлагаются обязательные характеристики, которым должна отвечать любая ООБД. Их выбор основан на 2 критериях: система должна быть объектно-ориентированной и представлять собой базу данных.

Обязательные характеристики

  1. Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конструктор можно было применять к любому объекту.
  2. Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.
  3. Поддержка инкапсуляции. Корректная инкапсуляция достигается за счет того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов.
  4. Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием её типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с её типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.)
  5. Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.
  6. Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполняться до времени выполнения программы.
  7. Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения.
  8. Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.

Необязательные характеристики:

  • Множественное наследование
  • Проверка типов
  • Распределение
  • Проектные транзакции

Открытые характеристики:

  • Парадигмы программирования (процедурное, декларативное)
  • Система представления
  • Система типов
  • Однородность. Реализация — язык программирования — интерфейс.

ООБД и её СУБД

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

Некоторые объектно-ориентированные базы данных разработаны для плотного взаимодействия с такими объектно-ориентированными языками программирования как Python, Java, C#, Visual Basic .NET, C++, Objective-C и Smalltalk; другие имеют свои собственные языки программирования. ООСУБД используют точно такую же модель, что и объектно-ориентированные языки программирования.

СУБД должна обеспечивать:

  • Долговременное хранение
  • Использование внешней памяти
  • Параллелизм
  • Восстановление
  • Нерегламентированные запросы

См. также

Напишите отзыв о статье "Объектно-ориентированная база данных"

Примечания

  1. Словарь по естественным наукам. Глоссарий.ру
  2. [www.olap.ru/home.asp?artId=258 OLAP.RU: Объектно-ориентированные базы данных - основные концепции, организация и управление: краткий обзор]
  3. IEEE Database Engineering, special issue on Object-Oriented Databases, F. Lochovski, ed., Dec. 1985
  4. Atkinson et al., 1989

Литература

  • Чертовской В.Д. [www.hi-edu.ru/e-books/xbook099/01/part-012.htm Базы и банки данных. Учебное пособие]. Московский государственный университет печати. Проверено 7 мая 2011. [www.webcitation.org/65IoUmBGB Архивировано из первоисточника 8 февраля 2012].

Ссылки

  • С.Д. Кузнецов. [citforum.ru/database/articles/art_24.shtml Объектно-ориентированные базы данных - основные концепции, организация и управление: краткий обзор] (рус.). CIT Forum. Проверено 12 июня 2011. [www.webcitation.org/65IoVTXXI Архивировано из первоисточника 8 февраля 2012].
  • С.Д. Кузнецов. [citforum.ru/database/articles/manifests/ Три манифеста баз данных: ретроспектива и перспективы] (рус.). CIT Forum. Проверено 12 июня 2011. [www.webcitation.org/65IoWtWrN Архивировано из первоисточника 8 февраля 2012].


Отрывок, характеризующий Объектно-ориентированная база данных

От начальника ополчения он поехал к губернатору. Губернатор был маленький живой человечек, весьма ласковый и простой. Он указал Николаю на те заводы, в которых он мог достать лошадей, рекомендовал ему барышника в городе и помещика за двадцать верст от города, у которых были лучшие лошади, и обещал всякое содействие.
– Вы графа Ильи Андреевича сын? Моя жена очень дружна была с вашей матушкой. По четвергам у меня собираются; нынче четверг, милости прошу ко мне запросто, – сказал губернатор, отпуская его.
Прямо от губернатора Николай взял перекладную и, посадив с собою вахмистра, поскакал за двадцать верст на завод к помещику. Все в это первое время пребывания его в Воронеже было для Николая весело и легко, и все, как это бывает, когда человек сам хорошо расположен, все ладилось и спорилось.
Помещик, к которому приехал Николай, был старый кавалерист холостяк, лошадиный знаток, охотник, владетель коверной, столетней запеканки, старого венгерского и чудных лошадей.
Николай в два слова купил за шесть тысяч семнадцать жеребцов на подбор (как он говорил) для казового конца своего ремонта. Пообедав и выпив немножко лишнего венгерского, Ростов, расцеловавшись с помещиком, с которым он уже сошелся на «ты», по отвратительной дороге, в самом веселом расположении духа, поскакал назад, беспрестанно погоняя ямщика, с тем чтобы поспеть на вечер к губернатору.
Переодевшись, надушившись и облив голову холодной подои, Николай хотя несколько поздно, но с готовой фразой: vaut mieux tard que jamais, [лучше поздно, чем никогда,] явился к губернатору.
Это был не бал, и не сказано было, что будут танцевать; но все знали, что Катерина Петровна будет играть на клавикордах вальсы и экосезы и что будут танцевать, и все, рассчитывая на это, съехались по бальному.
Губернская жизнь в 1812 году была точно такая же, как и всегда, только с тою разницею, что в городе было оживленнее по случаю прибытия многих богатых семей из Москвы и что, как и во всем, что происходило в то время в России, была заметна какая то особенная размашистость – море по колено, трын трава в жизни, да еще в том, что тот пошлый разговор, который необходим между людьми и который прежде велся о погоде и об общих знакомых, теперь велся о Москве, о войске и Наполеоне.
Общество, собранное у губернатора, было лучшее общество Воронежа.
Дам было очень много, было несколько московских знакомых Николая; но мужчин не было никого, кто бы сколько нибудь мог соперничать с георгиевским кавалером, ремонтером гусаром и вместе с тем добродушным и благовоспитанным графом Ростовым. В числе мужчин был один пленный итальянец – офицер французской армии, и Николай чувствовал, что присутствие этого пленного еще более возвышало значение его – русского героя. Это был как будто трофей. Николай чувствовал это, и ему казалось, что все так же смотрели на итальянца, и Николай обласкал этого офицера с достоинством и воздержностью.
Как только вошел Николай в своей гусарской форме, распространяя вокруг себя запах духов и вина, и сам сказал и слышал несколько раз сказанные ему слова: vaut mieux tard que jamais, его обступили; все взгляды обратились на него, и он сразу почувствовал, что вступил в подобающее ему в губернии и всегда приятное, но теперь, после долгого лишения, опьянившее его удовольствием положение всеобщего любимца. Не только на станциях, постоялых дворах и в коверной помещика были льстившиеся его вниманием служанки; но здесь, на вечере губернатора, было (как показалось Николаю) неисчерпаемое количество молоденьких дам и хорошеньких девиц, которые с нетерпением только ждали того, чтобы Николай обратил на них внимание. Дамы и девицы кокетничали с ним, и старушки с первого дня уже захлопотали о том, как бы женить и остепенить этого молодца повесу гусара. В числе этих последних была сама жена губернатора, которая приняла Ростова, как близкого родственника, и называла его «Nicolas» и «ты».
Катерина Петровна действительно стала играть вальсы и экосезы, и начались танцы, в которых Николай еще более пленил своей ловкостью все губернское общество. Он удивил даже всех своей особенной, развязной манерой в танцах. Николай сам был несколько удивлен своей манерой танцевать в этот вечер. Он никогда так не танцевал в Москве и счел бы даже неприличным и mauvais genre [дурным тоном] такую слишком развязную манеру танца; но здесь он чувствовал потребность удивить их всех чем нибудь необыкновенным, чем нибудь таким, что они должны были принять за обыкновенное в столицах, но неизвестное еще им в провинции.
Во весь вечер Николай обращал больше всего внимания на голубоглазую, полную и миловидную блондинку, жену одного из губернских чиновников. С тем наивным убеждением развеселившихся молодых людей, что чужие жены сотворены для них, Ростов не отходил от этой дамы и дружески, несколько заговорщически, обращался с ее мужем, как будто они хотя и не говорили этого, но знали, как славно они сойдутся – то есть Николай с женой этого мужа. Муж, однако, казалось, не разделял этого убеждения и старался мрачно обращаться с Ростовым. Но добродушная наивность Николая была так безгранична, что иногда муж невольно поддавался веселому настроению духа Николая. К концу вечера, однако, по мере того как лицо жены становилось все румянее и оживленнее, лицо ее мужа становилось все грустнее и бледнее, как будто доля оживления была одна на обоих, и по мере того как она увеличивалась в жене, она уменьшалась в муже.