Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование лекции.doc
Скачиваний:
49
Добавлен:
12.11.2019
Размер:
5.53 Mб
Скачать

33.1. Работа с сервером Local InterBase

В поставке Delphi есть две утилиты для доступа к базам данных и администрации сервера InterBase. Утилита Windows ISQL позволяет интерактивно выполнять SQL запросы к базе данных и получать результат. Это требуется в двух случаях: для отладки SQL выражения и для управления данными и их структурой. Кроме того, создать базу данных, хранимые процедуры, триггеры, и т.п. также удобнее с помощью ISQL. ISQL позволяет обращаться как к данным на удаленном сервере, так и к локальным (к Local InterBase).

Рассмотрим порядок работы с этой программой. Прежде, чем начать работу, нужно либо установить соединение с имеющейся базой данных, либо создать новую базу.

 

Установка соединения

После запуска ISQL выберите пункт меню “File|Connect to Database…”, появится диалог (см. Рис. 33 .129), в котором нужно выбрать сервер (удаленный или локальный, в данном случае мы обращаемся к Local InterBase), файл базы данных, указать имя пользователя (SYSDBA - имя системного администратора) и пароль (masterkey - пароль по умолчанию). Если все указано правильно, то по нажатию клавиши “OK” установится соединение с базой данных и можно приступать к дальнейшей работе.

   

Рис. 33.129 Диалог соединения с базой данных.

 

Рис. 33.130 Диалог создания новой базы данных

Создание новой базы данных

Эту операцию можно выполнить в пункте меню “File|Create Database” (см. Рис. 33 .130). В диалоге нужно указать имя файла (например, c:\bases\new_base.gdb), имя и пароль системного администратора (SYSDBA и masterkey), и, при необходимости, дополнительные параметры. В данном случае создается база данных, поддерживающая русскую кодовую страницу WIN1251. Если Вы собираетесь работать из ISQL с базой данных в русской кодировке, то перед установкой соединения нужно в пункте меню “Session|Advanced Settings” установить “Character set on connect” в WIN1251.   

Получение информации о структуре базы данных

В ISQL можно получить полную информацию о структуре базы данных: список таблиц и их структуры, списки и текст триггеров, хранимых процедур и т.п. Эту операцию можно выполнить в пункте меню View или Extract. Например, для базы данных из поставки Delphi (лежит в \IBLOCAL\EXAMPLES\EMPLOYEE.GDB), попробуем выбрать “Extract|SQL Metadata for Table” для таблицы COUNTRY. В окошке ISQL Output появится текст SQL запроса, который создавал данную таблицу:    

/* Extract Table COUNTRY */

/* Domain definitions */

CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);    

/* Table: COUNTRY, Owner: SYSDBA */

CREATE TABLE COUNTRY (COUNTRY COUNTRYNAME NOT NULL,

CURRENCY VARCHAR(10) NOT NULL,

PRIMARY KEY (COUNTRY));   

Рис. 33.131 Окно ISQL с текстом и результатом выполнения SQL запроса.  

 Выполнение SQL запросов

Текст SQL запроса вводится в окошке “SQL Statement”. Для запуска его на выполнение, нажмите кнопку “Run”. На приведен результат работы примерного запроса.

33.2. Утилита InterBase Server Manager

Утилита (Рис. 33 .132) предназначена для администрирования InterBase. С ее помощью можно выполнить следующие операции:

  • определить пользователей и их пароли;

  • произвести резервное копирование;

  • удалить “мусор” из базы;

  • завершить/откатить зависшие транзакции;

  • произвести проверку базы на наличие ошибок.

Рис. 33.132 Утилита для администрирования InterBase

 Обычно, операционные системы сами предоставляют возможности по сохранению баз данных в архивах. Однако, при резервном копировании, проведенном с помощью Server Manager, выполняются дополнительные операции. При этом:

  • увеличивается быстродействие базы. В процессе копирования/восстановления происходит “сбор мусора” - в базе данных освобождается место, занятое удаленными записями. Тем самым уменьшается физический размер базы. При восстановлении можно изменить размер страницы и разбить базу на несколько файлов;

  • резервное копирование может выполняться на работающей базе, для этого не надо отключать пользователей от нее. При этом, изменения, вносимые в базу данных после начала процесса копирования, не записываются в резервный файл;

  • данные можно перенести на другую операционную систему. Различные компьютеры имеют собственные форматы файлов баз данных и эти файлы нельзя просто перенести на другую операционную систему. Для выполнения этой операции нужно создать резервную копию базы в транспортном формате.