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

       

Паттерн AllClasses–OneTable


Паттерн AllClasses–OneTable предполагает использование единой таблицы Instances для представления дескрипторов объектов всех классов. В столбцах таблицы хранятся идентификатор объекта и его тип (см. рис. 9). Контекст использования паттерна связан с представлением атрибутов классов в виде самостоятельных таблиц. В этом случае связь между таблицами экземпляров классов и значений их атрибутов осуществляется через внешние ключи записей объектов (см. раздел 2.4.2.2). Предполагается, что значения атрибутов одного и того же типа хранятся в единой таблице независимо от их вхождения в состав того или иного класса. Тем самым достигается существенная для СН стратегии инвариантность реляционной схемы по отношению к прикладным моделям. Связь простого объекта с его классом осуществляется через внешний ключ записи в таблице классов Entities (см. раздел 2.5). Для сложных объектов предусмотрен внешний ключ записи в соответствующей таблице сложных классов Complex_Entities.

Более подробно варианты представления атрибутов в виде отдельных таблиц рассматриваются в следующих разделах (см. разделы 2.4.2.2, 2.4.3.3, 2.4.4.4, 2.4.5.3).

Рис. 9. Представление сложных объектов и их связь с метаданными в паттерне AllClasses–OneTable



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