4.2. Утилита интерактивного доступа ISQL

Утилита SQL Central позволяет осуществить все действия, связанные с определением схемы базы данных. Однако она не позволяет просмотреть содержимое базы данных. Эта задача возложена на утилиту ISQL. Она позволяет выполнять в интерактивном режиме SQL-операторы, в том числе и те, которые изменяют схему базы данных. Данная утилита предназначена для оперативного анализа содержимого базы данных и для отладки программных объектов баз данных.

Утилита ISQL является составной частью СУБД Sybase SQL Anywhere. Эта СУБД специально разработана для реализации технологии клиент-сервер. В этой технологии СУБД не предназначена для реализации функций интерфейсной части приложений. В этой связи рассматриваемая утилита не позволяет создавать экранные формы, отчеты, меню и т.д. Она позволяет только выполнять SQL-операторы, но, как будет показано далее, и это тоже немало.

Запуск утилиты ISQL осуществляется аналогично, как и SQL Central. Отличие состоит в том, что пиктограмма называется ISQL или Sybase SQL Anywhere Interactive, в зависимости от используемой операционной системы. Эта утилита представляет собой файл Isql.exe, который находится в одном из каталогов (папок), вложенных в каталог SQLANY50.

В начале работы рассматриваемой утилиты, выдается запрос на ввод параметров соединения (см. табл. 2). В зависимости от того открыта требуемая база или нет, запрос представляется в виде сокращенного (см. рис. 7) или полного окна параметров соединения (рис. 19).

Рис.19. Полное окно параметров соединения утилиты ISQL

Представленное окно весьма похоже на аналогичное окно утилиты SQL Central (см. рис. 8) и предназначено для ввода значений параметров соединения. По умолчанию в качестве значения параметра DatabaseName (см. табл. 2) используется имя файла, заданное в параметре DatabaseFile. В нашем случае это Biblia.

После установления соединения на экране монитора появляется главное окно ISQL (рис. 20).

Рис.20. Главное окно утилиты ISQL

Заголовок главного окна утилиты ISQL является составным. Он включает в себя наименование утилиты, название подключенной базы данных, имя пользователя, установившего соединение (в скобках), и название сервера, управляющего подключенной базой данных. Так на рис.20 видно, что пользователь Stepanov в среде утилиты ISQL установил соединение с базой данных Biblia, которой управляет сервер Server_ste1.

Главное окно рассматриваемой утилиты содержит три вложенных окна:

В начале функционирования ISQL все они пустые. Информация в них появляется в процессе работы с утилитой. При этом окно Command используется для ввода выполняемых SQL-операторов. На рис. 20 это окно содержит оператор выбора всех полей из таблицы Stepanov.Books. В названии таблицы фраза Stepanov обозначает имя владельца таблицы, т.е. пользователя создавшего ее. Фраза Books обозначает непосредственное имя таблицы.

В окне Statistics отображаются оценочные характеристики выполняемого запроса. В частности в нем отражается предположительное количество обработанных записей, ожидаемое число операций ввода-вывода, необходимых для отработки SQL-операторов, план выполнения запроса и т.п. В частности на рис. 20 в окне Statistics показано, что в результате выполнения запроса (см. окно Command) возможно будет выбрано 55 записей, для чего предполагается осуществить 5 операций ввода-вывода.

При выполнении SQL-операторов выбираемые данные выводятся в окно Data. Как видно на рис. 20, в окне Data отображен фрагмент содержимого таблицы Stepanov.Books. Невидимую часть таблицы можно просмотреть, используя вертикальные и горизонтальные полосы прокрутки.

В некоторых случаях утилита ISQL сразу выводит на экран свое главное окно без запроса на установление соединения. Тогда подключение можно осуществить, выполнив команду меню Command|Connect или нажав на функциональную клавишу F11. В результате этого пользователю будет предложено заполнить поля сокращенного или полного окна параметров соединения (см. рис. 7, 19). Отключение от используемой базы данных производится при помощи команды меню Command|Disconnect или функциональной клавиши F12.

В среде утилиты ISQL пользователь может непосредственно изменять только содержимое окна Command. Оно представляет собой окно обыкновенного текстового редактора. В нашем случае в него вводятся SQL-операторы. При этом пользователь может использовать клавиатуру, меню главного окна и/или функциональные клавиши.

