Двухзвенная
архитектура Трехзвенная
архитектура
Таблица – основной тип, элементы типа – строки таблицы.
(аналог: тип Класс,
элементы типа - объекты)
Члены типа: поля таблицы, методы, триггеры.
Реализация ООП в таблицах:
Инкапсуляция – поля и методы обладают видимостью: private, protected, public. При изменении строк, триггеры могут менять скрытые (private/protected поля).
Наследование – таблицы могут наследоваться. Каждая таблица наследуется от одной таблицы. Поля и методы базовой таблицы доступны в дочерней в соответствии с областью видимости. Таблицы могут быть абстрактными, такие таблицы не реализуют физических таблиц, их поля создаются в унаследованных таблицах. Все таблицы унаследованы от абстрактной таблицы Table, имеющей единственное поле UID (первичный ключ).
Полиморфизм - методы таблиц могут быть виртуальными (в том числе абстрактными), а в унаследованных таблицах переопределены.
Кроме того, возможны статические методы таблиц.
Поля строк таблицы доступны только для чтения, модификация таблиц производится с помощью операторов insert, update, delete (аналог SQL).
При модификации строк происходит вызов триггеров в порядке
наследования (для каждого триггера порядок определен в стандарте).
Прикладные классы создаются на сервере приложений (клиенте в 2-звенной архитектуре). Также реализуют принципы ООП.
Помимо пользовательских прикладных классов платформа предоставляет предопределенные классы-обертки, соответствующие строкам таблиц (wrapper).