Приналежність даних — суб’єкти та об’єкти

Сторінка технічної документації є баченням майбутньої реалізації, актуальність якого може бути застарілою.

Під суб’єктом розуміється будь-яка фізична або юридична особа, що має право власності над об’єктом. Відповідно, об’єктом вважається будь-яка сутність, якою володіє суб’єкт. Для позначення сутності БД об’єктом використовується відповідний XML шаблон.

XML шаблон для визначення об’єктів

Визначення сутності об’єктом в момент створення
<createTable tableName="property" ext:historyFlag="true" ext:isObject="true">
    <column name="property_id" type="UUID" defaultValueComputed="uuid_generate_v4()">
        <constraints nullable="false" primaryKey="true" primaryKeyName="pk_property_id"/>
    </column>
    <column name="name" type="TEXT"/>
</createTable>
Визначення об’єктом сутності що існує
<ext:makeObject>
    <table name="property"/>
</ext:makeObject>

Використання атрибуту ext:isObject="true" або визначення існуючої таблиці об’єктом за допомогою тега ext:makeObject змінює структуру таблиці наступним чином:

  • додається поле subject_id

  • додається зовнішній ключ на таблицю subject

Таблиця subject вже має існувати в базі даних, інакше використання зазначених елементів в шаблоні призведе до помилки.

Статура таблиці суб’єктів

Таблиця subject створюється на етапі предеплоймента реєстру.

Структура таблиці subject
Figure 1. Структура таблиці subject
Значення полів subject_code та subject_type являють собою унікальну комбінацію.
значення типів enum
Figure 2. значення типів enum

Для пошуку даних по таблиці суб’єктів створюється Search Condition, що повертає subject_id та subject_status по subject_code та subject_type.