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


         

Паттерн GenericSelect


Данный паттерн предоставляет типовое обобщенное решение для реляционного представления произвольных атрибутов селективного типа. Он применяется в сочетании с паттерном отображения классов AllClasses–OneTable в рамках СН стратегии.

Таблица Selections хранит записи дескрипторов селективных данных, включая их дискриминаторы и ссылки на объекты в таблице Instances, атрибутами которых они являются. Сами данные хранятся в таблицах представления простых типов Integer_Elements, Real_Elements, String_Elements, Binary_Elements, Logical_Elements, Enum_Elements и в таблице ассоциаций Associations.

Возможны случаи, когда сами селективные данные являются элементом другой родительской селективной или агрегатной конструкции. Для этого в таблице дескрипторов Selections предусмотрены ссылки на соответствующие родительские селективные и агрегатные элементы данных в виде столбцов внешних ключей записей в таблицах Selections и Aggregates. Такая организация таблиц (см. рис. 17) позволяет представить вложенные конструкции, составленные из данных произвольных типов. Для получения метаинформации о селективном элементе в таблице Selections также хранятся ссылки на соответствующие записи в таблице метаданных Attributes.

Рис. 17. Представление составных селективных и агрегатных конструкций паттернами GenericSelect и GenericAggregate



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