logo
Книга по БД(Вальке А

2.5. Объектно-реляционная модель данных

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

Рассмотрим пример археологической информационной системы. Такая система будет хранить изображения (фотографии) различных археологических находок. Цель такой системы - обеспечить хранение этих фотографий вместе с сопутствующей информацией - когда, где, на какой глуюине это было найдено и т.д. Хотелось бы использовать эту систему и для помощи археологам. Предположим, был найден осколок вазы с рисунком. Археологу очень хочется узнать, в каких районах находились вазы с похожим рисунком и на основе этой информации определить пути миграции народов. Если просто хранить фотографии в базе данных, то потребуется очень много времени, чтобы визуально просмотреть все фотографии и найти похожие. Естественно, процесс просмотра и анализа можно автоматизировать - возможно написать программу-клиент, которая просмотрит все фотографии и на основе специальных математических алгоритмов выберет похожие. Однако в таком решении есть одна тонкость - подобная программа-клиент вызовет очень большой траффик, ведь оцифрованные фотографии очень объемны, а их количество в подобной системе может исчисляться миллионами. Следовательно, более логично и эффективно было бы встроить обработку фотографий (а именно, их сравнение с образцом) в сам сервер базы данных. Объектно-реляционная модель предполагает такую возможность, то есть можно определять новые типы данных для атрибутов, можно вводить новые функции работы с данными внутрь сервера и т.д.

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

Рассмотрим основные возможности объектно-реляционных СУБД по сравнению с обычными реляционными СУБД на примере Informix DS сопцией Universal Data Option. Informix DS/Universal Data Option предоставляет следующие дополнительные возможности:

Так как ОРСУБД поддерживают стандартный SQL, то построение схемы базы данных для нашего примера с издательствами в объектно-реляционной СУБД будет выглядить точно так же, как и для реляционных СУБД. Если же мы захотим воспользоваться преимуществами объектно-реляционной модели, в нашем примере мы можем определить новый тип данных “Адрес”:

CREATE TYPE адрес_т ( индекс CHAR(6), город CHAR(20), улица CHAR(20), дом INTEGER )

и создать таблицу “Издательства” с использованием этого нового типа:

CREATE TABLE Издательства ( Название CHAR(20), Адрес адрес_т )

Далее, при описании каждой из статей надо хранить список ее авторов. В реляционной модели это делать не очень удобно, зато объектно-реляционная СУБД позволит сделать это естественным и элегантным путем - для каждой статьи заводится атрибут “Авторы”, типа множество значений типа Автор_т:

CREATE TABLE Статьи ( Название CHAR(20), Авторы SET (Автор_т) )

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