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

       

в производном классе разработчик ИС


Т.к. в производном классе разработчик ИС добавляет различные атрибуты, то необходимо изменить как методы обработки данных (для извлечения значений атрибутов для объекта), так и методы визуализации, которые отвечают за отображения значений добавленных атрибутов в графическом интерфейсе пользователя. Разработка объектной системы, отвечающей выделенным критериям оптимальности, позволит получить следующие преимущества:


  1. Унифицированная система абстрактных типов данных, способствующая повторному использованию написанных ранее классов.
  2. Ускорение процесса разработки приложений за счёт хранения всей информации (классов предметной области и метаклассов) в единой БД, что позволяет создать вспомогательные инструменты, ускоряющие процесс разработки ИС.
  3. Упрощение процесса внесения модификаций, которые в нашем случае представляют добавление производных классов, объявление новых атрибутов, создание новых методов и изменение существующих.
  4. Возможность программной генерации методов обработки и визуализации по имеющейся метаинформации.


Рассмотрим реализацию описанных принципов организации объектной системы, удовлетворяющую выделенным критериям оптимальности на гипотетическом примере (рис. 1).

Рис. 1. - Принципы организации объектной системы в РСУБД

Рисунок требует пояснений. В левой части рисунка расположены две таблицы (MasterTable(главная) и DetailTable (подчинённая)), объединённые связью "один-ко-многим". Для организации такой связи в DetailTable присутствует внешний ключ MFld01, который ссылается на первичный ключ таблицы MasterTable (поле MFld01). Отметим, что все поля таблиц описаны с помощью встроенных типов данных целевой РСУБД (Microsoft SQL Server 2005). В соответствии с КО3 каждая из таблиц трансформируется в классы. При этом каждый класс становится корневым для своей иерархии и предоставляется возможность объявить производные классы (КО5). Суть в том, что все экземпляры иерархии данного и производных классов сохраняются в этой таблице. Такой подход напоминает реализацию метода ОРО «Наследование с одной таблицей (Single Table Inheritance)» [1,3], однако, в нашем случае в таблице присутствуют только атрибуты корневого класса.

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