3.3. 2.X. Структура SQL базы данных
Потребность в СУРБД MicrosoftSQLServer у пользователей ПО «ОИК Диспетчер НТ» может возникнуть только в тех случаях, когда предполагается использовать оперативные журналы или SQL базу данных телеметрии.
SQL база данных состоит из таблиц. Поля БД - это столбцы таблицы, а записи БД - это строки таблицы. Каждая БД изначально содержит таблицы:
- CONFORMS
- CORETABLE
- EQUIPMENT
- HISTORY
- MAGS
- NEXTNUMS
- PERSONS
- REFS
- SQLTOKENS
- USERFORMS.
Таблица CORETABLE состоит из наиболее распространенных полей, которые характерны почти для любого оперативного журнала:
- RECID
|
- уникальный идентификатор записи;
|
- FULLPATH
|
- принадлежность записи конкретному журналу (путь в дереве журналов);
|
- DATACREATE
|
- дата/время создания записи;
|
- DATE1, DATE2
|
- вспомогательные даты/времени общего назначения (например, обнаружения и устранения дефекта);
|
- OBJECT
|
- оборудование, к которому относится запись;
|
- COMMENT
|
- произвольный комментарий (например, описание дефекта);
|
- STATE
|
- состояние записи (например, обнаружен/устранен).
|
Каждая запись имеет свой жизненный цикл, который ведется в таблице HISTORY. Там фиксируются факты создания записи (кто, когда создал, редактировал, подписывал или отзывал подпись).
На рисунке представлена схема структуры базы данных, состоящей из минимального набора таблиц.
Модель данных БД. Связи по внешнему ключу
На предприятии, как правило, ведется несколько оперативных журналов, каждый из которых может содержать подразделы (поджурналы), которые, в свою очередь, также могут содержать подразделы и т.д. Такая структура разбиения образует иерархию журналов, которую можно представить в виде дерева:
Заявки
- Служба ВЛ
- СДТУ
- РЭС
- Участок 1
- ...
- Участок N
Дефекты
Отклонения
Таким образом, можно создать иерархию журналов любого уровня вложенности, что упрощает навигацию и поиск нужной информации.
Каждый журнал может обладать своей спецификой. Это означает что, кроме рассмотренных выше основных полей, в журнале могут присутствовать поля, характерные только для данного журнала.
В ПО «ОИК Диспетчер НТ» используется механизм таблиц расширения, т.е. таких таблиц, которые содержат дополнительные поля, характерные для определенного журнала. Такая таблица может быть создана только для журнала первого уровня главной ветви дерева журналов. Таблица расширения привязывается к журналу и ко всем его поджурналам. В таблицу расширения можно поместить поля произвольных типов и использовать ее так, как будто это одна запись данного журнала.
Часто при вводе/редактировании записей бывает удобно использовать справочники. Это такие таблицы, где размещают часто используемую однотипную информацию. Например, справочник персонала можно заполнить фамилиями сотрудников, можно создать справочники улиц, потребителей и т.д.
Любое поле журнала, относящееся к целому типу, может быть привязано к справочнику, т.е. таблице, в которой числу сопоставлена его текстовая расшифровка. В каждой записи БД присутствует поле STATE, к которому обязательно должен быть привязан справочник состояния записи.
Кроме обычных справочников, предусмотрен специальный вид справочника - справочник оборудования. Этот справочник представляет собой иерархическую структуру и отображается в виде дерева. Такой подход связан с тем, что одинаковое оборудование может располагаться на разных объектах. В данном справочнике предусмотрено хранение кодов оборудования согласно требованиям ОДУ. Справочник оборудования может быть привязан только к полю строкового типа.
Для каждого журнала могут быть созданы формы просмотра списком нескольких записей, просмотра/редактирования одной записи и печатных документов (отчет). Форма редактирования должна представлять собою максимально детализированное представление записи, именно с ее помощью (и только через нее) осуществляется редактирование записи. В случае если на данном уровне дерева какая - либо из форм не задана, берется форма из вышестоящего уровня. Все указанные формы обязательно должны быть созданы для всех журналов первого уровня! Формы и отчеты создаются в конфигураторе БД при помощи дизайнера форм и дизайнера отчетов.
Установка СУРБД MicrosoftSQLServer приведена в документе - ПРОГРАММНЫЙ КОМПЛЕКС «ОИК Диспетчер НТ», РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ (часть 2, ПО клиент – инструкция по настройке, КФИЯ.466452.001.И3.02).
Настройка SQL БД для оперативных журналов приведена в разделе 9 документа - ПРОГРАММНЫЙ КОМПЛЕКС «ОИК Диспетчер НТ», РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ (часть 2, ПО клиент – инструкция по настройке, КФИЯ.466452.001.И3.02).
Настройка SQL базы данных телеметрии приведена в Приложении Ж, а настройка файлового экспорта в SQL базу данных - в разделе 14.1.8 данного документа.