Учись программированию на C++ Builder бесплатно!

В отличие от локальной БД, являющейся скорее логическим понятием, поскольку ее таблицы находятся в разных файлах и, возможно, в разных каталогах, удаленная БД представляет собой физический объект.

Для создания удаленной БД 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;

После ее выполнения удаляется текущая БД, с которой установлено соединение.

Поделиться