Остальные утилиты
Многие действия в SQL Anywhere выполняются при помощи ее утилиты. Особого внимания среди них заслуживают утилиты SQL Central и ISQL. Каждая из них позволяет запускать другие утилиты. В SQL Central для использования утилит необходимо раскрыть папку Utilities, выбрать и запустить соответствующий требуемой утилите мастер. При этом вам будет предложено в интерактивном режиме ввести параметры, после чего будет запущена выбранная утилита. В ISQL для того, чтобы воспользоваться одной из утилит, необходимо выполнить SQL-оператор DBTOOL. Упрощенный синтаксис этого оператора имеет следующий вид:
DBTOOL НАЗВ_УТИЛ ПАР_УТИЛ,
где
НАЗВ_УТИЛ - название утилиты в ISQL;
ПАР_УТИЛ - параметры утилиты.
Любую из рассматриваемых утилит можно просто запустить из командной строки. Они хранятся в одном из каталогов, в зависимости от используемой операционной системы, вложенных в каталог SQLANY50. Для понимания возможностей, предоставляемых пользователям, кратко рассмотрим эти утилиты. Для удобства все они, за исключением SQL Central и ISQL, сведены в табл. 5 и 6.
SQL Central - средство администрирования баз данных
Администрирование базами данных в SQL Anywhere осуществляется SQL-операторами в утилите ISQL и дополнительными утилитами, запускаемыми из командной строки. Это крайне неудобно. Об этом хорошо должны помнить пользователи со стажем, вкусившие всю "прелесть" работы с командной строкой MSDOS. Здесь ситуация весьма схожая. Однако пользователям работающим в среде операционных систем Windows 95 или Windows NT не ощутят этой рутины. Вы спросите почему? Ответ заключается в наличии утилиты SQL Central. Все действия в ней осуществляют при минимальном объеме вводимых данных с использованием мыши.
Утилита SQL Central позволяет создавать базы данных. Для каждой базы данных эта утилита позволяет определить ее схему, осуществить установку режимов использования, создать любые объекты, кроме системных таблиц, придать требуемые свойства объектам, воспользоваться набором дополнительных утилит и выполнить еще ряд других действий. Все действия, осуществляемые SQL Central, можно разделить на два вида:
действия, приводящие к выдаче на сервер баз данных соответствующих SQL-операторов. Сюда входят все действия связанные с созданием, модификацией или удалением объектов баз данных; действия, осуществляющие вызов одной из дополнительных утилит. К этой категорий относятся манипуляции со всей базой данных целиком, например, создание базы данных, ее сжатие, копирование и т.д.
Для запуска SQL Central в среде Windows 95 или Windows NT 4.0 щелкните левой кнопкой мыши на кнопке Пуск, затем выберите в появившемся меню пункт Программы. После этого следует в предлагаемом перечне программ указать на SYBASE SQL Anywhere и далее выбрать SQL Central и дважды щелкнуть левой кнопкой мыши. Если данная утилита запускается из Windows NT 3.51, то вам следует также использовать двойной щелчок левой кнопкой мыши по пиктограмме SQL Central в программной группе SQL Anywhere. Если соответствующая пиктограмма отсутствует, то следует воспользоваться командной строкой. Исполняемый файл SQL Central называется Scview.exe. В зависимости от используемой операционной системы он находится в одном из каталогов (папок) вложенных в каталог (папку) SYBTOOLS.
После запуска SQL Central на экране появляется главное окно утилиты. При этом в нашем случае сразу же произойдет автоматическое подключение под именем пользователя Stepanov к . управляемой удаленным сервером Server_ste1. Дело в том ранее мы уже создали профайл Biblia_profile с признаком Use on Startup=Yes (см. рис. - ). В результате подключения окно утилиты SQL Central примет вид, представленный на .
ПРИМЕЧАНИЕ
Необходимо помнить, что перед установлением соединения с базой данных, управляемой удаленным сервером, предварительно должен быть запущен сервер базы данных.
Интерфейс SQL Central построен на тех принципах, что интерфейс программы Проводник, входящей в состав Windows 95 и Windows NT 4.0. В связи с этим, естественно, что их окна имеют примерно одинаковый внешний вид. Как и в Проводнике в SQL Central одно и тоже действие можно сделать несколькими способами. В дальнейшем при использовании SQL Central будет рассматривать только один из возможных способов.
Основное окно SQL Central состоит из двух вертикальных панелей (). В левой панели отображается древовидная структура элементов, которыми манипулирует утилита. Такими элементами являются подключенные база данных и их объекты, а также серверы, управляющие их работой. Элементы могут быть простыми и сложными. Сложные элементы содержат в себе другие сложные или простые элементы. Например, сервер может управлять несколькими базами данных, база данных содержит несколько таблиц и т.д. По аналогии с проводником будем называть сложные элементы папками. Простые элементы являются неделимыми элементами. К их числу относятся поля таблиц, тела хранимых процедур и т.д.
Правая панель служит для индикации содержимого папки (сложного элемента), выделенной в левой панели. Как и в Проводнике, содержимое любой папки может быть визуально представлено в виде мелких или крупных значков (иконок), а также в виде списка или таблицы при помощи пункта View главного меню SQL Central.
На папка сервера Server_ste1 представлена в раскрытом состоянии, папка базы данных Biblia - в закрытом. Об этом свидетельствует знак "-" слева от папки сервера и знак "+" слева от папки базы данных. Для того, чтобы раскрыть папку необходимо щелкнуть мышью по знаку "+" или дважды мышью по самой папке. В результате содержимое папки будет представлено в виде совокупности вложенных папок. При этом знак "+" изменится на знак "-". Если эти знаки слева от папки отсутствуют, то следовательно в ней нет вложенных папок. Знак "+"означает, что папка содержит другие папки.
Если один раз щелкнуть мышью по папке в левой панели, ее пиктограмма примет вид раскрытой папки. При этом название этой папки появится в заголовке окна SQL Central, а ее содержимое отобразится в правой панели. Если эту манипуляцию произвести с папкой в правой панели, то вместо нее в этой панели появится содержимое выбранной папки. В названии окна никаких изменений не произойдет. Раскрывая и закрывая содержимое папок левой панели, можно выбрать требуемый уровень отображения информации в иерархической древовидной структуре. Один из вариантов представления иерархии объектов приведен на .
Рис.18. Представлении иерархии объектов базы данных Biblia в окне SQL Central
На рис. 18 видно, что в левой панели выбрана папка Columns таблицы Books, о чем свидетельствует присутствие названия папки в заголовке окна утилиты и ее пиктограмма в виде раскрытой папки. В правой панели представлены поля таблицы Books.
ПРИМЕЧАНИЕ
В утилите SQL Central не все сложные элементы - папки визуально представляются папками. Пиктограммы некоторых папок изображаются в виде монитора - для сервера, таблицы- для таблиц и т.д.
Продолжая аналогию с Проводником, следует сказать, что если щелкнуть правой кнопкой мыши по одному из элементов, то на экране появится контекстное меню. Данное меню содержит в виде пунктов перечень допустимых операций над выбранным элементом. Как и Проводнике, такое меню, как правило, содержит пункт Properties, позволяющий проанализировать свойства элемента.
Некоторые элементы, которыми манипулирует SQL Central, могут быть удалены или скопированы. Для выполнения этих действий требуемые элементы должны быть выделены. Выделение одного элемента можно производить в обоих панелях, в то время как для группы элементов произвести такое действие возможно только в правой панели. Выделение одного элемента осуществляется щелчком мыши. Выделение группы элементов производится мышью при нажатой клавише Ctrl. Если выделяемые элементов следуют подряд один за другим, то для их выделения достаточно выполнить следующие действия. Выделите сначала первый элемент, а затем удерживая клавишу Shift щелкните мышью по последнему элементу.
Удаление элементов выполняется одним из следующих способов:
нажатием клавиши Del; нажатием правой кнопкой мыши, установленной на группу выделенных элементов и выбором пункта Delete в открывшемся контекстном меню.
Копирование элементов в SQL Central осуществляется перетаскиванием мышкой выделенных элементов в соответствующие элементы левой панели. Например, таким образом можно скопировать описание поля Code_book или нескольких полей таблицы Books в таблицу Copies. Аналогично можно копировать таблицы, представления, а также хранимые процедуры и функции из одной базы данных в другую.
Основными элементами утилиты SQL Central его папки верхнего уровня. Каждая папка предназначена для выполнения своих строго определенных задач. Для этого она может содержать вложенные папки и мастера, которые управляются своими контекстными меню. Назначение папок верхнего уровня приводится ниже.
Папка Tables позволяет манипулировать таблицами данных. Ее элементы предназначены для задания свойств таблиц и их полей, для анализа и модификации структуры первичных и вторичных ключей, а также текстов триггеров таблиц данных.
Работа с представлениями осуществляется в папке Views. Она содержит мастер для создания представлений и список представлений базы данных. Данная папка реализует функции создания и редактирования представлений.
Ввод и модификация текстов хранимых процедур и функций является прерогативой элементов папки Procedure & Functions.
Действия по регистрации новых пользователей базы данных, определение им полномочий и объединение отдельных пользователей в группы выполняются элементами папки User & Groups.
Элементы папки SQL Remote используются при организации репликации между базами данных.
Как уже было сказано выше, физически база данных может размещаться в нескольких областях. Каждая область хранится в отдельном файле. Области базы данных могут располагаться в разных каталогах одной ЭВМ или вообще на разных ЭВМ локальной сети. Управление областями реализуется элементами папки DB Spaces.
Для получения информации о том кто в настоящее время работает с используемой базой данных достаточно раскрыть папку Connected Users.
Папки SQL Central будут использоваться в дальнейшем по мере знакомства с возможностями SYBASE SQL Anywhere. При этом следует отметить, что многие папки доступны лишь администратору базы данных.
Назначение сочетаний
.(рис. 24).
Рис.24. Окно Options режимов работы утилиты ISQL
ПРИМЕЧАНИЕ
На рис. 24 показаны режимы 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 результатов запросов, отражающих самые последние изменения базы данных.
ПРИМЕЧАНИЕ
При работе ISQL с установками по умолчанию с удаленным сервером, пользователи часто сталкиваются с такой ситуацией. После проведения изменений в таблицах при выполнении оператора Select эти изменения не выводятся в окне Data. Дело в том, что при выполнении транзакции страницы с обрабатываемыми данными считываются в виртуальную память транзакции. Все манипуляции с данными осуществляются только в виртуальной памяти. После завершения транзакций все страницы из виртуальной памяти записываются в базу данных. В утилите ISQL по умолчанию транзакция завершается только при выходе из утилиты. По этой причине все произведенные изменения данных хранятся в виртуальной памяти транзакции. Оператор Select по умолчанию считывает информацию непосредственно из базы данных. Именно это является причиной возникновения рассматриваемой ситуации.
Установленное значение флажка Show Column Headings указывает необходимость вывода названий полей в окне Data. Если флажок Beep on Errors находится в установленном состоянии, то при возникновении ошибок в процессе выполнении SQL-операторов раздается звуковой сигнал. Поле Command Delimiter предназначено для ввода символа (ов), служащего разделителем между SQL-операторов в окне Command. В поле Show Null Values As вводится последовательность символов, выводимая в окне Data вместо значений Null. Так на видно, что взамен некоторых значений поля Coauthors выводится последовательность (NULL). Пользователи могут зафиксировать все выполняемые SQL-операторы в отдельном файле. Для этого полное имя файла регистрации требуется ввести в поле Log ISQL Command to File.
ПРИМЕЧАНИЕ
В файл регистрации записываются SQL-операторы, введенные в окно Command в течение одного сеанса функционирования утилиты. При следующем запуске ISQL содержимое данного файла стирается.
Область 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.
Назначение утилит СУБД SQL Anywhere
1 | Change Log File Information | Замена файла для журнала изменений базы данных |
2 | Backup Database | Создание резервной копии базы данных или wrt-файла |
3 | Compress Database | Сжатие базы данных |
4 | Create Database | Создание новой базы данных |
5 | Create Write File | Создание (замена) файла (.wrt) для хранения изменений баз данных, исходное содержание которых изменять нельзя. Например, если база данных хранится на компакт-диске |
6 | Выдача информации о характеристиках базы данных | |
7 | Erase Database | Удаление базы данных |
8 | Extract Database | Синхронизация баз данных при организации репликации |
9 | Translate Log | Формирование командного файла SQL-операторов из содержимого журнала изменений базы данных |
10 | Uncompress Database | Распаковка сжатой базы данных |
11 | Замена кодовой страницы символов | |
12 | Unload Database | Формирование командного файла SQL-операторов, позволяющего создать полную копию базы данных, включая таблицы, процедуры и другие объекты |
13 | Upgrade Database | Преобразование базы данных из устаревшего формата СУБД Watcom SQL в формат СУБД SQL Anywhere |
14 | Validate Database | Проверка соответствия значений первичных ключей и индексов содержимому таблиц базы данных |
Соответствие названий утилит u ISQL именам исполняемых файлов
1 | ALTER DATABASE | DBLOGM |
2 | BACKUP TO | DBBACKUP |
3 | COMPRESS DATABASE | DBSHRINK |
4 | CREATE DATABASE | DBINIT |
5 | CREATE/.ALTER WRITEFILE | DBWRITE |
6 | DBINFO DATABASE | DBINFO |
7 | DROP DATABASE | DBERASE |
8 | EXTRACT TABLES | DBXTRACT |
9 | TRANSLATE | DBTRAN |
10 | UNCOMPRESS DATABASE | DBEXPAND |
11 | UNLOAD COLLATION | DBCOLLAT |
12 | UNLOAD TABLES | DBUNLOAD |
13 | UPGRADE TABLES | DBUPGRAD |
14 | VALIDATE TABLES | DBVALID |
Рассмотрев утилиты СУБД Sybase SQL Anywhere, вы получили в свое распоряжение проводников для путешествия по хранилищу данных. Оно может быть огромным и пробираться среди их закоулков и хитросплетений без проводников не возможно. Теперь они у вас есть и вы можете продолжить свой путь.
Утилита интерактивного доступа
, в зависимости от используемой операционной системы. Эта утилита представляет собой файл Isql.exe, который находится в одном из каталогов (папок), вложенных в каталог SQLANY50.
В начале работы рассматриваемой утилиты, выдается запрос на ввод параметров соединения (). В зависимости от того открыта требуемая база или нет, запрос представляется в виде сокращенного () или полного окна параметров соединения (рис. 19).
Рис.19. Полное окно параметров соединения утилиты ISQL
Представленное окно весьма похоже на аналогичное окно утилиты SQL Central () и предназначено для ввода значений параметров соединения. По умолчанию в качестве значения параметра DatabaseName () используется имя файла, заданное в параметре DatabaseFile. В нашем случае это Biblia.
После установления соединения на экране монитора появляется главное окно ISQL (рис. 20).
Рис.20. Главное окно утилиты ISQL
Заголовок главного окна утилиты ISQL является составным. Он включает в себя наименование утилиты, название подключенной базы данных, имя пользователя, установившего соединение (в скобках), и название сервера, управляющего подключенной базой данных. Так на рис.20 видно, что пользователь Stepanov в среде утилиты ISQL установил соединение с , которой управляет сервер Server_ste1.
Главное окно рассматриваемой утилиты содержит три вложенных окна:
окно Data - окно данных, формируемых в результате выполнения запроса; окно Statistics - окно характеристик отработанного запроса и плана его выполнения); окно Command - окно выполняемых SQL-операторов.
В начале функционирования ISQL все они пустые. Информация в них появляется в процессе работы с утилитой. При этом окно Command используется для ввода выполняемых SQL-операторов. На это окно содержит оператор выбора всех полей из таблицы Stepanov.Books. В названии таблицы фраза Stepanov обозначает имя владельца таблицы, т.е. пользователя создавшего ее. Фраза Books обозначает непосредственное имя таблицы.
ПРИМЕЧАНИЕ
Разные пользователи в одной базе данных могут создавать одноименные объекты, в том числе и таблицы. В связи с этим возникает необходимость различать их. Поэтому при обращении к конкретному объекту указывается имя его владельца, например, таблица Stepanov.Books. Если имя владельца не указано, то по умолчанию в качестве имени владельца любого объекта, кроме триггера, используется имя пользователя, обращающегося к объекту. В связи с этим пользователи могут манипулировать собственными объектами без указания их владельца.
В окне Statistics отображаются оценочные характеристики выполняемого запроса. В частности в нем отражается предположительное количество обработанных записей, ожидаемое число операций ввода-вывода, необходимых для отработки SQL-операторов, план выполнения запроса и т.п. В частности на в окне Statistics показано, что в результате выполнения запроса (см. окно Command) возможно будет выбрано 55 записей, для чего предполагается осуществить 5 операций ввода-вывода.
При выполнении SQL-операторов выбираемые данные выводятся в окно Data. Как видно на , в окне Data отображен фрагмент содержимого таблицы Stepanov.Books. Невидимую часть таблицы можно просмотреть, используя вертикальные и горизонтальные полосы прокрутки.
В некоторых случаях утилита ISQL сразу выводит на экран свое главное окно без запроса на установление соединения. Тогда подключение можно осуществить, выполнив команду меню Command|Connect или нажав на функциональную клавишу F11. В результате этого пользователю будет предложено заполнить поля сокращенного или полного окна параметров соединения (см. рис. , ). Отключение от используемой базы данных производится при помощи команды меню 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.
Утилиты Sybase SQL Anywhere
Любой пользователь работающий с СУБД Sybase SQL Anywhere не может обойтись без использования ее утилит. Две из них заслуживают особого внимания. Речь идет об утилитах SQL Central и ISQL (Interactive SQL). SQL Central - представляет собой инструментальное средство администрирования баз данных. Утилита ISQL предназначена для осуществления интерактивного доступа к базам данных. В дальнейшем все примеры будут рассматриваться только с применением этих утилит. Поэтому рассмотрим как пользоваться ими. После этого кратко обсудим остальные утилиты.