Справочное руководство по Delphi

       

Некоторые технические характеристики InterBase


Отличия Local InterBase от InterBase для других платформ, в частности, от InterBase для Windows NT:

Local InterBase не поддерживает:

  • функции, определяемые пользователем (UDF).
  • BLOB фильтры
  • сигнализатор событий (event alerters)
  • запись через журнал (Write Ahead Log (WAL))
  • "отключение" и "включение" базы данных (database shutdown or restart)
  • ведение теневой базы данных (database shadowing)
  • Все остальные функции полностью поддерживаются, совпадает даже структура хранения базы на диске.

    Максимальный размер базы данных

    Реально ограничение на размер накладывается временем обработки запросов, временем резервного копирования, восстановления базы и т.д. Рекомендуется не более 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 в базе ограниченно количеством уникальных имен в пределах этой длины.








        1. InterBase Interactive SQL


        2. В поставке Delphi есть две утилиты для доступа к базам данных и администрации сервера InterBase. Утилита Windows ISQL позволяет интерактивно выполнять SQL запросы к базе данных и получать результат. Это требуется в двух случаях: для отладки SQL выражения и для управления данными и их структурой.


        3. Кроме того, создать базу данных, хранимые процедуры, триггеры, и т.п. также удобнее с помощью 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 запроса.

        4. InterBase Server Manager


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





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


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


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


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


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




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

              Резервное копирование

              Соответствующий диалог показан на рис. 5



              Рис. E: Диалог резервного копирования базы данных.

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



              •  


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


              •  


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


              •  


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


              • формате.


                Содержание раздела