Свойства объектно-реляционного подхода
В объектно-реляционных базах данных информация организуется в
виде знакомых реляционных табличных структур.
Объектно-ориентированные реализации предполагают поддержку
реляционной модели данных. ОРСУБД являются постепенным развитием
предшествующих им реляционных СУБД. В отличие от чисто объектных
баз данных, переход к объектно-реляционным системам не требует
массового перепрограммирования. Подобно тому как компилятор Си++
при отсутствии классов понимает текст на языке Си++, так и с
учетом главным образом синтаксических отличий SQL-92 от SQL3
ОРСУБД должны поддерживать существующие реляционные схемы. Однако
в текущих реализациях имеются пробелы, такие как отсутствие
поддержки репликации в Informix Universal Data Option или
наследования в Oracle8, так что детали реализации нужно держать в
уме.
Наиболее важными новыми объектно-реляционными возможностями
являются определяемые пользователями типы (UDT - User-Defined
Types), определяемые пользователями функции (UDF - User-Defined
Functions) и инфрастуктура (методы индексации и доступа, а также
усовершенствованные способы оптимизации). Определяемые
пользователями типы классифицируются на уточненные (distinct),
непрозрачные (opaque) и строчные (составные).
Уточненные типы, называемые также типами значений, порождаются из
других типов, но имеют свои собственные домены (допустимые
множества значений), операции, функции и преобразования типов.
Это позволяет создавать более строго типизированные приложения
ОРСУБД, что помогает гарантировать соблюдение целостности.
Непрозрачные типы не порождаются из имеющихся, их внутренняя
структура, равно как и операции, функции и преобразования типов
должны быть определены для СУБД. Определенный должным образом
непрозрачный тип может служить исходным типом для определения
уточненных и строчных типов, а также использоваться в таблицах.
Строчный тип представляет собой набор полей других типов; один
строчный тип может включать другой строчный тип как тип поля.
Средства работы с полями строчного типа соответствуют типам
полей. Операции, функции и преобразования самого строчного типа
должны явно определяться.
Типы коллекций, представляющие множества или списки значений
встроенных или определенных пользователями значений, являются еще
одним нововведением объектно-реляционного подхода.
Cartridges, DataBlades и Extenders - это модули, построенные на
основе объектно-реляционной инфраструктуры СУБД. Они состоят из
типов, структур данных, функций и данных и часто включают
специальные интерфейсы разработчиков или готовые приложения.