Исполнение запросов, вводимых в окно Command, осуществляется щелчком мышью по кнопке Execute, выполнением команды меню Command|Execute или нажатием на функциональную клавишу F9. При этом, одновременно может быть выполнен не только один SQL-оператор, а целая их последовательность. В ней в конце каждого SQL-оператора ставится специальный разделитель. По умолчанию в качестве разделителя используется символ ";". Один SQL-оператор является частным случаем последовательности.

Для удобства пользователей утилита запоминает ранее выполненные последовательности. Предыдущую последовательность можно воспроизвести в окне Command, выполнив команду меню Command|Previous Command или используя комбинацию клавиш Ctrl+P. Для того, чтобы воспользоваться следующей последовательностью необходимо выполнить команду меню Command|Next Command или нажать комбинацию клавиш Ctrl+N. Пользователь может вообще просмотреть весть список выполненных последовательностей и выбрать требуемую. Для этого следует выполнить команду меню Command|Recall или воспользоваться комбинацией клавиш Ctrl+R. В результате на экране появится окно Command Recall (см. рис. 21).

Рис.21. Выбор одной из ранее выполненных последовательностей SQL-операторов в утилите ISQL

В окне Command Recall следует выделить требуемую последовательность SQL-операторов и щелкнуть мышкой по кнопке Recall. Тогда выбранная последовательность появится в окне Command. После чего ее можно выполнять, осуществив в случае необходимости ее модификацию.

Утилита позволяет сохранить любую последовательность не только в своей памяти, но и в файле. Для этого необходимо выполнить команду меню File|Save As. Файлы, содержащие последовательности SQL-операторов, в SQL Anywhere называются командными. Они имеют расширение "sql". Воспроизвести содержимое командного файла в окне Command можно, выполнив команду меню File|Open.

Утилита ISQL предоставляет сервис при вводе с клавиатуры названий таблиц, представлений и их полей. Это особенно удобно при использовании длинных имен владельцев таблиц и представлений, а также названий этих объектов баз данных. Название необходимого объекта вместо набора на клавиатуре можно выбрать из списка этих объектов. Для этого требуется всего лишь нажать клавишу F7. В результате появляется окно Tables, в котором необходимо произвести выбор (см. рис. 22).

Рис.22. Выбор названия необходимой таблицы или представления

В списке, представленном в окне Tables, можно произвести выбор любых таблиц и представлений, хранящихся в используемой базе данных, в том числе и системных. Для последних в качестве имен пользователей используются значения dbo и SYS.

Для выбора требуемого объекта следует выделить его, а затем воспользоваться кнопкой Insert. После этого в окне Command появится полное название объекта, включающее имя владельца и непосредственное название объекта. На рис. 22 произведен выбор таблицы Stepanov.Reader.

Если в окно Command необходимо ввести имя поля объекта, то тогда в окне Tables щелкните мышью по кнопке Columns. Вследствие этого на экране появится окно со списком полей выбранного объекта. В качестве имени этого окна используется полное название объекта, выбранного в окне Tables. В нашем случае данное окно называется Stepanov.Reader (рис. 23).

Рис.23. Выбор полей требуемой таблицы или представления

В этом окне необходимо выделить требуемое поле и щелкнуть мышкой по кнопке Insert. В результате в окне Command появится полное наименование поля вместе с именем владельца и названием объекта.

Из сказанного видно, что при работе в среде ISQL удобно пользоваться функциональными и управляющими клавишами. Для того, чтобы легко ориентироваться в их сочетаниях, все они приведены в табл. 4.

Таблица 4. Назначение сочетаний функциональных и управляющих клавиш, используемых в утилите ISQL

Сочетание клавишНазначение клавиш
F1Вызов справочной системы (Help-системы)
F5Сдвиг содержимое окна Data на одно поле влево
Shift+F5Сдвиг содержимое окна Data на один символ влево
F6Сдвиг содержимое окна Data на одно поле вправо
Shift+F6Сдвиг содержимое окна Data на один символ вправо
F7Активизация окна Tables с перечнем таблиц данных, системных таблиц и представлений, хранимых в базе данных (см. рис.22) для выбора требуемого объекта
F9Запуск на исполнение последовательности SQL-операторов, отображенных в окне Command
ESCУдаление содержимого окна Command (очистка окна)
CTRL+RBывод в окно Command предыдущей последовательности SQL-операторов
CTRL+NBывод в окно Command следующей последовательности SQL- операторов. Используется только после использования нескольких сочетаний клавиш CTRL+R
CTRL+RАктивизация окна Command Recall с перечнем ранее выполненных SQL-операторов (см. рис. 21)

