Модуль SQL

advertisement
ИНСТРУМЕНТАЛЬНЫЙ КОМПЛЕКС
SUPPORT
SQL
Руководство администратора системы
2008
Аннотация
Настоящее руководство содержит описание модуля SQL. Этот модуль предназначен для составления, редактирования, компиляции и выполнения запросов к
базе данных системы Галактика ERP в диалоговом режиме. Он входит в состав
инструментального комплекса Support. Данное издание руководства
распространяется на Support версии 5.4.11 и выше.
Издание 09.2008
Изготовлено по заказу ЗАО "Галактика Софт" 2008
Запрещается распространять без согласования с авторами (фирмами-производителями ПО)
Оглавление
ВВЕДЕНИЕ................................................................................................................................................4
ПОДСИСТЕМА SQL СИСТЕМЫ ГАЛАКТИКА ERP......................................................................................4
ТЕРМИНЫ .................................................................................................................................................4
ОСОБЕННОСТИ ОФОРМЛЕНИЯ ДОКУМЕНТА .............................................................................................5
1. ОПИСАНИЕ МОДУЛЯ........................................................................................................................7
1.1. МЕНЮ МОДУЛЯ ..................................................................................................................................7
1.2. ФУНКЦИИ МЕНЮ SQL .......................................................................................................................8
1.2.1. Настройка на БД......................................................................................................................8
1.2.2. Настройка филиальности .....................................................................................................10
1.2.3. Просмотр структуры БД...................................................................................................... 11
1.2.4. Ввод..........................................................................................................................................20
1.2.5. Запуск.......................................................................................................................................21
1.2.6. Запуск текущего .....................................................................................................................22
1.2.7. Список операторов.................................................................................................................22
2. ИСПОЛЬЗОВАНИЕ МОДУЛЯ.........................................................................................................24
2.1. СОСТАВЛЕНИЕ SQL-ЗАПРОСА .........................................................................................................24
2.2. ВЫПОЛНЕНИЕ SQL-ЗАПРОСА ..........................................................................................................24
2.2.1. Выполнение SQL-запроса из файла INPUT...........................................................................24
2.2.2. Выполнение SQL-запроса из произвольного txt-файла.........................................................24
ПРИЛОЖЕНИЯ......................................................................................................................................25
ПРИЛОЖЕНИЕ 1. ПАРАМЕТРЫ КОНФИГУРАЦИИ МОДУЛЯ .......................................................................25
ПРИЛОЖЕНИЕ 2. СООБЩЕНИЯ МОДУЛЯ .................................................................................................25
ССЫЛКИ .................................................................................................................................................28
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ.............................................................................................................29
Оглавление
3
ВВЕДЕНИЕ
ПОДСИСТЕМА SQL СИСТЕМЫ ГАЛАКТИКА ERP
Система Галактика ERP имеет группу инструментальных средств, ориентированных на СУБД Microsoft SQL Server, Oracle (SQL-платформы) и
Pervasive.SQL. Эта группа называется подсистемой SQL. В подсистему SQL
входят:
А) язык создания реляционных баз данных и манипулирования ими [1];
Б) модуль SQL инструментального комплекса Support, описываемый в настоящем руководстве;
В) модуль Экспорт/импорт инструментального комплекса Support, предназначенный для проведения операций экспорта и импорта таблиц базы данных
системы Галактика ERP в диалоговом режиме [2].
Модуль SQL предназначен для составления, редактирования, компиляции и выполнения запросов к базе данных системы Галактика ERP в диалоговом режиме. Запросы к базе данных делаются посредством SQL-операторов языка VIP [1].
Модуль SQL вызывается из главного меню Support соответствующей кнопкой
(Рис. 1).
Рис. 1. Кнопка вызова модуля SQL
ТЕРМИНЫ
База данных (БД) – совокупность взаимосвязанных данных, необходимых для
работы системы. База данных состоит из таблиц.
Данные – информация числового или (и) текстового характера, которую система
принимает от пользователя на условно-постоянное хранение, размещая ее в базе
данных.
Запись таблицы базы данных – строка таблицы базы данных. Все записи одной
таблицы имеют одинаковые поля.
Запрос – операция, с помощью которой информация извлекается из БД. Запрос
исполняется СУБД.
Индекс (ключ) таблицы базы данных – один или несколько столбцов таблицы,
предназначенных для связи с другими таблицами, а также для поиска записи
внутри самой таблицы. Различают уникальные и неуникальные, а также составные и несоставные индексы. Все индексы таблицы, используемые для формирования запросов, должны быть описаны при создании таблицы.
4
Введение
Логическая таблица – совокупность полей таблиц базы данных, взаимосвязанных для решения определенной задачи. Записи таблиц базы данных могут
фильтроваться перед включением в логическую таблицу. Одна и та же таблица
базы данных может входить в разные логические таблицы. В строгом понимании
логическая таблица не содержит данных, а лишь описывает связи между таблицами базы данных. Логическая таблица не является таблицей базы данных и
хранится в ресурсе. Различают постоянные и временные логические таблицы.
Поле записи таблицы базы данных – элемент записи. Поле записи является неделимой, минимальной единицей информации базы данных, доступной из прикладных программ. Поле записи можно представить себе как проекцию поля
таблицы базы данных на конкретную запись. В пределах одной таблицы число
полей во всех имеющихся записях всегда одинаково. Одноименные поля всех записей таблицы базы данных можно представить себе аналогом поля (столбца)
таблицы.
Поле таблицы базы данных – столбец таблицы базы данных. Различные таблицы базы данных могут иметь разное количество полей. Полям присваиваются
имя и, возможно, заголовок. Для поля задается тип хранящихся в нем данных.
Поля логической таблицы – поля таблиц базы данных, входящие в данную логическую таблицу, переменные, описанные в секции VAR таблицы, выражения
над полями и переменными.
Сегмент индекса – элементарная часть индекса, состоящая из имени поля и атрибутов. Несоставной индекс имеет один сегмент; в составном индексе больше
одного сегмента.
Составной индекс – индекс, состоящий из нескольких сегментов.
Словарь базы данных – совокупность таблиц базы данных, содержащих информацию о структуре базы: таблицах, полях, индексах и т. д.
Таблица базы данных – элемент базы данных. Структура таблицы базы данных
сравнима с обычной прямоугольной таблицей, состоящей из строк и столбцов.
Строка таблицы называется записью таблицы, столбец – полем. Все записи одной таблицы имеют одинаковые поля. Все таблицы базы данных описываются в
словаре базы данных.
Уникальный ключ таблицы – индекс, значение которого уникально для каждой
записи таблицы. Уникальный индекс может быть составным индексом.
ОСОБЕННОСТИ ОФОРМЛЕНИЯ ДОКУМЕНТА
В настоящем документе элементы, обозначающие понятия одного класса, имеют
одинаковое графическое оформление. Например:
а) F1 – клавиша;
б) Ctrl+P – нажимаемые одновременно клавиши Ctrl и P;
в) =Выберите путь на данные= – название окна;
г) Путь – название поля окна;
д) Y:\D1 – значение поля окна;
е) [OK] – экранная кнопка;
ж) (1) – метка номер 1 объекта и ссылка на объект с этой меткой;
з) [1] – ссылка на документ 1 раздела «Ссылки».
Введение
5
Конструкция из многоточия и следующего за ним словосочетания в квадратных
скобках означает, что в программе вместо многоточия выдается символьная
строка, имеющая смысл, который описывается словосочетанием в квадратных
скобках. Например, если текущей таблицей является X$FILES, то выражение
=Выбор полей из таблицы... [имя текущей таблицы]=
обозначает с точностью до кавычек название окна
=Выбор полей из таблицы "X$FILES"=.
6
Введение
1. ОПИСАНИЕ МОДУЛЯ
1.1. МЕНЮ МОДУЛЯ
Главное меню модуля SQL (Рис. 2, Рис. 3) содержит следующие меню:
Файлы;
Редактор;
SQL;
[=].
Рис. 2. Главное меню модуля и меню SQL на платформе Pervasive.SQL
Меню Файлы, Редактор и [=] рассматриваются в руководстве по основам использования Галактики ERP [3].
Меню SQL на платформе Pervasive.SQL (Рис. 2) предназначено для выбора пути
на базу данных, просмотра структуры базы, редактирования и выполнения SQLзапросов к базе. Оно содержит следующие функции:
Настройка на БД;
Просмотр структуры БД;
Ввод,
Запуск,
Запуск текущего;
Список операторов.
Описание модуля
7
Рис. 3. Главное меню модуля и меню SQL на SQL-платформах
Меню SQL на SQL-платформе (Рис. 3) предназначено для настройки филиальности, просмотра структуры базы данных, редактирования и выполнения SQLзапросов к базе. В нем доступны следующие функции:
Настройка филиальности;
Просмотр структуры БД;
Ввод,
Запуск,
Запуск текущего;
Список операторов.
1.2. ФУНКЦИИ МЕНЮ SQL
1.2.1. Настройка на БД
Функция Настройка на БД меню SQL предназначена для настройки инструментального комплекса Support на рабочую базу данных.
Эта функция доступна только на платформе Pervasive.SQL. Задание рабочей базы данных на SQL-платформе производится при настройке конфигурации
Support, аналогичной настройке конфигурации системы Галактика ERP ([4, 5];
см. также [6]).
Функция Настройка на БД предоставляет возможности ведения списка путей на
базы данных (на каталоги с данными) и выбора одного из них в качестве рабочего для Support. После вызова этой функции открываются два окна: пустое окно
=Настройка на базу данных= (Рис. 4, без строк Y:\D1 Data 1 и Y:\D2 Data 2) и
окно =Выберите путь на данные= (Рис. 5).
8
Описание модуля
Рис. 4. Окно =Настройка на базу данных=
Рис. 5. Окно =Выберите путь на данные=
Окно =Выберите путь на данные= предназначено для выбора значения поля Текущий в качестве пути на базу данных посредством нажатия кнопки [OK].
Значение поля Текущий не редактируется непосредственно. Оно устанавливается при помощи полей Путь и Диски, иерархического списка Каталоги, кнопок
[OK] и [Создать].
Обозначим полный путь к каталогу с исполняемым файлом support.exe через E.
Непосредственно после открытия окна =Выберите путь на данные= значением
как поля Текущий, так и поля Путь является E. В поле Диски находится
идентификатор соответствующего E сетевого диска. Список Каталоги
представляет путь E в виде дерева.
Вводим с клавиатуры новое значение P поля Путь и нажимаем кнопку [OK].
Если путь P является некорректным, или каталог P не существует, выдается сообщение о несуществовании P (раздел «Приложение 2. Сообщения модуля»).
Исправляем некорректное значение P; чтобы создать P, нажимаем кнопку
[Создать]. Если путь P корректен, и каталог P существует (создан), поле Текущий принимает значение P. При этом в поле Диски визуализируется идентификатор соответствующего P сетевого диска, список Каталоги демонстрирует путь
P в виде дерева.
Изменение значения поля Текущий посредством элементов Диски и Каталоги
выполняем следующим образом. По нажатии кнопки
в поле Диски открывается список доступных сетевых дисков, из которого выбираем нужный диск. Затем в списке Каталоги выбираем нужный каталог текущего сетевого диска. При
этом значение поля Путь становится равным значению поля Текущий.
Кнопка [Отмена] передает отказ от выбора пути на базу данных. Кнопка [Справка] служит для вызова окна справочной подсистемы с соответствующей справкой. По нажатии кнопки [Сеть...] открывается окно =Подключение сетевого
диска=, стандартное для приложений Microsoft Windows.
Выбираем путь на данные Y:\D1. Поле Путь на данные окна =Настройка на базу данных= получает выбранное значение.
Описание модуля
9
Окно =Настройка на базу данных= предназначено для редактирования списка
путей на базы данных и выбора одного из них в качестве рабочего для Support.
Если список путей на базы данных содержит хотя бы одну запись, после вызова
функции Настройка на БД открывается только окно =Настройка на базу данных= (окно =Выберите путь на данные= не открывается).
Окно =Настройка на базу данных= содержит список путей на данные и соответствующих примечаний. Поля Путь на данные и Примечание могут содержать не более 80 и 120 символов соответственно. В статус-строке окна
представлены клавиши F1, F4, Enter и Esc.
Клавиша Enter устанавливает значение Q текущего поля Путь на данные в качестве рабочего для Support. Если Q совпадает с действующим значением пути
на рабочую базу данных, выдается соответствующее сообщение (раздел «Приложение 2. Сообщения модуля»). Если путь Q является некорректным, или каталог Q не существует, также выдается соответствующее сообщение (раздел
«Приложение 2. Сообщения модуля»). Клавиша Esc завершает работу функции
Настройка на БД без установки новой рабочей базы данных (изменения, внесенные в список путей на базы данных, сохраняются).
Клавиша F4 предназначена для перехода в режим редактирования списка путей
на данные. По нажатии F4 заголовком окна становится =Редактирование путей
на данные=, окно меняет свой цвет и статус-строку. В статус-строке окна
=Редактирование путей на данные= представлены клавиши F1, F3, F7, F8 и Esc.
По нажатии клавиш F3 и F7 вызывается окно =Выберите путь на данные=. По
нажатии F8 выдается запрос на подтверждение удаления записи о пути на данные (раздел «Приложение 2. Сообщения модуля»).
Вводим с клавиатуры Data 1 в поле Примечание. Нажимаем клавишу F7. Открывается окно =Выберите путь на данные=. Нажимаем клавишу Esc, чтобы
выполнить редактирование второй записи с клавиатуры. Вводим значения Y:\D2
и Data 2 полей Путь на данные и Примечание соответственно. Нажимаем клавишу Esc. Окно =Редактирование путей на данные= превращается в окно
=Настройка на базу данных= (Рис. 4). Нажимаем клавишу Enter. В заголовке
окна комплекса появляется указание БД - Y:\D2.
1.2.2. Настройка филиальности
Функция Настройка филиальности меню SQL предназначена для настройки
филиальности [7], с которой будут выполняться функции и запросы модуля SQL.
Эта функция доступна только на SQL-платформах и только для администраторов
системы. Если эту функцию вызывает пользователь, не обладающий правами
администратора, выдается сообщение об ошибке (раздел «Приложение 2. Сообщения модуля»).
После вызова функции Настройка филиальности от имени администратора
системы открывается окно =Настройка Филиальности= (Рис. 6).
Окно =Настройка Филиальности= содержит флаг Команды будут выполняться без филиальности, кнопки [Ввод] и [Отмена].
Настройка филиальности состоит в установке или сбросе флага Команды будут
выполняться без филиальности. Она завершается нажатием кнопки [Ввод].
Чтобы отказаться от изменения настройки, следует нажать кнопку [Отмена] или
клавишу Esc.
10
Описание модуля
Рис. 6. Окно =Настройка Филиальности=
Состояние флага Команды будут выполняться без филиальности используется при выполнении функций и запросов модуля SQL в отношении филиальных
таблиц – таблиц, которые содержат поле ATL_BRANCH. Это происходит следующим образом.
1. Пусть флаг Команды будут выполняться без филиальности сброшен.
1.1. Пусть в качестве текущего выбран филиал B со значением N поля
FILIALS.ATL_NREC. Тогда видны и экспортируются только записи филиала
B, и при выполнении команд Insert и Import поле ATL_BRANCH получает
значение N.
1.2. Пусть в качестве текущих выбраны два филиала. Тогда видны и экспортируются только записи текущих филиалов. При попытке выполнения команд
Insert и Import выдается сообщение об ошибке "Не определён текущий
филиал. Модификация запрещена!"
2. Пусть флаг Команды будут выполняться без филиальности установлен. Тогда видны и экспортируются не только записи филиалов, но и записи с
ATL_BRANCH = 0. При выполнении команд Insert и Import поле
ATL_BRANCH получает значение 0.
1.2.3. Просмотр структуры БД
После вызова функции Просмотр структуры БД меню SQL или нажатия при
неактивном главном меню комбинации клавиш Ctrl+F7 открывается окно
=Таблицы системы= (Рис. 7).
Описание модуля
11
Рис. 7. Окно =Таблицы системы=
В окне =Таблицы системы= показан полный список таблиц рабочей базы данных. Таблицы расположены в порядке возрастания кода. Для каждой таблицы
указаны также имя и заголовок. В статус-строке окна представлены клавиши F1,
Enter, Esc, Insert, Num +, Num –, Num * и комбинация клавиш Ctrl+P.
Комбинация клавиш Ctrl+P предназначена для вызова функции формирования
отчета по таблице (таблицам). Эту функцию можно применять как к текущей записи из списка таблиц, так и к группе помеченных записей. Помеченной записью называется запись, в первом слева поле которой визуализируется пометка –
символ » (кавычка). Для установки и снятия пометок используются клавиша
Insert основной клавиатуры, клавиши +, –, * вспомогательной клавиатуры (Перечень 1) и соответствующие экранные кнопки.
Перечень 1. Клавиши управления пометками
Клавиша
Insert
Num +
Num –
Num *
Результат нажатия
Текущая запись помечается, если она не была
помечена; пометка снимается в противном случае
Помечаются все записи
Снимаются все пометки
Непомеченные записи помечаются, с помеченных
записей пометка снимается
После нажатия комбинации клавиш Ctrl+P открывается окно просмотра текстового файла Tables.OUT с отчетом либо о текущей записи (таблице) списка таблиц
(Рис. 8), либо о помеченных записях (таблицах).
12
Описание модуля
Рис. 8. Пример отчета по таблице
После нажатия клавиши Enter при активном окне =Таблицы системы= открывается окно =Карточка таблицы= (Рис. 9).
Окно =Карточка таблицы= состоит из двух панелей. В верхней панели окна
приведена информация о текущей таблице и ее файле. Информация представлена в виде значений полей Код таблицы, Владелец, Имя таблицы, Заглавие,
Имя схемы, Имя файла, Компонент, Размер страницы, Размер записи, Размер фикс. части и Количество записей в таблице.
В нижней панели окна =Карточка таблицы= размещены кнопки:
[Просмотр таблицы];
[Фильтр на поля для просмотра];
[Поля];
[Индексы];
[Флаги];
[Ссылки].
После нажатия кнопки [Просмотр таблицы] открывается окно =... [Имя текущей
таблицы] (всего записей : ... [число записей])= (Рис. 10).
В окне =... [Имя текущей таблицы] (всего записей : ... [число записей])= можно
просмотреть, пользуясь средствами навигации, значения всех полей текущей
таблицы и отредактировать ее.
Описание модуля
13
Рис. 9. Окно =Карточка таблицы=
Рис. 10. Окно =... [Имя текущей таблицы] (всего записей : ... [число записей])=
14
Описание модуля
Чтобы перейти в режим редактирования, следует нажать клавишу F4. По нажатии этой клавиши изменяется содержимое статус-строки и цвет фона окна. В
статус-строке появляются указания на клавиши F7 (вставка записи) и F8 (удаление записи), комментарий ко клавише F4 изменяется на «Режим просмотра».
Комбинация клавиш Ctrl+H предназначена для вызова окна просмотра истории
изменений текущей записи окна =... [Имя текущей таблицы] (всего записей : ...
[число записей])=. История изменений – это специальная выборка из журнала
регистрации действий пользователей [8].
Пусть R – запись некоторой журналируемой таблицы, J1 и J2 – записи журнала
об изменении R в моменты DT1 и DT2 соответственно (в J1 и J2 хранятся значения
полей R: новые в моменты DT1 и DT2 соответственно и старые). Будем называть
журнальные записи J1 и J2 смежными, если новые значения полей R в J1 совпадают со старыми значениями полей R в J2. Смежность записей журнала об изменении R в моменты DT1 и DT2 означает, что DT1 ≤ DT2, и между DT1 и DT2 других
изменений R не было. Смежными могут быть: а) запись о вставке и запись о модификации; б) две записи о модификации (запись об удалении не рассматривается, поскольку запись R существующая).
Историей изменений записи R называется последовательность записей журнала
об изменении R, соседние элементы которой являются смежными.
Пусть DT – момент последнего изменения R. Будем называть историю изменений записи R полной, если первым элементом этой истории является запись
журнала о вставке R, а последний элемент есть запись журнала о модификации R
в момент DT.
После нажатия комбинации Ctrl+H открывается окно настройки просмотра истории изменений текущей записи таблицы (Рис. 11). Это окно содержит флаги
(1.2.3.1)
Брать данные из журнала,
(1.2.3.2)
Брать данные из архива
и кнопки [Ввод], [Отмена]. Кнопка [Ввод] предназначена для передачи состояния этих флагов процедуре показа истории изменений, кнопка [Отмена] служит
для выражения отказа от такой передачи.
Рис. 11. Окно настройки просмотра истории изменений текущей записи таблицы
Если флаг (1.2.3.1) установлен, а флаг (1.2.3.2) сброшен, по нажатии кнопки
[Ввод] либо выдается сообщение об отсутствии в журнале истории изменения
текущей записи («Приложение 2. Сообщения модуля»), либо открывается окно
=История изменений записи таблицы... [имя текущей таблицы]= с историей
изменений текущей записи, взятой из журнала.
Если, наоборот, флаг (1.2.3.1) сброшен, а флаг (1.2.3.2) установлен, по нажатии
кнопки [Ввод] либо выдается сообщение об отсутствии в архиве журнала истории изменения текущей записи («Приложение 2. Сообщения модуля»), либо открывается окно =История изменений записи таблицы... [имя текущей
таблицы]= с историей изменений текущей записи, взятой из архива журнала.
Описание модуля
15
Если, наконец, флаги (1.2.3.1) и (1.2.3.2) оба установлены, в окне =История изменений записи таблицы... [имя текущей таблицы]= предстает совокупная история изменений текущей записи, начало которой взято из архива журнала, а
окончание из журнала.
Набор столбцов, показываемых в окне =... [Имя текущей таблицы] (всего записей : ... [число записей])=, можно переопределить посредством функции,
вызываемой кнопкой [Фильтр на поля для просмотра] окна =Карточка
таблицы=. По нажатии этой кнопки открывается окно =Выбор полей из
таблицы... [имя текущей таблицы]= (Рис. 12).
Рис. 12. Окно =Выбор полей из таблицы... [имя текущей таблицы]=
Окно =Выбор полей из таблицы... [имя текущей таблицы]= предназначено для
выбора полей текущей таблицы, подлежащих просмотру и редактированию. Для
каждого поля указаны следующие характеристики: Код, Имя поля и Заголовок
поля. Чтобы совершить выбор, следует пометить записи о нужных полях и нажать Enter.
После нажатия кнопки [Поля] окна =Карточка таблицы= открывается окно
=Поля таблицы... [имя текущей таблицы]= (Рис. 13). Окно =Поля таблицы...
[имя текущей таблицы]= предназначено для просмотра списка всех полей текущей таблицы. Для каждого поля указаны следующие характеристики: Код, Имя, Заглавие, Тип, Смещение, Размер, Точность и Атрибуты.
После нажатия кнопки [Индексы] окна =Карточка таблицы= открывается окно
=Индексы таблицы... [имя текущей таблицы]= (Рис. 14).
Окно =Индексы таблицы... [имя текущей таблицы]= предназначено для просмотра списка всех индексов и соответствующих сегментов индекса текущей
таблицы. Индексы и сегменты нумеруются последовательно числами 0, 1, 2, ...
Записи в списке расположены в порядке возрастания значения Номера индекса и
номера Часть сегмента индекса.
16
Описание модуля
Рис. 13. Окно =Поля таблицы... [имя текущей таблицы]=
Рис. 14. Окно =Индексы таблицы... [имя текущей таблицы]=
Для каждого индекса кроме его Номера указано также Имя. Значение «пусто»
поля Имя равносильно ближайшему по вертикали непустому значению этого
поля.
Для каждого сегмента индекса кроме его номера Часть указаны также следующие характеристики: Поле, Смещение, Длина, Флаги.
Если курсор находится в поле Флаги, после нажатия клавиши F3 открывается
окно с информацией о флагах индекса. В этом окне приводятся полные названия
флагов индекса, сокращенные формы которых присутствуют в текущем значении
поля Флаги (Перечень 2).
Флаг Уникальный поля сегмента индекса установлен (включен), если и только
если попарно различные записи таблицы имеют попарно различные значения
данного поля.
Описание модуля
17
Перечень 2. Флаги индекса
Сокращенное название Полное название
Ун.
Уникальный
Мод.
Модифицируемый
ВРег.
Верхний регистр
Уб.
По убыванию
Сурр.
Суррогатный
Жур.
Журналируемый
AInc
Автоинкрементный
Флаг Модифицируемый поля сегмента индекса установлен тогда и только тогда,
когда изменение значения данного поля разрешено.
Флаг Верхний регистр поля сегмента индекса установлен в том и только том
случае, когда значение данного поля приводится к верхнему регистру.
Флаг По убыванию поля сегмента индекса установлен тогда и только тогда, когда
сортировка записей происходит в порядке убывания значений данного поля.
Флаг Суррогатный поля типа Comp сегмента индекса установлен, если и только
если при выполнении SQL-запроса Insert происходит автоматическое увеличение на единицу в диапазоне текущего офиса значения данного поля.
Флаг Журналируемый поля целочисленного типа сегмента индекса установлен,
если и только если значение данного поля заносится в таблицу X$JOURNAL
«Журнал регистраций изменений» [8] в качестве идентификатора измененной
записи.
Флаг Автоинкрементный поля типа Longint сегмента индекса установлен, если
и только если при выполнении SQL-запроса Insert происходит автоматическое
увеличение на единицу значения этого поля.
Дополнительную информацию о характеристиках индексов таблицы можно найти в руководстве по языку VIP [1].
После нажатия кнопки [Флаги] окна =Карточка таблицы= открывается окно
=Флаги таблицы... [имя текущей таблицы]= (Рис. 15).
В окне =Флаги таблицы... [имя текущей таблицы]= показана сумма числовых
значений флагов таблицы (поле Флаги таблицы) и состояния отдельных флагов.
Указаны следующие флаги:
Обычная таблица с данными;
Системная таблица;
Признак присутствия мемо-поля;
Признак присутствия NREC'а;
Словарная (структурная) таблица;
Таблица создана пользователем;
Таблица в данный момент журналируется;
Признак присутствия поля autoinc;
Временная таблица;
Таблица с заголовком;
Таблица может журналироваться;
Таблица может участвовать в обмене;
Таблица не защищается PROTECT'ом;
Таблица может участвовать в филиальности;
Пользовательская таблица;
Таблица разделяема.
Информацию о флагах таблицы можно найти в руководстве по языку VIP [1].
18
Описание модуля
Рис. 15. Окно =Флаги таблицы... [имя текущей таблицы]=
Сделаем текущей в окнах =Таблицы системы= и =Карточка таблицы= таблицу
с именем ABONENTS посредством нажатий клавиши Page Down. После нажатия кнопки [Ссылки] окна =Карточка таблицы= открывается окно =Ссылки на
таблицу... [имя текущей таблицы]= (Рис. 16).
Рис. 16. Окно =Ссылки на таблицу... [имя текущей таблицы]=
Окно =Ссылки на таблицу... [имя текущей таблицы]= предназначено для просмотра всех ссылок с участием текущей таблицы, описанных через ссылочную
целостность.
Окно =Ссылки на таблицу... [имя текущей таблицы]= состоит из двух панелей.
Обе панели содержат поименованные столбцы «Имя поля слева», Код, Имя
таблицы, «Имя поля справа» и безымянный столбец «Направление ссылки».
Поле «Имя поля слева» относится к текущей таблице, поле «Имя поля справа»
к таблице базы данных с характеристиками Код, Имя таблицы. Поле «Направление ссылки» принимает значение ==> в верхней панели и <== в нижней.
В верхней панели показан список ссылок на текущую таблицу других таблиц базы данных. В каждой непустой записи верхней панели указано поле (Имя поля
справа) таблицы (Код, Имя таблицы) базы данных, ссылающееся на поле (Имя
поля слева) текущей таблицы.
Описание модуля
19
В нижней панели показан список ссылок текущей таблицы на другие таблицы
базы данных. В каждой непустой записи нижней панели указано поле (Имя поля
слева) текущей таблицы, ссылающееся на поле (Имя поля справа) таблицы (Код,
Имя таблицы) базы данных.
1.2.4. Ввод
После вызова функции Ввод меню SQL или нажатия при неактивном главном
меню клавиши F8 открывается окно редактирования SQL-запроса, если оно не
было открыто ранее.
Окно редактирования SQL-запроса открывается автоматически при входе в модуль SQL, если параметр OpenInputWindow секции Sql имеет значение On (раздел «Приложение 1. Параметры конфигурации модуля»).
Пусть F – имя файла, указанное в параметре InputFileName секции SUPPORT
(раздел «Приложение 1. Параметры конфигурации модуля»), P – путь к каталогу
с файлом F. Если значение InputFileName некорректно, при попытке открытия
окна редактирования SQL-запроса выдаются соответствующие предупреждения
(раздел «Приложение 2. Сообщения модуля»).
Название окна редактирования SQL-запроса имеет формат [N]SF, где N – неотрицательное целое число, S – один пробел. При открытии этого окна создается
файл F, если он не был создан ранее. Этот файл создается в каталоге запуска
Support, если путь P не указан, или в каталоге P в противном случае.
Если значение параметра InputFileName пусто, и открытых окон нет, окно редактирования SQL-запроса имеет название =[1] INPUT= (Рис. 17).
Рис. 17. Окна =[1] INPUT= и =[2] OUTPUT=
20
Описание модуля
В окне редактирования SQL-запроса следует ввести нужный SQL-запрос или отредактировать введенный ранее. При составлении SQL-запросов необходимо соблюдать требования языка VIP [1]. Рекомендуется использовать функцию Список
операторов меню SQL (п. 1.2.7).
Реализована поддержка выполнения запросов прямого SQL, однако пока с выдачей только в текстовый файл с именем, являющимся значением параметра
OutputFileName секции Lot (т.е. конструкция to <тип_приемника> [<файлприемник>], где <тип_приемника> = dbf | txt | xml, не работает). Описание
прямого SQL можно найти в руководстве по языку VIP [1].
1.2.5. Запуск
Функция Запуск меню SQL предназначена для компиляции и последующего выполнения успешно откомпилированного SQL-запроса, представленного в окне
редактирования SQL-запроса (п. 1.2.4) с названием формата [N]SF. Здесь N – неотрицательное целое число, S – один пробел, F = INPUT. Данная функция вызывается также посредством нажатия клавиши F9 при неактивном главном меню.
Если F ≠ INPUT, функция отказывается работать (раздел «Приложение 2. Сообщения модуля»).
Время компиляции SQL-запроса отображается в окне =Информация= (раздел
«Приложение 2. Сообщения модуля»).
Результатом выполнения запроса на выборку Select является текстовый файл
G, создаваемый в каталоге Q. Здесь G – имя файла, указанное в параметре
OutputFileName секции Lot (раздел «Приложение 1. Параметры конфигурации
модуля»), Q – путь к каталогу с файлом G. Если значение OutputFileName некорректно, после вызова функции Запуск выдается сообщение об ошибке (раздел
«Приложение 2. Сообщения модуля»).
Файл G открывается на редактирование в окне с названием формата [M]SG, где
M – неотрицательное целое число, S – один пробел.
Если значением параметра OutputFileName является output.txt, и открыто только
одно окно с SQL-запросом, окно вывода результата выполнения Select имеет
название =[2] OUTPUT= (Рис. 17).
В случае возникновения ошибок при выполнении запроса Import открывается
окно просмотра =[L] Отчет импорта=, где L – неотрицательное целое число,
содержащее описание ошибок импортирования.
Рассмотрим пример ошибки импортирования. Пусть работа в Support ведется на
базе D2 данных Галактики ERP для России. Таблица KLNALOG этой базы содержит запись с NALOG = 1 и PODNAL = 30.
В окне =[1] INPUT= вводим запрос
Import KLNALOG From TXT D:\Files_for_import\KLNALOG.txt;
Здесь KLNALOG.txt – текстовый файл, состоящий из единственной строки:
,,,,,,,,,,,1,31
Вызываем функцию Запуск. Открывается окно =[2] Отчет импорта= (Рис. 18).
Эта ошибка импортирования возникла, поскольку для индекса KLNALOG01 =
NALOG установлен флаг Уникальный (п. 1.2.3), и, следовательно, записи с
NALOG = 1, PODNAL = 30 и NALOG = 1, PODNAL = 31 не могут сосуществовать в одной таблице KLNALOG.
Описание модуля
21
Рис. 18. Окно =[2] Отчет импорта=
1.2.6. Запуск текущего
Функция Запуск текущего меню SQL предназначена для компиляции и последующего выполнения успешно откомпилированного SQL-запроса, представленного в активном окне. Эта функция вызывается также посредством нажатия
комбинации клавиш Ctrl+F9 при неактивном главном меню.
Время компиляции SQL-запроса отображается в окне =Информация= (раздел
«Приложение 2. Сообщения модуля»).
Результатом выполнения запроса на выборку Select является текстовый файл,
открываемый в окне редактирования, которое описано выше (п. 1.2.5).
В случае возникновения ошибок при выполнении запроса Import открывается
окно просмотра, описанное выше (п. 1.2.5).
1.2.7. Список операторов
После вызова функции Список операторов меню SQL появляется меню элементов SQL-запросов (Рис. 19), если в результате применения функции Ввод открыто окно редактирования SQL-запроса (п. 1.2.4).
Если окно редактирования SQL-запроса не открыто, выдается соответствующее
предупреждение (раздел «Приложение 2. Сообщения модуля»). Данная функция
вызывается также посредством нажатия комбинации клавиш Ctrl+F8 при неактивном главном меню.
22
Описание модуля
Рис. 19. Меню элементов SQL-запросов
Меню элементов SQL-запросов состоит из элементарных составных частей запросов: SQL-операторов и их атрибутов, служебных символов и слов, типов полей и т. д. Оно предназначено для составления SQL-запроса в окне
редактирования, где выбранный пункт меню размещается, начиная с текущей
позиции курсора.
Описание модуля
23
2. ИСПОЛЬЗОВАНИЕ МОДУЛЯ
2.1. СОСТАВЛЕНИЕ SQL-ЗАПРОСА
Чтобы составить SQL-запрос, выполните следующие действия.
1. Вызовите функцию Ввод меню SQL, если окно =[1] INPUT= не открыто
(п. 1.2.4).
2. Сконструируйте SQL-запрос, применяя функцию Список операторов меню
SQL (п. 1.2.7) с соблюдением требований языка VIP [1]. Имена таблиц и полей для запроса выбирайте из окон с соответствующими списками (п. 1.2.3),
используя буфер [3].
2.2. ВЫПОЛНЕНИЕ SQL-ЗАПРОСА
Пусть значение параметра InputFileName пусто, значением OutputFileName является output.txt (раздел «Приложение 1. Параметры конфигурации модуля»).
2.2.1. Выполнение SQL-запроса из файла INPUT
Чтобы выполнить SQL-запрос, находящийся в файле INPUT, сделайте следующее.
1. Установите путь на базу данных (п. 1.2.1).
2. Вызовите функцию Ввод меню SQL, если окно =[1] INPUT= не открыто
(п. 1.2.4).
3. Вызовите функцию Запуск меню SQL (п. 1.2.5). Если были ошибки компиляции, исправьте запрос и снова вызовите функцию Запуск.
4. Ознакомьтесь с результатами выполнения запроса в окне редактирования
=[2] OUTPUT= файла output.txt, напечатайте их в случае необходимости.
2.2.2. Выполнение SQL-запроса из произвольного txt-файла
Чтобы выполнить SQL-запрос, находящийся в произвольном текстовом файле T,
сделайте следующее.
1. Установите путь на базу данных (п. 1.2.1).
2. Вызовите файл T во встроенный редактор [3].
3. Вызовите функцию Запуск текущего меню SQL (п. 1.2.6). Если были
ошибки компиляции, исправьте запрос и снова вызовите функцию Запуск текущего.
4. Ознакомьтесь с результатами выполнения запроса в окне редактирования
=[2] OUTPUT= файла output.txt, напечатайте их в случае необходимости.
24
Использование модуля
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1. ПАРАМЕТРЫ
КОНФИГУРАЦИИ МОДУЛЯ
В файле support.cfg могут быть указаны три параметра конфигурации модуля
(Перечень 3; см. также [9]).
Перечень 3. Параметры конфигурации модуля
Секция
Параметр
Смысл параметра
Значение по умолчанию
Lot
OutputFileName
Имя файла (с путем)
для вывода результатов
запросов Select
output.txt (создается в каталоге запуска Support)
Sql
OpenInputWindow
При входе в модуль
SQL автоматически открывать окно ввода
SQL-запроса
On
SUPPORT
InputFileName
Имя файла (с путем)
для ввода SQL-запросов
«пусто» (в каталоге запуска Support создается
файл INPUT)
ПРИЛОЖЕНИЕ 2. СООБЩЕНИЯ МОДУЛЯ
При работе в модуле могут выдаваться сообщения. Основные сообщения приведены ниже.
Каталог... [значение поля Путь] не существует.
(1)
Данное сообщение в окне =Выберите путь на данные= выдается после нажатия
кнопки [OK] в одноименном окне, если в поле Путь указан некорректный путь
или несуществующий каталог.
Каталог с данными… [полный путь] и так является текущим
(2)
Данное сообщение в окне =Предупреждение= выдается после выбора пути на
базу данных, которая уже является текущей (рабочей) для Support.
Нет каталога… [полный путь]. Переключение невозможно.
(3)
Данное сообщение в окне =Информация= выдается после выбора в окне
=Настройка на базу данных= пути на данные, который является некорректным
или не существует.
Приложения
25
Каталог с данными не указан. Переключение невозможно.
(4)
Данное сообщение в окне =Информация= выдается после выбора в окне
=Настройка на базу данных= пустого значения поля Путь на данные.
Вы действительно желаете удалить путь на БД?
(5)
Данное сообщение в окне =Предупреждение= выдается после инициирования
удаления записи о пути на данные в окне =Редактирование путей на данные=.
Для ответа на вопрос предусмотрены кнопки [Да] и [Нет].
Ошибка соединения с БД !
Файл не найден [12]
(6)
Данное сообщение в окне =Предупреждение= выдается после выбора пути, который не указывает на каталог, содержащий подкаталог Dict с корректным словарем базы данных.
Запуск этого интерфейса возможен только с правами администратора !
(7)
Данное сообщение в окне =Ошибка= выдается после вызова функции Настройка филиальности меню SQL, если комплекс Support, из которого этот вызов
был сделан, запущен от имени пользователя, не обладающего правами администратора системы.
Для этой записи нет истории в журнале !
(8)
Данное сообщение в окне =Информация= выдается после нажатия кнопки
[Ввод] в окне настройки просмотра истории изменений текущей записи с установленным флагом Брать данные из журнала, если в журнале действий пользователей по изменению базы данных отсутствует история изменения текущей
записи.
Ошибка открытия файла архива журнала
(9)
Данное сообщение в окне =Ошибка= выдается после нажатия кнопки [Ввод] в
окне настройки просмотра истории изменений текущей записи с установленным
флагом Брать данные из архива, если архив журнала действий пользователей
по изменению базы данных не существует или некорректен.
Для этой записи нет истории в архиве !
(10)
Данное сообщение в окне =Информация= выдается после нажатия кнопки
[Ввод] в окне настройки просмотра истории изменений текущей записи с установленным флагом Брать данные из архива, если в архиве журнала действий
пользователей по изменению базы данных отсутствует история изменения текущей записи.
Ошибка при открытии файла... [значение SUPPORT.InputFileName]
Синтаксическая ошибка в имени файла, имени каталога или метке тома
(11)
Данное сообщение в окне =Предупреждение= выдается после вызова функции
Ввод меню SQL, если значение параметра SUPPORT.InputFileName некорректно.
26
Приложения
Ошибка при открытии файла... [значение SUPPORT.InputFileName]
Системе не удается найти указанный путь
(12)
Данное сообщение в окне =Предупреждение= выдается после вызова функции
Ввод меню SQL, если значение параметра SUPPORT.InputFileName некорректно.
Нечего компилировать
(13)
Данное сообщение в окне =Ошибка= выдается после вызова функции Запуск
меню SQL, если название окна редактирования SQL-запроса имеет формат,
отличный от [N]SF. Здесь N – неотрицательное целое число, S – один пробел,
F = INPUT.
Нечего компилировать
Файл пуст
(14)
Данное сообщение в окне =Ошибка= выдается после вызова функции Запуск
текущего меню SQL, если активное окно пусто.
Не могу открыть файл... [значение Lot.OutputFileName]
(15)
Данное сообщение в окне =Ошибка= выдается после запуска запроса Select,
если значение параметра Lot.OutputFileName некорректно.
Время компиляции
... [время, с] сек.
(16)
Данное сообщение в окне =Информация= выдается после завершения работы
функций Запуск и Запуск текущего меню SQL.
Не открыто окно INPUT
для ввода SQL оператора
(17)
Данное сообщение в окне =Предупреждение= выдается после вызова функции
Список операторов меню SQL, если окно редактирования, определяемое значением параметра SUPPORT.InputFileName, не открыто.
1
(1)
1
2
(2)
1
2
3
(3)
Приложения
27
ССЫЛКИ
В настоящем руководстве даны ссылки на следующие источники информации.
1. Описание языка VIP. 2008.
2. ИНСТРУМЕНТАЛЬНЫЙ КОМПЛЕКС SUPPORT.
(SQLImEx). Руководство администратора системы. 2008.
3. СИСТЕМА
«ГАЛАКТИКА ERP».
ОСНОВЫ
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ. 2008.
Экспорт/импорт
ИСПОЛЬЗОВАНИЯ.
4. СИСТЕМА «ГАЛАКТИКА ERP». ПЛАТФОРМА MS SQL SERVER.
WINDOWS-ВЕРСИЯ. ИНСТРУКЦИЯ ПО УСТАНОВКЕ. РУКОВОДСТВО
АДМИНИСТРАТОРА СИСТЕМЫ. 2008.
5. СИСТЕМА «ГАЛАКТИКА ERP». ПЛАТФОРМА ORACLE. WINDOWSВЕРСИЯ.
ИНСТРУКЦИЯ
ПО
УСТАНОВКЕ.
РУКОВОДСТВО
АДМИНИСТРАТОРА СИСТЕМЫ. 2008.
6. СИСТЕМА «ГАЛАКТИКА ERP». ПЛАТФОРМА PERVASIVE.SQL.
WINDOWS-ВЕРСИЯ. ИНСТРУКЦИЯ ПО УСТАНОВКЕ. РУКОВОДСТВО
АДМИНИСТРАТОРА СИСТЕМЫ. 2008.
7. Инструментальный
комплекс
«SUPPORT».
РУКОВОДСТВО АДМИНИСТРАТОРА СИСТЕМЫ. 2008.
Филиальность.
8. ИНСТРУМЕНТАЛЬНЫЙ КОМПЛЕКС SUPPORT. Журнализация (Journal).
Руководство пользователя и администратора системы. 2008.
9. СРЕДСТВО
РАЗРАБОТКИ
«АТЛАНТИС».
ПАРАМЕТРЫ
КОНФИГУРАЦИИ СИСТЕМЫ. РУКОВОДСТВО АДМИНИСТРАТОРА.
2008.
28
Ссылки
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
S
SQL подсистема .............................................. 4
SQL прямой................................................... 21
SQL-запроса выполнение ............................ 24
SQL-запроса составление ............................ 24
Б
База данных..................................................... 4
Базы данных словарь...................................... 5
Базы данных таблица ..................................... 5
З
Запрос .............................................................. 4
И
Индекс ............................................................. 4
Индекс составной ........................................... 5
Индекса сегмент ............................................. 5
Л
Логическая таблица ........................................ 5
Логической таблицы поля.............................. 5
М
Меню SQL на SQL-платформе ...................... 8
Меню SQL на платформе Pervasive.SQL ...... 7
Меню элементов SQL-запросов .................. 23
Модуля меню .................................................. 7
Модуля назначение ......................................... 4
Модуля параметры конфигурации .............. 25
Модуля сообщения ....................................... 25
О
Окна =[1] INPUT= и =[2] OUTPUT= .......... 20
Окно =... [Имя текущей таблицы] (всего
записей : ... [число записей])= ................. 14
Окно =[2] Отчет импорта= .......................... 22
Предметный указатель
Окно =Выберите путь на данные= ................9
Окно =Выбор полей из таблицы... [имя
текущей таблицы]= ...................................16
Окно =Индексы таблицы... [имя текущей
таблицы]= ..................................................17
Окно =Карточка таблицы= ...........................14
Окно =Настройка на базу данных= ...............9
Окно =Настройка Филиальности= .............. 11
Окно =Поля таблицы... [имя текущей
таблицы]= ..................................................17
Окно =Ссылки на таблицу... [имя текущей
таблицы]= ..................................................19
Окно =Таблицы системы=............................12
Окно =Флаги таблицы... [имя текущей
таблицы]= ..................................................19
Окно настройки просмотра истории
изменений текущей записи таблицы .......15
П
Помеченные записи ......................................12
Пример отчета по таблице............................13
Т
Таблица ............................................................5
Таблицы записи поле ......................................5
Таблицы запись ...............................................4
Таблицы индекс (ключ) ..................................4
Таблицы поле...................................................5
Таблицы уникальный ключ ............................5
Ф
Функции меню SQL........................................8
Функция «Ввод»............................................20
Функция «Запуск текущего»........................22
Функция «Запуск».........................................21
Функция «Настройка на БД» .........................8
Функция «Настройка филиальности» .........10
Функция «Просмотр структуры БД»........... 11
Функция «Список операторов» ...................22
29
Download