Базы программы
Локальные базы
При первом запуске программа создает 4 базы SQLite для хранения всей информации:
-
CoreDB - Основное хранилище, содержит информацию необходимую для работы модулей программы
-
ASHDB - Хранилище для истории активных сессий в БД. Данные собираются каждую секунду.
-
ConDB - Хранилище таблиц с информацией для подключения к базам данных как для ядра программы, так и для редактора запросов
-
ExistDB - Хранилище для информации собираемой встроенной системой мониторинга (устарело, в текущей версии не используется)
Все базы создаются шифрованными. Алгоритм и мастер пароль указываются пользователем при первом запуске программы.
Смена мастер пароля выполняется в настройках программы.
Для подключения к любой из баз без ввода пароля можно использовать "Редактор запросов для баз SQLite"
Структура базы ConDB
В базе хранится информация необходимая для подключения к базам данных модулями программы.
Таблица POSTGRES_LIST - в таблице хранится информация необходимая для подключения к базам PostgreSQL.
CREATE TABLE POSTGRES_LIST (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[alias] text,
[groupname] text,
[servername] text,
[serverport] text,
[dbname] text,
[username] text,
[userpasswd]text,
[charset] text,
unique ([alias])
)
-
ID - номер записи в таблице
-
alias - синоним соединения. Отображается в формах выбора соединения. Уникальное значение.
-
groupname - имя группы для сортировки и группировки данных. Используется в мастере соединений.
-
servername - DNS имя сервера или его IP адрес.
-
serverport - порт на котором работает инстанс СУБД PostgresSQL. По умолчанию 5432.
-
dbname - имя базы к которой необходимо подключится.
-
username - имя пользователя в СУБД PostgreSQL под которым выполняется подключение.
-
userpasswd - пароль пользователя. Хранится в ASCII коде из за особенностей хранения данным в некоторых кодировках в базах SQLite.
-
charset - кодировка
Таблица MSSQL_LIST - в таблице хранится информация необходимая для подключения к базам MS SQL Server.
CREATE TABLE MSSQL_LIST (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[alias] TEXT,
[groupname] TEXT,
[servername] text,
[serverport] text,
[dbname] Text,
[auth] INTEGER default 0,
[username] Text,
[userpasswd] Text,
[color_page] Text,
UNIQUE ([alias])
)
-
id - номер записи в таблице
-
alias - синоним соединения. Отображается в формах выбора соединения. Уникальное значение.
-
groupname - имя системы к которой относится сервер MS SQL Server. Значение в поле используется для группировки данных в списках.
-
servername - DNS имя сервера или его IP адрес.
-
serverport - порт на котором работает инстанс СУБД MS SQL Server.
-
auth - способ аутентификации, 0 - доменная, 1 - логин/пароль.
-
username - имя пользователя в СУБД MS SQL Server под которым выполняется подключение.
-
userpasswd - пароль пользователя. Хранится в ASCII коде из за особенностей хранения данным в некоторых кодировках в базах SQLite.
-
color_page - устарело.
Таблица SQLITEDB_LIST - в таблице хранится информация необходимая для подключения к базам SQLite.
CREATE TABLE SQLITEDB_LIST (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[attach] TEXT,
[file] TEXT,
[mode] TEXT,
[passwd] TEXT,
[bkp_file] TEXT,
[bkp_mode] TEXT,
[bkp_passwd] TEXT,
[comment] TEXT,
UNIQUE ([attach])
)
-
id - номер записи в таблице
-
attach - алиас под которым подключается БД в редакторе. Уникальное значение.
-
file - полный путь до файла базы SQLite.
-
mode - протокол шифрования бд
-
passwd - пароль к базе. Хранится в ASCII коде из за особенностей хранения данным в некоторых кодировках в базах SQLite.
-
bkp_file - полный путь к файлу резервной копии БД. Резервное копирование выполняется из интерфейса редактора запросов.
-
bkp_mode - протокол шифрования резервной бд
-
bkp_passwd - пароль к базе. Хранится в ASCII коде из за особенностей хранения данным в некоторых кодировках в базах SQLite.
-
comment - комментарий
Структура базы CoreDB
Основное хранилище программы.
Таблица C$CATALOG - хранилище информации по узлам деревьев, меню, спискам для разных модулей программы.
CREATE TABLE C$CATALOG (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[name] Text,
[value] Text,
[type] Text,
[updated] Timestamp default current_timestamp,
[modify] Text,
[comment] Text,
UNIQUE (name,value)
)
-
id - номер записи в таблице
-
name - имя записи
-
value - значение
-
type - код модуля
-
updated - дата и время создания/обновления записи
-
modify - кто создал/обновил запись
-
comment - комментарий
Таблицы "Project manager"
Таблица PJ$LIST - список проектов
CREATE TABLE PJ$LIST (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[create_dttm] timestamp default current_timestamp,
[update_dttm] timestamp,
[name] Text,
[owner] Text,
[caption] Text,
[status] integer default 1,
[creator] Text,
[defrdbms] integer,
unique ([name])
)
-
id - номер записи в таблице
-
create_dttm - дата и время создания записи
-
update_dttm - дата и время обновления записи в таблице
-
name - имя проекта
-
owner - владелец проекта, по умолчанию Program owner из настроек программы
-
caption - заголовок, краткое описание
-
status - статус проекта, 1 - активный, 2 - завершен
-
creator - кто создал проект, всегда Program owner из настроек программы
-
defrdbms - флаг указывающий на то, что проект является проектом по умолчанию для листов редактора запросов. Флаг используется для предварительного заполнения полей формы сохранения кода
-
1 - Oracle
-
2 - PostgreSQL
-
3 - MySQL
-
4 - SQLite
-
5 - MS SQL Server
-
Таблицы "Master-data (MDM)"
Структурированное хранилище любой информации которую можно представить в виде карточек. Карточки создаются отдельно в дизайнере
Таблица NS$REFERENCEBOOK - список зарегистрированных пользовательских справочников
CREATE TABLE NS$REFERENCEBOOK (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[tablename] Text,
[comment] Text,
[created_dttm] timestamp default current_timestamp
)
-
id - номер записи в таблице
-
tablename - имя таблицы-справочника
-
comment - пользовательский комментарий к таблице
-
created_dttm - дата и время создания таблицы
Таблица NS$PAGEELEMENTS - элементы страницы
CREATE TABLE NS$PAGEELEMENTS (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[oid] integer,
[name] Text,
[ename] Text,
[eid] integer,
[position] integer,
[pid] integer
)
-
id - номер записи в таблице
-
oid - id записи из C$CATALOG (имя страницы)
-
name - имя элемента
-
ename - имя элемента, формируется случайным образом при создании элемента
-
eid - внутренний номер элемента
-
position - позиция элемента на текущем уровне, используется как ключ сортировки при построении страницы
-
pid - id родительской записи из текущей таблицы
Таблица NS$PAGEELEMENTPARAM - параметры элемента
CREATE TABLE NS$PAGEELEMENTPARAM (
[ename] text,
[name] Text,
[value] Text
)
-
ename - имя элемента (NS$PAGEELEMENTS.ename)
-
name - имя параметра
-
value - значение
Таблица NS$PAGEELEMENTDEF - значения по умолчанию для элементов
CREATE TABLE NS$PAGEELEMENTDEF (
[ename] Text,
[value] Text,
[is_sql] integer default 0,
[sql] Text
)
-
ename - имя элемента (NS$PAGEELEMENTS.ename)
-
value - значение
-
is_sql - флаг указывающий на получения списка значений по умолчанию с помощью SQL запроса (0 - значение, 1 - SQL запрос)
-
sql - текст SQL запроса для получения списка значений по умолчанию для элемента
Таблица NS$TREE - дерево объектов каталога
CREATE TABLE NS$TREE (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[oid] integer,
[pid] integer,
[page_name] Text,
[pageid] integer,
[flg] integer
)
id - порядковый номер записи
oid - id записи из C$CATALOG (имя узла), -1 если страница
pid - id родительского узла из NS$TREE
page_name - имя страницы
pageid - ID страницы из NS$PAGEELEMENTS
flg - флаг указывающий на тип записи (1 - узел, 2 - страница)
Таблица NS$LISTDATA - значения элементов сохраненных страниц
CREATE TABLE NS$LISTDATA (
[oid] integer,
[pageid] integer,
[ename] Text,
[eid] integer,
[evalue] Text
)
oid - id записи из NS$TREE
pageid - ID страницы из NS$PAGEELEMENTS
ename - имя элемента (NS$PAGEELEMENTS.ename)
eid - код элемента
evalue - значение поля
EID - значения
Таблицы "User manual"
Хранилище документов пользователя
Таблица U$MANUAL - дерево документов
CREATE TABLE U$MANUAL (
[ID] INTEGER PRIMARY KEY AUTOINCREMENT,
[OID] Integer,
[Parent] integer,
[PFlg] integer default 0,
[EFlg] integer default 0,
[Caption] TEXT,
[Body] BLOB,
[ListKey] Text,
[Info] Text,
[Locked] integer default 0,
[Version] integer default 0,
[Updated] Timestamp default current_timestamp,
[Creator] Text,
[Key_find] Text,
[Type] Text default 'USER',
constraint pk_usr_name UNIQUE ([OID], [Parent], [Caption],[Version]),
FOREIGN KEY ([OID]) REFERENCES C$CATALOG(id))
-
ID - порядковый номер записи
-
OID - ID записи в системном каталоге C$CATALOG
-
Parent - ID родительской записи
-
PFlg - указатель на тип записи. 0 - узел, 1 - документ
-
EFlg - флаг разрешения экспорта документа
-
Caption - заголовок документа
-
Body - тело документа
-
ListKey - список пар имя=значение
-
Info - информация о документе
-
Locked - флаг запрета редактирования документа. 0 - редактирование разрешено, 1 - редактирование запрещено
-
Version - версия документа
-
Updated - дата и время изменения документа
-
Creator - автор документа
-
Key_find - ключ для внутренних ссылок на документы
-
Type - тип документа. пользовательский или системный
Таблица U$MANUAL_TEMPLATE - шаблоны документов
CREATE TABLE U$MANUAL_TEMPLATE (
[Owner] Text,
[Caption] Text,
[Body] BLOB,
unique ([Owner],[Caption])
)
-
Owner - родительская запись
-
Caption - заголовок документа
-
Body - тело шаблона документа