База данных системы Ultima Businessware® состоит из двух схем: схемы ядра и прикладной схемы. Описывающие бизнес-логику и бизнес-объекты системы метаданные хранятся в схеме ядра. В прикладной схеме на основе этих метаданных создаются таблицы и хранятся данные прикладной области (справочники, развязочные таблицы, табличные части документов, итоги и т.д.).
Если доступ к таблицам прикладной схемы базы данных определяется выдачей разрешений на выполнение операций CRUD (Create, Read, Update, Delete) непосредственно над объектами (справочниками, подтипами документов и т.п.), то для таблиц схемы ядра БД – системных таблиц – этот доступ определяется выдачей соответствующих прав (Permissions). При этом к ряду служебных таблиц схемы ядра доступ закрыт для всех пользователей.
Доступ к системным таблицам подчиняется следующим правилам.
1.Любой пользователь независимо от его роли и наличия каких-либо прав обладает возможностью чтения (выполнения операции Read) данных из всех таблиц.
Также любой пользователь может выполнять все операции (CRUD) над следующими таблицами:
•ATTACHMENTS – вложения, прикрепляемые к объектам метаданных;
•ATTACHMENT_TYPES – типы вложений;
•NOTIFICATIONS – уведомления;
•PARENT_DOCUMENTS – отношения родитель-потомок между документами;
•SPELL_CHK_WORDS – словарь, дополняемый пользователями при проверке орфографии.
2.Пользователь, обладающий правом Administrator, имеет возможность (помимо чтения всех таблиц) совершать следующие дополнительные операции над следующими таблицами:
•операции CREATE, UPDATE, DELETE:
▪APP_CLUSTERS;
▪APP_SERVERS;
▪APP_SERVER_TASKS;
▪CLUSTER_CONFIGS;
▪PREDICATES;
▪PRINTER_PERMISSIONS;
▪PRINTERS;
▪PRINT_SERVERS;
▪ROLE_MODULES;
▪ROLE_PERMISSIONS;
▪ROLE_PREDICATES;
▪ROLES;
▪ROLE_TREE;
▪SCRIPT_PERMISSIONS;
▪STANDBY_SERVERS;
▪ST_DRV_TO_PRINTERS;
▪TOTAL_PERMISSIONS;
▪UI_TEMPLATES;
▪USER_GROUPS;
▪USERS;
▪VERSION_TAGS;
•операции UPDATE, DELETE:
▪PRINT_PACK_QUEUE;
▪PRINT_QUEUE;
▪PRINT_QUEUE_LOCKS;
▪PRINT_TASK_QUEUE;
•операцию DELETE:
▪USER_SETTINGS;
•операцию UPDATE:
▪TASKS (только для свойства EXEC TIME).
3.Пользователь, обладающий правом Developer, имеет возможность выполнять все операции (CRUD) над всеми таблицами, кроме следующих:
•только операции READ, UPDATE, DELETE:
▪PRINT_PACK_QUEUE;
▪PRINT_QUEUE;
▪PRINT_QUEUE_LOCKS;
▪PRINT_TASK_QUEUE;
•только операции READ, DELETE:
▪USER_SETTINGS;
•только операцию READ:
▪GENDERS;
▪LAYOUT_TYPES;
▪OBJECT_TYPES;
▪PARAM_MODES;
▪PRINT_PACKAGE_STATES;
▪PRINT_TASK_STATES;
▪PROPERTY_TYPES;
▪SCRIPT_TYPES;
▪SPELL_CHK_DICT_TYPES.
4.Пользователь, обладающий правом на управление календарем Calendar management, имеет возможность совершать все операции (CRUD) над следующими таблицами:
•CALENDAR_DAY_STATUSES;
•CALENDAR_STATUSES.
5.Пользователь, обладающий правом на изменение констант Edit constants, имеет возможность совершать все операции (CRUD) над следующими таблицами:
•CONSTANT_GROUPS;
•CONSTANTS.
6.Пользователь, обладающий правом на локализацию исключений Edit exception translations, имеет возможность совершать операции CRU над следующими таблицами:
•EXCEPTION_TRANSLATIONS;
•EXCEPTION_TRANSL_TEXTS.
7.Пользователь, обладающий правом на перевод Edit metadata translations, имеет возможность совершать операции CRU над таблицей METADATA_TRANSLATIONS и все операции (CRUD) над таблицей SPELL_CHK_DICTIONARIES.
8.Пользователь, обладающий правом на создание документации Edit metadata user comments, имеет возможность совершать операции CRU над таблицей METADATA_USER_COMMENTSS.
9.Пользователь, обладающий правом на управление очередью печати Manage print queues, имеет возможность совершать операции CRU над следующими таблицами:
•PRINT_PACK_QUEUE;
•PRINT_QUEUE;
•PRINT_QUEUE_LOCKS;
•PRINT_TASK_QUEUE.
10.Пользователь, обладающий правом на редактирование интерфейса Edit UI templates, имеет возможность совершать все операции (CRUD) над таблицей UI_TEMPLATES.