Классика баз данных - статьи

       

множество объектов включает все множества


основывается на семантике включения, т.е. суперкласс как

множество объектов включает все множества объектов подклассов,

хотя некоторые операции не соответствуют этой семантике.

Идея нашего предложения основывается на следующем наблюдении.

Среди операций реляционной алгебры имеются два вида операций:

теретико-множественные операции и операция селекции формируют

из операндов-отношений отношение-результат с той же схемой;

операции же проекции и соединения формируют

отношение-результат со схемой, которая в общем случае не

описывалась статически в составе схемы БД, т.е. в другой

терминологии эти операции формируют не только значение, но и

тип этого значения. И это не вызывает никакой двусмысленности,

потому что схему отношения-результата (тип результата) можно

определить в статике до выполнения операции.

Встает вопрос: почему бы не попытаться распространить подобный

подход на классы объектов? Возможно, например, следующее

неформальное определение алгебры классов объектов. Эта алгебра

включает набор теоретико-множественных операций, а также

операции декартова произведения, селекции и проекции.

Теоретико-множественные операции определяются для "однотипных"

классов, и класс результата помещается в решетку классов схемы

БД в соответствии с семантикой включения. (Во время вычисления

алгебраического выражения одновременно формируется

соответствующий временный вариант решетки классов.) Операция

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

наборов методов классов-операндов и являющийся их подклассом.

Операция селекции формирует класс, являющийся подклассом

класса-операнда. Операция проекции формирует класс, включающий

указанное подмножество методов класса-операнда и являющийся

его суперклассом. С использованием операций декартова

произведения и проекции можно определить операцию соединения

классов. Можно расширить алгебру операцией присваивания, и в

этом случае класс, которому присваивается результат

алгебраического выражения должен быть определен в схеме БД


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