2 подписчика
Объектно-реляционная модель хранения (ORM DataStore) СУБД Oracle 8,9
Объектно-реляционная модель хранения Oracle Database версии 8 (1997 г.) была реализована вне ядра СУБД средствами модулей PL/SQL, которые являлись внешним пакетом приложений. Попытка внедрения кода ORM в ядро СУБД Oracle версии 8 была неудачной. СУБД Oracle 8 при использовании ORM кода ядра «падала» похлеще СУБД Линтер версии 3 при попытке создать иерархический словарь.
Объектно-реляционная модель хранения (ORM DataStore) Oracle DB (2001г. версия 9.0.1) — модель хранения, которая из классических таблиц создает сложные структуры объектов.
Вы можете хранить простые строки и столбцы вместе со сложными типами данных, такими как коллекции и вложенные структуры, сохраняя при этом всю мощь языка SQL.
Основные понятия
Объектные типы (Object Types): Свои типы данных (объекты), которые объединяют атрибуты и пакеты функции обработки данных (методы).
Вложенные таблицы (Nested Tables): Таблицы хранения значений и связей
Массивы (VARRAY): Списки многозначных атрибутов
Ссылки (REF): Указатели на конкретные объекты в других таблицах (связи).
Типы объектов (OBJECT TYPE): Пользовательские типы данных, которые могут содержать как атрибуты (скалярные типы вроде VARCHAR2 или NUMBER), так и методы (функции и процедуры).
Объектные таблицы (OBJECT TABLE): Таблицы, где каждая строка представляет собой отдельный объект с уникальным системным идентификатором — OID (Object Identifier).
Ссылки (REF): Специальный тип данных для указания на конкретные строки-объекты в объектных таблицах, заменяющий традиционные внешние ключи (Foreign Keys) на прямые указатели.
Коллекции (Varrays и Nested Tables): Инструменты для моделирования атрибутов с множественными значениями (например, списка телефонов или строк заказа прямо внутри объекта).
Главные плюсы
Сложные структуры: Удобно описывать реальные вещи и связи без лишних таблиц соединения.
Понятный код: Логику можно хранить прямо внутри типов данных через методы на PL/SQL.
Совместимость: Старый добрый SQL и новые объекты работают вместе в одной базе.
Повторное использование: Созданный объектный тип можно применять в разных частях базы.
Минусы подхода
Сложность: Требуется подготовка для проектирования и поддержки БД
Скорость: Запросы с объектами и ссылками работают медленнее, чем простые реляционные без использования индексов Nested Tables.
1 минута
24 сентября