Database Programming & Design



Обзор статьи "Bringing Object Relational Down To Earth" - часть 6


класса-1 с экземпляром класса-2. Пользователь должен иметь

возможность выдавать запросы выборки экземпляров класса-1 на

основе условий поиска на экземплярах класса-2 или же запросы

выборки экземпляров класса-2, привязанных к экземплярам класса-1

(удовлетворяющим условиям поиска на экземплярах класса-1).

Конструкция запроса, называемая "выражением пути" ("path

expression"), может позволить пользователю специфицировать

условия поиска на последовательности классов, связанных через

домены атрибутов.

  • Запросы и атрибуты с множественными значениями

    Если пользователь определяет атрибут с множественными значениями

    и заносит в него набор значений, то этот пользователь должен

    иметь возможность выбирать или изменять любой индивидуальный

    элемент множества и любое его подмножество. ObjectSQL должен

    обеспечивать соответствующие средства запросов. Хорошим базисом

    для этого является конструкция "порождаемой таблицы" ("derived

    table") языка SQL-92, но в настоящее время в SQL-92 отсутствуют

    полные возможности манипулирования элементами множеств.

  • Запросы с методами/функциями в предикатах поиска

    Пользователь должен иметь возможность использовать вызов метода в

    любом месте запроса, где может содержаться вызов функции или

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

    возвращать результат для использования при дальнейшем выполнении

    запроса.

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

    Пользователь должен иметь возможность использовать в условии

    поиска любой атрибут вне зависимости от вида его домена. В

    частности, доменом может являться ADT.

  • Представления

    "Представление" ("view") - это подмножество базы данных,

    удовлетворяющее определенным пользователем условиям; содержимое

    представления создается при выполнении соответствующего запроса.

    В RDB представление логически эквивалентно таблице. В ORDB

    представление не являются логическим эквивалентом класса, хотя

    нужны по тем же причинам, что и в RDB.


    Содержание  Назад  Вперед