Объектная надстройка над базой данных.
Обертка таблиц, связей, поиска, вставки, удаления, модификации записей.
Структура:
База данных - набор типов, название БД.
Тип – название, название в БД, описание, уникальность по набору полей (?), представление по умолчанию(?).
Поле - название, название в БД, тип (примитивный тип, ссылка на тип, общий тип), описание, значение по умолчанию (?).
Объект – уникальный набор значений полей, соответствует строке БД, определяется названием типа и уникальным идентификатором (int64).
Набор – список объектов, соответствует результату выполнения запроса.
Операции над базой данных: добавить тип, удалить тип.
Операции над типом: добавить поле, удалить поле, создать набор, получить объект.
Операции над набором: добавить ограничение, добавить поле, получить список, сохранить изменения, добавить объект, удалить объект, получить объект.
Операции над объектом: создать, изменить.
Синтаксис:
<выборка> ::= <тип> '(' <ограничения> ')' [ '.' '(' <поля> ')' ]
<добавление> ::= <тип> '.' 'add' '(' <список значений> ')'