Jump to content

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

(Перенаправлено с объектно-реляционного )

Объектно -реляционная база данных ( ORD ), или объектно-реляционная система управления базами данных ( ORDBMS ), — это система управления базами данных (СУБД), аналогичная реляционной базе данных , но с объектно-ориентированной моделью базы данных : объекты, классы и наследование напрямую поддерживается в схемах баз данных и в языке запросов . Кроме того, как и в чисто реляционных системах, он поддерживает расширение модели данных за счет пользовательских типов данных и методов .

Пример объектно-ориентированной модели базы данных [ 1 ]

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

Основная потребность в объектно-реляционной базе данных возникает из-за того, что как реляционная, так и объектная базы данных имеют свои индивидуальные преимущества и недостатки. Изоморфизм реляционной системы баз данных с математическим отношением позволяет использовать многие полезные методы и теоремы теории множеств. Однако эти типы баз данных не являются оптимальными для определенных типов приложений. Объектно-ориентированная модель базы данных допускает использование таких контейнеров, как наборы и списки, произвольные определяемые пользователем типы данных, а также вложенные объекты. Это обеспечивает общность между системами прикладного типа и системами типа базы данных, что устраняет любую проблему несоответствия импедансов. Но объектные базы данных, в отличие от реляционных, не предоставляют какой-либо математической базы для их глубокого анализа. [ 2 ] [ 3 ]

Основная цель объектно-реляционной базы данных — преодолеть разрыв между реляционными базами данных и методами объектно-ориентированного моделирования, используемыми в таких языках программирования, как Java , C++ , Visual Basic .NET или C# . Однако более популярной альтернативой достижению такого моста является использование стандартных систем реляционных баз данных с той или иной формой программного обеспечения объектно-реляционного сопоставления (ORM). В то время как традиционные продукты РСУБД или SQL-СУБД ориентированы на эффективное управление данными, полученными из ограниченного набора типов данных (определенных соответствующими языковыми стандартами), объектно-реляционная СУБД позволяет разработчикам программного обеспечения интегрировать свои собственные типы и методы, которые применить к ним в СУБД.

ORDBMS (например, ODBMS или OODBMS ) интегрирована с объектно-ориентированным языком программирования . Характерными свойствами ОРСУБД являются 1) сложные данные, 2) наследование типов и 3) поведение объектов. Создание сложных данных в большинстве ОРСУБД SQL основано на предварительном определении схемы через определяемый пользователем тип (UDT). Иерархия в структурированных сложных данных предлагает дополнительное свойство — наследование типов . То есть структурированный тип может иметь подтипы, которые повторно используют все его атрибуты и содержат дополнительные атрибуты, специфичные для этого подтипа. Еще одно преимущество — поведение объекта — связано с доступом к объектам программы. Такие программные объекты должны быть пригодными для хранения и транспортировки для обработки базы данных, поэтому их обычно называют постоянными объектами . Внутри базы данных все отношения с постоянным программным объектом являются отношениями с его идентификатором объекта (OID) . Все эти моменты можно решить в правильной реляционной системе, хотя стандарт SQL и его реализации накладывают произвольные ограничения и дополнительную сложность. [ 4 ] [ нужна страница ]

В объектно-ориентированном программировании (ООП) поведение объекта описывается посредством методов (объектных функций). Методы, обозначаемые одним именем, отличаются типом своих параметров и типом объектов, к которым они прикреплены ( сигнатура метода ). В ООП-языках это называется принципом полиморфизма , который кратко определяется как «один интерфейс, множество реализаций». Другие принципы ООП, наследование и инкапсуляция , связаны как с методами, так и с атрибутами. Наследование методов включено в наследование типов. Инкапсуляция в ООП — это степень видимости, объявленная, например, через public, private и protected модификаторы доступа .

Объектно-реляционные системы управления базами данных возникли в результате исследований, проведенных в начале 1990-х годов. Это исследование расширило существующие концепции реляционных баз данных, добавив концепции объектов . Исследователи стремились сохранить декларативный язык запросов, основанный на исчислении предикатов, в качестве центрального компонента архитектуры. Вероятно, самый известный исследовательский проект Postgres (Калифорнийский университет в Беркли) породил два продукта, берущих свое начало от этого исследования: Illustra и PostgreSQL .

