VisualData

Модель данных

По аналогии с отношением классов, образованным парой атрибутов, простейший виртуальный соединитель атрибутов образован парой сокетов. И точно так же, как класс обладает кортежем своих атрибутов, любой атрибут потенциально содержит в своем составе кортеж сокетов.

При создании в модели приложения нового отношения, каждый из связываемых отношением классов добавляет в свой кортеж атрибут, типизированный оппозитным классом. Совершенно аналогичным образом, при создании нового соединителя каждый из связываемых атрибутов добавляет в свой кортеж сокет, адресная часть которого содержит идентификатор оппозитного сокета соединителя.

Таким образом, в отличие от визуально-наглядной логической модели предметной области — модели приложения, образованной экземплярами четырех базисных элементов, два из которых виртуальны, исполнительная модель данных включает в себя только три (!) разновидности структур данных, которые являются экземплярами истинно физических базисных элементов: класса, атрибута и сокета.

Из трех элементов модели данных независимым является только класс, относительно которого два других элемента образуют трех-уровневую систему "вложенности" (вспомним, что в табличном представлении используются двух-уровневые мета-данные: таблица и колонка):


 

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

Для организации управления объектами данных, модель данных дополнительно включает в состав каждого класса данных унифицированный набор служебных атрибутов. В производных объектах данных значения служебных атрибутов используются для валидации идентификатора объекта, управления его состоянием и навигационной доступностью. Кроме этого, и с этой же целью, модель данных включает в свой состав, помимо пользовательских классов, еще и предопределенные служебные классы, объекты которых используются для администрирования системы управления данными в целом. За небольшим исключением, факт существования служебных классов и служебных атрибутов, скрыт от пользователя.

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