Модуль: | DBF |
Ім'я: | БД DBF |
Тип: | БД |
Джерело: | bd_DBF.so |
Версія: | 2.2 |
Автор: | Роман Савоченко |
Опис: | Модуль БД. Надає підтримку *.dbf файлів, версії 3.0. |
Ліцензія: | GPL |
Модуль призначено для надання системі OpenSCADA підтримки файлів БД типу *.dbf. Модуль засновано на бібліотеці для роботи з dbf файлами ПЗ "Complex2" фірми НІП "ДIЯ". Модуль дозволяє виконувати дії над базами даних, таблицями та вмістом таблиць.
Підтримуються операції відкриття та закриття БД з можливістю створення нової БД при відкритті та видалення існуючої при закритті. В термінах підсистеми "БД" системи OpenSCADA відкриттям БД є її реєстрація для подальшого використання у системі.
Під БД, у випадку з dbf-файлами, мається на увазі тека, яка містить dbf-файли. Відтак, операції створення та видалення БД — створюють та видаляють теки, де таблиці (dbf-файли) зберігаються. У ролі адреси БД виступає повне ім'я теки з dbf-файлами. Доступ до БД визначається системними правами доступу до теки.
Підтримуються операції відкриття та закриття таблиці з можливістю створення нової таблиці при відкритті та видалені існуючої при закритті.
Власне dbf-файл і є таблицею. Створення та видалення таблиці передбачає створення та видалення dbf-файлу. Ім'я таблиці представляє собою ім'я dbf-файлу у теці БД. Права доступу до таблиці визначаються правами доступу до dbf-файлу.
API підсистеми "БД" передбачає доступ до вмісту таблиці за значенням ключового(их) поля(ів). Так, операція запиту запису передбачає попереднє встановлення ключових стовпчиків об'єкту TConfig, за яким і буде здійснено запит. Створення нового запиту(рядка) здійснюється операцією встановлення значень запису, який відсутній.
Модуль дозволяє динамічно змінювати структуру таблиць БД DBF. Так, у випадку невідповідності структури таблиці та структури запису що встановлюється структуру таблиці буде приведено до потрібної структури запису. У випадку запиту значень запису та невідповідності структур запису та таблиці буде отримано лише значення загальних елементів запису та таблиці. Модуль не відстежує послідовності розташування елементів у запису та структурі таблиці!
При доступі до значень таблиць використовується синхронізація шляхом захоплення ресурсу на доступ до таблиці. Це дозволяє запобігти руйнуванню даних у випадку багатопотокового доступу!
Типи елементів dbf-файлів наступним чином відповідають типам елементів системи OpenSCADA:
Типи полів системи OpenSCADA | Тип поля dbf-файлу |
TFld::String | "С" |
TFld::Integer, TFld::Real | "N" |
TFld::Boolean | "L" |
Вимірювання продуктивності БД здійснювалося тестом "БД" модуля системних тестів "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 / DBF?)