Проблемы моделирования
На сегодня ОРСУБД добились наибольшего успеха в областях
управления мультимедийными объектами и сложными данными, такими
как геопространственные данные и временные ряды финансовых
приложений. Системы часто используются в Web-приложениях и
специализированных складах данных (datawarehouses). Развитые
Web-приложения демонстрируют преимущества возможностей ОРСУБД по
интегрированному управлению мультимедиа, традиционными
структурированными данными и шаблонами для динамической генерации
страниц.
Мультимедийные включают аудио, видео, графику и форматированный и
неформатированный текст. Структуры данных сами по себе не очень
интересны; для ОРСУБД, если не принимать во внимание определенные
методы доступа, все они вкладываются в однотипные большие двоичные
объекты (BLOBs - Binary Large Objects). Более интересна новая
возможность создания серверных функций для индексирования, поиска
и обработки хранимых мультимедийных данных. Например, Web
DataBlade Informix включает не только набор структур данных
(шаблонов) для мультимедийных страниц приложения, но также и
функции для обработки SQL-запросов, переменных и процедурных
тегов, встроенных в HTML. Страницы приложения сохраняются с
применением непрозрачного UDT с именем html, у которого имеются
методы для управления и обработки страниц. Исходный тип - это
просто текст; интересны именно методы.
Временные ряды - упорядоченные массивы значений, индексируемые по
времени, являются представительным примером сложного типа данных.
Во всех основных ОРСУБД имеется (или будет иметься) один или
более Cartridge, Datablade или Extender для работы с временными
рядами. Можно также построить и свои собственные структуры и
методы, поддерживающие временные ряды. Независимо от источника
тип временных рядов должен иметь имя и другие описательные поля,
а также один или более векторов значений, индексирующих данные.
Значения серий более недоступны через нерасширенный SQL; для
извлечения и обработки значений и рядов целиком обычно нужны
функции и операции, например, функция GETVALUE с параметрами
SERIESNAME и DATE. Можно было бы перегрузить операцию PLUS для
сложения серии со скалярным значением и для сложения значений
двух серий.
Эти примеры показывают, что при использовании
объектно-реляционного подхода моделируются и данные, и процессы:
какой информацией мы располагаем и что собираемся с ней делать. В
реляционных же базах данных поддерживается лишь ограниченная
инкапсуляция операций и процессов. Очевидно, что методологии и
средства проектирования теперь должны моделировать и данные, и
операции. Кроме того, эти средства должны давать возможность
работы со встроенными типами и методами и расширять модель
определенными пользователями типами и функциями и модулями
Cartridge, DataBlade и Extender.