Кроме главного словаря данных, БД может содержать еще и дополнительные словари, которые добавляются в БД администратором БД исходя из функциональных требований клиентских приложений. Отсутствие объектов дополнительного словаря не критично для работоспособности СУБД и поэтому они не добавляются в БД при её первоначальном создании.
Создать объекты дополнительного словаря можно при помощи стандартных
SQL-скриптов,
входящих в дистрибутив СУБД ЛИНТЕР
(расположены в подкаталоге
\dict
установочного каталога СУБД ЛИНТЕР).
SQL-скрипты могут быть выполнены утилитой inl или утилитой «Рабочий стол СУБД ЛИНТЕР».
Ниже приведен потенциально возможный состав объектов дополнительного словаря СУБД ЛИНТЕР.
Скрипт
systab.sql
создаёт следующие таблицы:
$$$GLBVARS
– словарь глобальных переменных хранимых процедур.
Содержит информацию об именах, типах данных и текущих значениях глобальных
переменных хранимых процедур.
Если эта таблица не создана, то работа с глобальными переменными не
поддерживается;
$$$PRCD и $$$PROC
– словари хранимых процедур. Содержат информацию об именах,
типах параметров и о типе возвращаемого значения для каждой хранимой
процедуры.
Если эти таблицы не созданы, то хранимые процедуры в БД работать не будут;
$$$TRIG
– словарь триггеров. Содержит имена таблиц, для которых
созданы триггеры, идентификатор владельца триггера, информацию о
параметрах триггера.
СУБД ЛИНТЕР поддерживает работу с триггерами,
только если таблица
$$$TRIG
существует в БД;
$$$SEQ
– словарь последовательностей. Содержит информацию о
создателе последовательности, начальном, максимальном и текущем значении
последовательности, а также шаг последовательности. Без этой
таблицы работа
с последовательностями невозможна.
Для работы с расширенной подсистемой защиты данных (в частности, дискретный и мандатный контроль доступа к данным), которая включает в себя создание групп и уровней пользователей, контроль доступа с сетевых станций и ввода-вывода на внешние устройства, а также средств аудита в БД, необходимо создать специальные служебные таблицы.
Скрипты
security.sql
,
extsec.sql
и
enaacc.sql
создают следующие таблицы:
$$$LEVEL
– таблица уровней доступа. Уровни доступа вводятся для
проверки на уровне ядра СУБД ЛИНТЕР прав на чтение/запись
информации по мандатному принципу контроля доступа. Таблица содержит номер и
имя групп доступа;
$$$GROUP
– таблица групп пользователей. Содержит информацию о
пользователях, включенных в группу; о правах, назначенных
непосредственно группе,
и переданных ей от других групп;
$$$STATION
– содержит сведения о сетевых станциях
(имя, протокол доступа, сетевой адрес, допустимый уровень доступа);
$$$RELATION
– содержит описание отношений между сетевыми станциями
и пользователями БД;
$$$DEVICE
– таблица внешних устройств. Содержит описание
(имя, путь, допустимый уровень доступа для чтения и для записи) всех
внешних устройств,
на которых располагаются файлы БД. Без этой таблицы также невозможно
запустить внутреннее резервное сохранение БД средствами ядра СУБД
ЛИНТЕР;
$$$AUDIT
– протокол работы с БД. Если включено протоколирование,
то в эту таблицу будут занесены все действия клиентских приложений,
связанные с
идентификацией и аутентификацией, запросами на доступ к объектам защиты,
созданием/уничтожением объектов защиты, c изменением прав доступа
и т.п.
Т.е. регистрации подлежат время и тип события, имя инициировавшего
событие субъекта,
сетевой адрес клиентской станции, статус завершения операции и т.д.
Таблица
$$AUDIT
имеет довольно сложную структуру и для удобства
просмотра протокола аудита имеется стандартное представление AUDIT_EVENTS
.
Скрипты
distr.sql
, arepl.sql
создают таблицы,
необходимые для распределенной обработки данных и репликации:
SERVERS
– содержит имена удаленных серверов, на которые могут
реплицироваться данные;
$$$REPL
– содержит описание правил репликации таблиц;
$$$EXTREPL
– содержит описание правил репликации столбцов.
Для хранения информации о кодовых страницах на физическом уровне необходимо создать системные словари для работы с кодировками.
Скрипты
cstables.sql
, charsets.sql
, mbcps.sql
и
descmb.sql
создают необходимые таблицы и заполняют
их наиболее распространенными кодовыми страницами:
$$$CHARSET
– таблица кодовых страниц. Содержит информацию о
коде страницы в ОС Windows, имя и информацию о свойствах страницы,
о
«весе»
символов кодовой страницы, о верхнем/нижнем регистре и о
преобразовании в UNICODE. Эта таблица позволяет хранить как
информацию об однобайтовых
кодовых страницах, так и о многобайтовых;
$$$TRANSL
– таблица трансляций. Содержит информацию о трансляции
однобайтовых кодовых страниц друг в друга: порядковый номер
трансляции,
номер кодовой страницы, из которой осуществляется трансляция, номер
кодовой страницы,
в которую осуществляется трансляция, имя трансляции, и собственно
саму
таблицу трансляции (информация о соответствии символов).
Для работы с СУБД через ODBC-драйвер необходимо исполнить SQL-скрипт
catalog.sql
. Он содержит таблицы ODBC-каталога. Без исполнения этого
файла ODBC-приложения не смогут работать с БД. Перед исполнением
catalog.sql
необходимо выполнить
systab.sql
и
security.sql
,
иначе не все возможности СУБД будут доступны через ODBC-драйвер.
Для поддержки ADO.NET-интерфейса необходимо выполнить SQL-скрипты
catalog.sql
и
extsec.sql
.
Для работы подсистемы фразового поиска необходимо создать системные
словари при
помощи скриптов
search.sql
и
default.sql
.
Для поддержки оперативного резервирования данных необходимо создать
системную таблицу
при помощи скрипта
inkernel.sql
.
Для создания таблицы диагностических сообщений в соответствии с выбранным языком интерфейса
СУБД ЛИНТЕР необходимо выполнить SQL-скрипт
cerrors.sql
.
Тексты сообщений должны быть загружены из файла
errors.lod
.