Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД вопросы 16-29.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
169.14 Кб
Скачать

28.Объектно-реляционные субд. Подходы к построению объектно-реляционных субд (орсубд). К лассификация субд

В ОРСУБД широко используются такие объектно-ориентированные компоненты, как:

  • расширяемая пользователем система типов,

  • инкапсуляция,

  • наследование,

  • полиморфизм,

  • динамическое связывание методов,

  • использование составных,

  • поддержка идентичности объектов.

Подходы к построению объектно-реляционных СУБД

По мнению Стоунбрекера, существует три наиболее вероятных подхода к построению ОРСУБД:

  • построить ядро объектно-реляционной СУБД;

  • сделать "надстройку" над реляционным ядром;

  • сделать "надстройку" над объектно-ориентированным ядром.

Одной из первых попыток создания ОРСУБД является система Postgres (PostIngres). Задачей этого проекта было осуществление ряда целей.

  • Предоставление улучшенной поддержки сложных объектов.

  • Предоставление пользователям средств расширения типов данных, операторов и методов доступа.

  • Предоставление активных функций базы данных (обработчиков предупреждений и триггеров) и поддержка процесса логического вывода.

  • Упрощение кода СУБД для восстановления в случае сбоя.

  • Создание такого проекта системы, в котором использовались бы все преимущества оптических дисков, многопроцессорных рабочих станций и специализированных VLSI-микропроцессоров.

  • Внесение минимального количества изменений в реляционную модель.

Реляционная модель в СУБД Postgres была расширена с помощью включения следующих механизмов:

  • абстрактные типы данных;

  • данные типа "процедура";

  • правила.

Данные механизмы используются для поддержания разнообразных семантических и объектно-ориентированных конструкций моделирования данных, включая:

  • агрегацию,

  • генерализацию,

  • составные объекты,

  • атрибуты,

  • содержащие ссылки на кортежи в других отношениях

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

  • открытая архитектура;

  • пользовательские типы данных и функции с наследованием;

  • строгое определение типов;

  • увеличение быстродействия за счет того, что методы выполняются сервером, а не клиентом;

  • улучшенная производительность, вызываемая использованием классов, которые обеспечивают увеличение как скорости разработки приложений, так и их использования;

  • восстановление, безопасность и параллелизм на уровне объектов;

  • доступность.

29.Объектно-ориентированные субд. Особенности построения моделей суобд.

Середина 80-х годов - начало работ над объектно-ориентированными СУБД (ООСУБД)

Цель разработок: обеспечение поддержки приложений систем автоматизированного проектирования (САПР).

В 1989 г. был опубликован Манифест ООСУБД. Согласно Манифесту, ООСУБД должны поддерживать:

  • сложные объекты,

  • идентифицируемость объектов,

  • инкапсуляцию, ведущую к четкому различию между спецификацией и реализацией,

  • понятия типа и класса, включая иерархии типов,

  • расширяемость,

  • вычислительную полноту,

  • поддержку языка запросов.

В конце 1993 г. был опубликован стандарт объектных баз данных ODMG-93.

Архитектура СУОБД

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

Модель данных. Базовыми примитивами являются объекты и литералы. Каждый объект имеет уникальный идентификатор, литерал не имеет идентификатора. Объект, на который можно установить ссылку, называется экземпляром; он хранит определенный набор данных

Состояние объекта определяется набором значений, реализуемых множеством свойств. Этими свойствами могут быть атрибуты объекта или связи между объектом и одним или несколькими другими объектами.

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

БД хранит объекты, позволяя совместно использовать их различным пользователям и приложениям. БД основана на схеме данных, определяемой языком определения данных, и содержит экземпляры типов, определенных схемой.

Каждый тип имеет внешнюю спецификацию и одну или несколько реализаций. Спецификация определяет внешние характеристики типа: пользователю для работы с объектом предоставляется набор операций и набор атрибутов объекта, при помощи которых можно работать с реальными экземплярами. Реализация определяет внутреннее содержание объектов, например операции.

Тип также является объектом. Поддерживается иерархия супертипов и подтипов, реализуя стандартный механизм ООП — наследование.

Новые типы данных Особенность ООСУБД состоит в том, что создание нового типа не требует модификации ядра базы и основано на принципах ООП.

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

Поэтому для создания своего типа необходимо:

  • унаследовать свойства любого имеющегося типа, наиболее подходящего по своему поведению и состоянию к типу, который требуется получить;

  • расширить недостающие операции и атрибуты;

  • переопределить, по необходимости, уже имеющиеся

Язык СУБД и запросы

Общепризнанны две группы вариантов языков запросов:

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

  • Вторая группа языков запросов базируется на языках группы XML QL, (или XQL). Они могут применяться в качестве языков запросов в объектных и объектно-реляционных БД.

Три главных характеристики:

  • целостность,

  • масштабируемость

  • отказоустойчивость.

Для создания ООСУБД были реализованы несколько проектов, например: ORION, O2 и Cache. ООСУБД полностью поддерживают объектно-ориентированные языки программирования. Разработчики, применяющие C++ или Smalltalk, могут использовать такие преимущества объектной технологии, как наследование, инкапсуляция и полиморфизм