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

       

с выделения классов, атрибутов классов


Проектирование объектной системы начинается с выделения классов, атрибутов классов и определения для них подходящих типов данных. Большая часть атрибутов в любой объектной системе описывается атомарным литеральным типом данных (целые числа, строки, символы, дробные числа и т.п.). С точки зрения реализации методов ОРО унификация иерархии подобных типов является ключевой проблемой, возникающей при организации объектной системы на основе РСУБД.

Несмотря на наличие достаточно большого количества работ, посвящённых методам объектно-реляционного отображения, в каждой из них уделяется недостаточно внимания принципам организации атомарных литеральных типов в объектной системе. При этом существует несколько ортогональных подходов к решению описанной задачи. В работах, посвященных методам ОРО без поддержки метаинформации, атрибуты классов отображаются непосредственно на поля таблиц, в которых сохранены экземпляры классов . При этом используются типы данных, присутствующие в СУБД. Так как данные методы предполагают выделение таблиц для сохранения объектов конкретной предметной области, то в них не предусмотрена унификация иерархии литеральных типов. В методах ОРО с поддержкой метаинформации, например, в «Сущность-Атрибут-Значение» (САЗ, Entity-Attribute-Value, EAV) выполняется выделение отдельных таблиц для представления конкретного типа данных . При этом для каждого атрибута указывается имя таблицы, в которой будет физически сохраняться значение для конкретного объекта. Рассмотрим недостатки известных методов организации объектной системы в РБД и причины, не позволяющие успешно решать описанную задачу:

  • Жёсткая привязка типов атрибута к типам данных, присутствующих в целевой СУБД. Причина в том, что многие авторы представляют реализации, ориентированные на конкретную СУБД. При этом смена СУБД потребует изменить большое количество кода. Кроме того, жёсткая привязка снижает возможности добавления нового атомарного литерального типа данных к существующей системе типов.

  • Отсутствие единой спецификации.

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