В середине 1990-х годов появились первые коммерческие продукты. В их число входили Illustra [ 5 ] (Illustra Information Systems, приобретенная Informix Software , которая, в свою очередь, была приобретена IBM ), Omniscience (Корпорация Omniscience, приобретенная Oracle Corporation и ставшая исходной Oracle Lite) и UniSQL (UniSQL, Inc., приобретенная KCOMS ). Украинский разработчик Руслан Засухин, основатель Paradigma Software, Inc. , разработал и выпустил первую версию базы данных Valentina в середине 1990-х годов в виде C++ SDK . К следующему десятилетию PostgreSQL превратилась в коммерчески жизнеспособную базу данных и стала основой для нескольких текущих продуктов, поддерживающих ее функции ОРСУБД.

Ученые-компьютерщики стали называть эти продукты «объектно-реляционными системами управления базами данных» или ОРСУБД. [ 6 ]

Многие идеи ранних объектно-реляционных баз данных в значительной степени были включены в SQL:1999 через структурированные типы . Фактически, любой продукт, который соответствует объектно-ориентированным аспектам SQL:1999, можно описать как продукт для управления объектно-реляционными базами данных. Например, IBM Db2 , база данных Oracle и Microsoft SQL Server заявляют о поддержке этой технологии и делают это с разной степенью успеха.

Сравнение с СУБД

[ редактировать ]

СУРБД обычно может включать в себя такие операторы SQL , как эти:

   CREATE TABLE Customers  (
       Id          CHAR(12)    NOT NULL PRIMARY KEY,
       Surname     VARCHAR(32) NOT NULL,
       FirstName   VARCHAR(32) NOT NULL,
       DOB         DATE        NOT NULL   # DOB: Date of Birth
    );
    SELECT InitCap(C.Surname) || ', ' || InitCap(C.FirstName)
      FROM Customers C
     WHERE Month(C.DOB) = Month(getdate())
       AND Day(C.DOB) = Day(getdate())

Самый актуальный Базы данных SQL позволяют создавать пользовательские функции , которые позволяют запросу выглядеть следующим образом:

    SELECT Formal(C.Id)
      FROM Customers C
     WHERE Birthday(C.DOB) = Today()

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

    CREATE TABLE Customers (
      Id           Cust_Id     NOT NULL  PRIMARY KEY,
      Name         PersonName  NOT NULL,
      DOB          DATE        NOT NULL
    );
    SELECT Formal( C.Id )
      FROM Customers C
     WHERE BirthDay ( C.DOB ) = TODAY;

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

     SELECT InitCap(C.Surname) || ', ' || InitCap(C.FirstName), A.city
       FROM Customers C JOIN Addresses A ON A.Cust_Id=C.Id -- the join
      WHERE A.city="New York"

Тот же запрос в объектно-реляционной базе данных выглядит проще:

    SELECT Formal( C.Name )
      FROM Customers C
     WHERE C.address.city="New York" -- the linkage is 'understood' by the ORDB

См. также

[ редактировать ]
  1. ^ Глоссарий по интеграции данных (PDF) , США: Министерство транспорта, август 2001 г., заархивировано из оригинала (PDF) 24 сентября 2016 г. , получено 8 марта 2014 г.
  2. ^ Фрэнк Стаджано (1995), Нежное введение в реляционные и объектно-ориентированные базы данных (PDF)
  3. ^ Наман Согани (2015 г.), Обзор технического документа (PDF) , заархивировано из оригинала (PDF) 4 марта 2016 г. , получено 5 октября 2015 г.
  4. ^ Дэйт, Кристофер «Крис» Дж .; Дарвен, Хью , Третий манифест
  5. ^ Стоунбрейкер. Майкл с Муром, Дороти. Объектно-реляционные СУБД: следующая большая волна . Издательство Морган Кауфманн, 1996. ISBN   1-55860-397-2 .
  6. ^ В то время возник спор, был ли этот термин придуман Майклом Стоунбрейкером из Illustra или Вон Кимом из UniSQL.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 339d01bcb48bd990c86f484242d7be0b__1704172980
URL1:https://arc.ask3.ru/arc/aa/33/0b/339d01bcb48bd990c86f484242d7be0b.html
Заголовок, (Title) документа по адресу, URL1:
Object–relational database - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)