В отличие от локальной БД, являющейся скорее логическим понятием, поскольку ее таблицы находятся в разных файлах и, возможно, в разных каталогах, удаленная БД представляет собой физический объект.
Для создания удаленной БД InterBase удобно использовать программу IBConsole. Процесс создания БД начинается с вызова команды Database\Create Database, открывающей окно Create Database. Перед созданием базы данных локальный сервер должен быть зарегистрирован с помощью команды Register меню Server и установлена связь с ним путем задания команды Login меню Server с последующим указанием параметров User Name (SYSDBA) и Password (masterkey).
Надпись Server отображает название сервера InterBase, в нашем случае это локальный сервер (Local Server).
Для новой БД необходимо указать ее псевдоним, файлы и параметры. Псевдоним, задаваемый в поле редактирования Alias, предназначен для идентификации БД при работе внутри сервера InterBase и не связан с псевдонимами BDE. В списке File(s) перечисляются файлы создаваемой БД и их размеры (в страницах). В нем достаточно указать один файл. Для файла необходимо задать его точное расположение; для локального сервера местом Расположения является каталог.
Среди параметров наибольший интерес представляет установка набора, используемого по умолчанию для кодировки символов. Кодировка важна при выполнении таких операций, как сортировка строк. В Windows для символов, включающих русские буквы, применяется вариант Windows 1251 кода ANSI (WIN1251).
После нажатия кнопку ОК создается БД с указанными параметрами. Новая база первоначально является пустой и не содержит ни таблиц, ни данных. Ее файл, тем не менее, имеет размер около 600 Кбайт, т.к. включает в себя информацию. С вновь созданной БД автоматически устанавливается соединение.
Для удаления базы данных следует выполнить команду Database\Drop Database, при этом появляется окно с предупреждением. После подтверждения операции происходит удаление, которое заключается в удалении с диска файлов с расширением gdb, содержащих всю информацию базы данных.
Восстановить удаленную БД невозможно.
Удалить БД имеет право только ее создатель или системный администратор, имеющий имя SYSDBA.
Создать и удалить БД можно также, подготовив и выполнив соответствующие запросы. Запрос можно выполнить как в среде программы IBConsole, так и из приложения с помощью компонента Query.
Оператор SQL создания БД имеет следующий формат:
CREATE DATABASE "<Имя файла БД>"
[USER "Имя пользователя" [PASSWORD "Пароль пользователя"]] [PAGE_SIZE [=] <Целое число>]
[LENGTH [=] <Целое число> [PAGE[S]]]
[DEFAULT CHARACTER SET <Набор символов>]
[<Вторичный файл>];
<Вторичный файл> = FILE "<Имя файла БД>" [«Файловая информация>]
[<Вторичный файл>]
<Файловая информация> = LENGTH [=] <Целое число> [PAGE[S]] | STARTING [AT [PAGE]] <Целое число> [<Файловая информация>]
Имя файла БД указывает спецификацию (имя и путь) физического файла, в котором будет храниться информация создаваемой БД. Имя файла является единственным обязательным параметром, который должен быть задан для новой БД. Остальные параметры являются факультативными.
Если данные хранятся более, чем в одном физическом файле, то говорят о многофайловой БД. Такая структура может быть использована при большом объеме данных, когда файл базы (с расширением gdb) достигает значительных размеров. При этом первый файл БД называется первичным, а все последующие — вторичными. Файлы могут отличаться именами, расширениями и расположением. Вторичные файлы можно размещать в других каталогах и на других дисках сервера. Размеры (длины) файлов измеряются в страницах.
Для файлов БД задаются следующие параметры:
- PAGE_SIZE - размер страницы в байтах, допустимые значения: 1024 (по умолчанию), 2048, 4096 и 8192; параметр задается для первичного файла и действует на все файлы БД;
- LENGTH - длина файла в страницах (по умолчанию 75);
- STARTING - страница, начиная с которой располагается файл (этот параметр фактически является альтернативой параметру LENGTH; если для предшествующего вторичного файла не указана длина, то должна быть указана начальная страница).
При задании размера страницы следует учитывать, что за одно обращение к БД считывается одна страница. Если при работе с БД считывается большой объем информации (много записей), то малый размер страницы увеличит число операций чтения. Кроме того, может увеличиться глубина индекса, что также нежелательно. В то же время большой размер страницы при малом объеме информации приводит к чтению лишних данных. В обоих случаях увеличивается время доступа к данным.
Например, оператор
CREATE DATABASE HD:\IBDATA\employee.gdb";
создает однофайловую БД с именем employee.gdb, расположенную в каталоге D:\IBDATA.
В свою очередь, оператор
CREATE DATABASE "D:\STORE\Store.gdb"
FILE "D:\STORE\Storegd2" STARTING AT PAGE 501 LENGTH = 300
FILE "D:\STORE\Store.gd3";
приводит к созданию многофайловой БД, при этом ее данные размещаются в трех файлах с одинаковым именем Store. Файлы располагаются в общем каталоге D:\STORE и отличаются расширениями. Длина первичного файла (.gdb) составляет 500 страниц и задается косвенным путем — через указание номера начальной страницы следующего (вторичного) файла .gd2, равного 501. Длина первого вторичного файла задана равной 300 страницам, а длина второго не ограничивается.
Отметим, что при задании параметров файлов некоторые элементы являются необязательными — можно опускать знак равенства (при указании длины) и слова AT PAGE (при указании начальной страницы).
Параметры USER и PASSWORD определяют имя и пароль пользователя, создавшего БД. Эти параметры важны при последующем удалении БД, поскольку, как отмечалось, удалить БД может только системный администратор или создатель этой базы данных. Например, с помощью оператора
CREATE DATABASE "D:\IBDATA\test.gdb" USER "Userl" PASSWORD "Secret";
пользователь с именем userl и паролем secret создает однофайловую базу данных с названием test.gdb.
Операнд DEFAULT CHARACTER SET позволяет определить набор, используемый для кодировки символов. Как отмечалось, для нашей страны рекомендуется задавать набор WIN1251. Например:
CREATE DATABASE "D: \IBDATA\test.crdb" DEFAULT CHARACTER SET WIN1251;
Здесь для БД test.gdb по умолчанию устанавливается набор символов WIN1251. Отметим, что набор символов можно также отдельно определить для каждого столбца таблицы с помощью аналогичного параметра. Однако удобнее задать набор символов сразу для всей БД, в этом случае для ее таблиц по умолчанию будет использована указанная кодировка.
Оператор удаления БД имеет следующий вид:
DROP DATABASE;
После ее выполнения удаляется текущая БД, с которой установлено соединение.