Создание новых таблиц в существующей базе данных

Скачать: 

Из статьи Расположение файлов бизнес логики DebetPlus V12 известно, что структура базы данных находится в файле dbstru.xml. Чтобы предотвратить потерю внесенных изменений после обновления системы в системе Дебет Плюс v12 предусмотрено ведение структур баз данных пользователя. Структуры баз данных пользователя находятся в папке usrSTRU папки JDebet/userData. Если у Вас такой папки нет, то нужно ее создать. Теперь в папке usrSTRU создадим xml-файл с названием MyStru.xml. Содержание этого файла возьмем из Листинга 1.

 

Листинг 1

 

<?xml version="1.0" encoding="UTF-8"?>

<STRU>

<TABLES>

 

<table path="all_mdb" pattern="MYTBL" table="MYTBL"></table>

</TABLES>

<PATTERNS>

<MYTBL>

<PARENTS>

 

<PARENT pattern="FWIDPARENT"/>

</PARENTS>

<FIELDS>

 

<FNAZV type="longtext"/>

 

<FREM type="longtext"/>

 

<FWID type="counter"/>

 

<FVAL type="cval"/>

</FIELDS>

<INDEXES>

 

<INDEX fields="FVAL" name= "VAL"/>

</INDEXES>

</MYTBL>

</PATTERNS>

<VIEWS>

<view name="MYVIEW" path="all_mdb" >

<query>

<![CDATA[

select mt.*, v.fnazvs as fvalnazv

 

from ^mytbl mt, ^cl_valut v where mt.fval = v.fkod ]]>

</query>

</view>

</VIEWS>

 

</STRU>

 

Рассмотрим каждый элемент структуры отдельно.

 

<STRU> – корневой элемент.

 

<TABLES> – список таблиц. Здесь описываются параметры таблиц базы данных.

<table> – сама таблица. Здесь есть несколько атрибутов:

  • path – метка базы данных, в которой находится данная таблица;

  • pattern – шаблон таблицы (описание её структуры);

  • table – название таблицы.

 

 

<PATTERNS> – описание шаблонов таблиц.

 

Каждый шаблон (pattern) описывает свой элемент. Имя элемента соответствует имени шаблона. В данном случае мы создаём шаблон MYTBL. Здесь есть три элемента:

 

<PARENTS> – указывает шаблоны (они уже описаны в dbstru.xml), от которых наследуется данный шаблон;

 

<FIELDS> – описывает поля таблицы. Каждое поле описывает свой элемент. Имя тега соответствует имени поля;

 

<FNAZV type="longtext"/> – описание поля FNAZV.

 

В атрибуте type описывается тип данных поля, в данном случае longtext.

Описание типов данных поля можно посмотреть в статье Типы данных, которые используются в таблицах базы данных "Дебет Плюс v12".

 

<INDEXES> – описание индексов таблиц. Каждый индекс описывается в элементе INDEX. Каждый элемент содержит такие атрибуты: name – имя индекса; fields – поля, из которых состоит индекс, через запятую; type – тип индекса, который может иметь значение unique (значит, что будет создан уникальный индекс).

 

<VIEWS> – описывает представления. Каждое представление описывается элементом view, который имеет несколько атрибутов:

  •  

    path – метка базы данных, в которой находится данная таблица;

  •  

    name – имя представления.

 

В дочернем элементе query описывается запрос на создание view.

 

Когда все, что перечислено выше, выполнено, запускаем «Дебет Плюс v12». Входим в подсистему Администрирование и выполняем пункт главного меню Сервис>Обновление структур БД.

 

В контекстном меню выполним пункт «Снять все отметки для мод.», отметим для модификации таблицу MYTBL (на рисунке выделено), снимем все «галочки» внизу окна (как на рисунке) и нажмем «Начать».

 

Когда процесс модификации будет завершен – посмотрим на вкладку «Лог». Если таблица создана, то там Вы найдете соответствующую запись.

Закроем это окно.

 

Откроем консоль системы. Выполним команду dbmd(). Аналогичную процедуру можно выполнить, используя пункт меню подсистемы Администрирование Сервис>БД.

Перейдем по пути Databases>DPBASE>Tables. В списке, который открылся, найдем свою таблицу и посмотрим, какие поля в нее входят.

 

В консоли выполним команду:

 

browse("select* from ^MYTBL");

 

В окне, которое открылось, вы можете просмотреть содержание созданной таблицы.

Просмотр, заполнение и редактирование – тема следующей статьи.