Топ-100
 

Базы программы CerebroSQL

Локальные базы

При первом запуске программа создает 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 - значения

 
 
 
 
eid
value
11
RICHEDIT
10
COMBOBOX
9
PANEL
8
BUTTON
7
RADIOGROUP
6
PAGE
5
PAGECONTROL
4
EDIT
3
LABEL
2
GROUPBOX
1
SPLITTER
 
Таблицы "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 - тело шаблона документа

Центральная база данных (PostgreSQL)