|
|
Книги-onlineEvent Oriented Programming. 32 урока по Delphi Урок 25: Утилиты для Local
InterBase
В пакет Delphi версии 1.0 входит однопользовательская версия InterBase для Windows - Local InterBase. Используя Local InterBase можно создавать и отлаживать приложения, работающие с данными по схеме клиент-сервер, без подключения к настоящему серверу. В дальнейшем потребуется только перенастроить используемый псевдоним базы данных и программа будет работать с реальной базой без перекомпиляции. Кроме того, Local InterBase можно использовать в приложениях для работы с данными вместо таблиц Paradox. В данном уроке рассматриваются утилиты, поставляемые в пакете Delphi
2.0, которые служат для администрирования баз данных (как локальных, так
и на сервере) и для доступа к этим данным посредством SQL запросов.
Local InterBase не поддерживает:
Максимальный размер базы данных Реально ограничение на размер накладывается временем обработки запросов, временем резервного копирования, восстановления базы и т.д. Рекомендуется не более 10 GB. Максимальное количество физических файлов, из которых может состоять база В системных таблицах InterBase поле, описывающее из каких файлов состоит база данных, включая все shadow, имеет тип SHORT. Соответственно не более 65,536. Максимальное количество таблиц в базе данных 65,536. Таблицы нумеруются с использованием типа данных SHORT. Максимальное количество записей в таблице и полей в записи В записи может быть не более 1000 полей. Количество записей в таблице не ограничено. Максимальный размер записи и поля Запись не может быть больше 64К байт (не считая размера BLOB). Поле не может быть больше 32К байт, размер поля типа BLOB не ограничен. Максимальное количество индексов в таблице и базе В базе может быть 64K индексов. В одной таблице - 64 индекса. Максимальное количество уровней вложенности SQL запроса 16 уровней вложенности. Максимальное количество полей в составном индексе Составной индекс может включать в себя не более 16 полей. Максимальный размер stored procedure или trigger Stored procedure или trigger может иметь размер кода не более 48K байт. Количество UDF, определенных в одной базе Длина имени UDF не более 31 символа. Соответственно максимальное
количество UDF в базе ограниченно количеством уникальных имен в пределах
этой длины.
Кроме того, создать базу данных, хранимые процедуры, триггеры, и т.п. также удобнее с помощью ISQL. ISQL позволяет обращаться как к данным на удаленном сервере, так и к локальным (к Local InterBase). Рассмотрим порядок работы с этой программой. Прежде, чем начать работу, нужно либо установить соединение с имеющейся базой данных, либо создать новую базу. Установка соединения После запуска ISQL выберите пункт меню “File|Connect to Database…”, появится диалог (см. рис.1), в котором нужно выбрать сервер (удаленный или локальный, в данном случае мы обращаемся к Local InterBase), файл базы данных, указать имя пользователя (SYSDBA - имя системного администратора) и пароль (masterkey - пароль по умолчанию). Если все указано правильно, то по нажатию клавиши “OK” установится соединение с базой данных и можно приступать к дальнейшей работе.
Рис. A: Диалог соединения с базой данных. Создание новой базы данных Эту операцию можно выполнить в пункте меню “File|Create Database” (см. рис.2). В диалоге нужно указать имя файла (c:\bases\new_base.gdb), имя и пароль системного администратора (SYSDBA и masterkey), и, при необходимости, дополнительные параметры. В данном случае создается база данных, поддерживающая русскую кодовую страницу WIN1251. Если Вы собираетесь работать из ISQL с базой данных в русской кодировке, то перед установкой соединения нужно в пункте меню “Session|Advanced Settings” установить “Character set on connect” в WIN1251.
Рис. B: Диалог создания новой базы данных Получение информации о структуре базы данных В 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));
Выполнение SQL запросов Текст SQL запроса вводится в окошке “SQL Statement”. Для запуска его на выполнение, нажмите кнопку “Run”. На рис.3 приведен результат работы примерного запроса.
Рис.
C: Окно ISQL с текстом и результатом
выполнения SQL запроса.
Рис. D: Утилита для администрирования InterBase Резервное копирование Соответствующий диалог показан на рис. 5
Рис. E: Диалог резервного копирования базы данных. Обычно, операционные системы сами предоставляют возможности по сохранению баз данных в архивах. Однако, при резервном копировании, проведенном с помощью Server Manager, выполняются дополнительные операции. При этом:
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском . книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать |
|