Навигация:  АДМИНИСТРИРОВАНИЕ МИС МЕДИАЛОГ > ВСПОМОГАТЕЛЬНЫЕ УТИЛИТЫ > RESTRUCT - РЕСТРУКТУРИЗАЦИЯ БАЗЫ ДАННЫХ >

Создание таблицы

Предыдущая страницаВернуться в начало главыСледующая страница

286

Для создания таблицы нужно в окне со списком таблиц нажать соответствующую кнопку. Откроется окно (рис. 3), в котором задаются основные характеристики таблицы.

 Рисунок 3. Создание новой таблицы. Закладка "Table"


Рисунок 3. Создание новой таблицы. Закладка "Table"

Таблица

На закладке Table в поле Table name указывается имя таблицы (рис. 3). Имя таблицы указывается без пробела. Если имеется таблица, созданная средствами MSSQL Server, то эту таблицу можно включить в структуру системы МЕДИАЛОГ. Для этого нужно нажать кнопку Assign existing table structure, и выбрать нужную таблицу. Если таблица будет будет использоваться только для отчетов в модуле статистики, то нужно отметить флажком поле Вспомогательная таблица.

В секции Custom определяется внешнее имя таблицы:

Label=<Внешнее имя таблицы>.

Для создания справочной таблицы в секции Custom необходимо также указать следующие опции:

GlossTable=1

ClossNameField=<имя поля, по которому происходит поиск>

Если таблица будет использоваться для выбора значений через поле-ссылку, и в ней заведомо небольшое количество записей, можно прописать для нее параметр

UseDropDownLookup=1

Данные такой таблицы будут загружены в оперативную память при запуске МЕДИАЛОГ. В настройках поля-ссылки на таблицу с таким признаком по умолчанию будет предложен стиль Выпадающий список. Ограничение на количество загружаемых записей для выпадающего списка не действует, поэтому данный параметр не рекомендуется использовать для таблиц с большим количеством записей.

Поля

На закладке Fields определяются поля таблицы (рис. 4).

В таблице обязательно должно присутствовать поле с названием <Table name>_ID типа Autoinc с атрибутом Required.

Для каждого создаваемого поля необходимо указать его название (Field name) и тип поля (Data type). Тип поля выбирается из выпадающего списка. Для некоторых типов полей (String, Numeric) обязательно нужно указывать размер поля (Size). Поле, обязательное для ввода, должно иметь атрибут Required. Скрытые поля, невидимые в интерфейсе, должны иметь атрибут Hidden.

 Рисунок 4. Закладка "Fields"


Рисунок 4. Закладка "Fields"

При создании числового поля, которое планируется использовать в формулах системы МЕДИАЛОГ, предпочтительно использовать тип поля Numeric, а не Integer.

В секции Custom для каждого поля можно указать его внешнее название (Label=<Внешнее название поля>). Именно внешнее название поля будет отображаться в интерфейсе системы МЕДИАЛОГ.

Изменить порядок полей в таблице можно при помощи кнопок Move column up и Move column down.

Системные поля

С помощью Restruct можно также редактировать системные таблицы с системными полями. Системные поля по умолчанию недоступны для редактирования на экранных формах. Если возникает необходимость редактировать системное поле, в секции Custom для него необходимо прописать параметр

CanEdit=T

Индексы

На закладке Indexes создаются индексы по таблице (рис. 5). В таблице обязательно должен присутствовать первичный индекс PRIMARY KEY с атрибутами Unique (уникальный) и Clastered (кластерный). Первичный индекс должен содержать ID-поле таблицы.

Чтобы добавить поле в индекс, нужно выделить это поле в секции Available Fields и нажав кнопку «Стрелка влево», перенести его в секцию Index Members.

 Рисунок 5. Закладка "Indexes"


Рисунок 5. Закладка "Indexes"

Для таблиц типа Пациент+Дата уникальным индексом является индекс по полям DATE_CONSULTATION и PATIENTS_ID. Для многострочных таблиц типа Пациент+Дата индекс должен состоять из трех полей: DATE_CONSULTATION, PATIENTS_ID и N_LINE.

Ссылки

Ссылки на другие таблицы создаются на закладке Links (рис.6).

 Рисунок 6. Закладка "Links"


Рисунок 6. Закладка "Links"

При создании ссылки нужно выбрать master-таблицу, поля, по которым происходит связь и выбрать поведение ссылки при удалении записи из связанной таблицы: None, Restrict, No delete, Cascade, Set null (рис. 7).

В секции Custom определяется название ссылки: Label=<Внешнее имя ссылки>.

 Рисунок 7. Создание ссылки


Рисунок 7. Создание ссылки

Иерархические справочники

Начиная с версии 6.70, появилась возможность создания и отображения в МИС МЕДИАЛОГ иерархических справочников (рис. 8).

 Рисунок 8. Отображение в МИС МЕДИАЛОГ иерархического справочника


Рисунок 8. Отображение в МИС МЕДИАЛОГ иерархического справочника

Для того чтобы таблица отображалась как иерархический справочник, она должна иметь хотя бы одну ссылку на таблицу, которая ссылается на себя же, либо на другую таблицу. При этом в секции Custom в данной таблице необходимо дописать:
ItemDisplayFields= FieldsList, где FieldsList - список имен полей из таблицы, разделенных запятыми, которые будут отражаться в основании дерева иерархического справочника (рис. 9).

Кроме того, в секции Custom поля-ссылки необходимо прописать IsFoldersTree=1.

 Рисунок 9. Создание иерархического справочника


Рисунок 9. Создание иерархического справочника

Триггеры

Триггеры на создание, редактирование и удаление строк записываются на закладках соответственно Insert trigger, Update trigger и Delete trigger (рис. 10).

 Рисунок 10. Закладка "Update trigger"


Рисунок 10. Закладка "Update trigger"

 

Пример триггера на редактирование строк:

CREATE TRIGGER tU_ My_Table ON dbo. My_Table

FOR UPDATE

AS

if not update(MODIFY_DATE_TIME)

update My_Table set MODIFY_DATE_TIME=GetDate()

from My_Table, inserted

where My_Table. My_Table _ID =  inserted. My_Table_ID

При вставке этого триггера в RESTRUCT нужно в секцию Script вставить только следующее выражение:

if not update(MODIFY_DATE_TIME)

update My_Table set MODIFY_DATE_TIME=GetDate()

from My_Table, inserted

where My_Table. My_Table_ID =  inserted. My_Table_ID

 

Текст CREATE TRIGGER tU_DATA200 ON dbo.DATA200 FOR UPDATE AS создается автоматически.

Триггеры, созданные в утилите RESTRUCT, могут устойчиво работать только при отсутствии системных триггеров.

Для сохранения таблицы следует нажать кнопку ОК.