OpenSCADAWiki: Home Page Uk/Doc/SQ Lite ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageUk/Doc/SQLite from 2017-06-25 19:42:38..
English (1 Kb) English
Russian (1 Kb) Российский
 (2 Kb) Переклад

Модуль <SQLite> підсистеми "БД"

Модуль: SQLite
Ім'я: БД SQLite
Тип: БД
Джерело: bd_SQLite.so
Версія: 2.3
Автор: Роман Савоченко
Опис: Модуль БД. Надає підтримку БД SQLite.
Ліцензія: GPL

Contents

Вступ

Модуль <SQLite> надає до системи OpenSCADA підтримку БД SQLite. БД SQLite є невеличкою, вбудованою БД яка підтримує SQL-запити. БД SQLite розповсюджується за вільною ліцензією. Ознайомитися з БД можна на сайті БД — http://sqlite.org. Модуль оснований на бібліотеці C/ API виробника БД. Модуль дозволяє виконувати дії над базами даних, таблицями та вмістом таблиць.


Переклад

1. Операції над БД

Поддерживаются операции открытия и закрытия БД, с возможностью создания новой БД при открытии и удаления существующей при закрытии. В терминах подсистемы «БД», системы OpenSCADA, открытием БД является её регистрация для последующего использования в системе. Также, поддерживается операция запроса перечня таблиц в БД.


БД SQLite адресуется путём указания имени файла БД в формате: [<FileDBPath>]. Где:


Модуль поддерживает кодирование данных в нужную кодировку. С этой целью, для БД в целом, можно указать рабочую кодировку. В процессе работы будет выполняться кодирование данных, базы данных, из кодировки БД в системную кодировку OpenSCADA и обратно.

2. Операции над таблицей

Поддерживаются операции открытия, закрытия таблицы, с возможностью создания новой таблицы при открытии и удаления существующей при закрытии, а также запрос структуры таблицы.

3. Операции над содержимым таблицы


API подсистемы "БД" предполагает доступ к содержимому таблицы по значению ключевого(ых) полей. Так, операция запроса записи подразумевает предварительную установку ключевых колонок объекта TConfig, по которым будет выполнен запрос. Создание новой записи(строки) производится операцией установки значений записи, которая отсутствует.


Модуль позволяет динамически менять структуру таблиц БД SQLite, путём создания новой БД с требуемой структурой и копирование в неё данных из старой. Так, в случае несоответствия структуры таблицы и структуры устанавливаемой записи, структура таблицы будет приведена к требуемой структуре записи. В случае запроса значений записи и не соответствия структур записи и таблицы, будут получены только значения общих элементов записи и таблицы. Модуль не отслеживает порядка расположения элементов записи и структуры таблицы!


Модулем реализуется механизм поддержки многоязыковых текстовых переменных. Для полей с многоязыковой текстовой переменной создаются колонки отдельных языков в формате <lang>#<FldID> (en#NAME). При этом базовая колонка содержит значение для базового языка. Колонки отдельных языков создаются по надобности, в момент сохранения в БД и при исполнении OpenSCADA в соответствующей локали. В случае отсутствия значения для конкретного языка будет использоваться значений для базового языка.


Типы элементов БД SQLite следующим образом соответствуют типам элементов системы OpenSCADA:

Типы полей системы OpenSCADAТипы полей БД SQLite
TFld::StringTEXT
TFld::Integer, TFld::BooleanINTEGER
TFld::RealDOUBLE

4. Права доступа

Права доступа к БД определяются правами доступа к отдельно взятому файлу БД. Модулем поддерживается работа с файлами БД SQLite в режиме только для чтения, например в демонстрациях.

5. Производительность БД

Замер производительности БД выполнялся тестом «БД», модуля системных тестов "SystemTests", путём выполнения операций над записями структурой: <name char (20), descr char (50), val double (10.2), id int (7), stat bool, reqKey string, reqVal string>.
Action source page doesn't exist yet(/Home Page En / Doc / SQ Lite?)

Ссылки

Referring pages: HomePageUk/Doc
HomePageUk/Doc/OpenSCADA060
HomePageUk/Function
HomePageUk/Using/PLC/firmware


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]