При работе в среде утилиты ISQL пользователям предоставляется возможность устанавливать режимы ее работы. Для этого при выполнении команды меню Command|Options активизируется диалоговое окно Options.(рис. 24).

Рис.24. Окно Options режимов работы утилиты ISQL

В окне Options область Commit служит для определения условия завершения транзакций при выполнении SQL-операторов в среде утилиты ISQL. При установленном флажке After Every Command транзакция завершается после успешного выполнения каждого SQL-оператора. Флажок When Exiting ISQL определяет завершение транзакции при завершении работы с утилитой. Как видно из рис.24, по умолчанию транзакция завершается автоматически при выходе из ISQL. В этом есть глубокий смысл. Дело в том, что одной из основных задач, решаемых утилитой, является отладка программных объектов СУБД: хранимых процедур, функций и триггеров. При этом базы данных может перейти в несогласованное, нецелостное состояние. Именно поэтому в установленном состоянии находится только флажок When Exiting ISQL.

В области Data and Commands отображаются режимы для окон Data и Command утилиты. Флажок Automatic Window Refresh определяет вывод в окно Data результатов запросов, отражающих самые последние изменения базы данных.

Установленное значение флажка Show Column Headings указывает необходимость вывода названий полей в окне Data. Если флажок Beep on Errors находится в установленном состоянии, то при возникновении ошибок в процессе выполнении SQL-операторов раздается звуковой сигнал. Поле Command Delimiter предназначено для ввода символа (ов), служащего разделителем между SQL-операторов в окне Command. В поле Show Null Values As вводится последовательность символов, выводимая в окне Data вместо значений Null. Так на рис. 20 видно, что взамен некоторых значений поля Coauthors выводится последовательность (NULL). Пользователи могут зафиксировать все выполняемые SQL-операторы в отдельном файле. Для этого полное имя файла регистрации требуется ввести в поле Log ISQL Command to File.

Область Commands Files предназначена для установки режимов выполнения длинных последовательностей SQL-операторов. Как правило, такие последовательности хранятся в командных файлах. Флажок Echo During Execution устанавливает режим вывода SQL-операторов на экран в процессе их выполнения. В поле со списком When an Error Occurs определяется действие проводимое при возникновении ошибок в процессе выполнения SQL-операторов. По умолчанию установлен режим Prompt - выдача приглашение по выбору дальнейших действий. Альтернативами этому режиму являются режимы Continue - игнорирование ошибок, Exit - завершение работы утилиты при возникновении ошибок, Stop - прекращение выполнения последовательности SQL-операторов.

Назначением области Input/Output является управление режимами импорта/экспорта информации из/в базы данных SQL Anywhere. Поле со списком Input Format позволяет установить формат импортируемых данных, используемый по умолчанию SQL-оператором импорта данных - Input. Поле со списком Output Format служит для таких же целей, но только для экспортируемых данных - для SQL-оператора Output. Данные поля предлагают использовать разнообразные текстовые файлы и файлы систем dBASE, FoxPro, Lotus. Поле Limit Output Columns To определяет максимальное количество знаков для значений экспортируемых данных. При превышении этого значения происходит ограничение размера выводимого значения. Если лимит равен 0, то экспортируемые данные не ограничиваются в размерах. Поле Limit Display Columns To играет ту же роль для значений выводимых в окно Data утилиты.

Все произведенные установки режимов утилиты ISQL могут быть сохранены только для текущего сеанса работы утилиты при помощи кнопки OK. Чтобы установки можно было использовать и для последующих сеансов работы ISQL необходимо щелкнуть мышью по кнопке Permanent.

Назад | Содержание | Вперед

 
В начало Наверх Поиск Рубрикатор Новости сервера Учебный центр Книжный магазин Реклама на сервере
Быстрый переход >>>
Комментарии: info@citmgu.ru   Copyright ©
Design by Andre M. Erofeev