Топ-100
 
CerebroSQL

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

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

При первом запуске программа создает 4 шифрованные базы SQLite для хранения всей информации:

  • CoreDB - Основное хранилище,  содержит информацию необходимую для работы модулей программы

  • ASHDB - Хранилище для истории активных сессий в БД. Данные собираются каждую секунду. 

  • ConDB - Хранилище таблиц с информацией для подключения к базам данных как для ядра программы, так и для редактора запросов

  • ExistDB - Хранилище для информации собираемой встроенной системой мониторинга (устарело, в текущей версии не используется) 

Все базы создаются шифрованными. Алгоритм и мастер пароль указываются пользователем при первом запуске программы.

 

Смена мастер пароля выполняется в настройках программы.

Для подключения к любой из баз без ввода пароля можно использовать "Редактор запросов для баз SQLite"

 

Структура базы ConDB 

В базе хранится информация необходимая для подключения к базам данных модулями программы.

 

​Структура  базы 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)

    Схемы центральной базы данных

    audit - таблицы аудита действий пользователей

    core - таблицы конфигурации

    manual - схема для хранения таблиц модуля "Документация"

    proj - схема для хранения таблиц модуля "Project manager"

    transfer - схема для хранения данных модуля "Transfer data"

    mdm - схема для хранения таблиц модуля "Master-data"