CREATE DATABASE/SCHEMA
Версии сервера
0.9 | 1.0 | 1.5.3 | 1.5.4 | 1.5.5 | 2.0 | 2.0.3 | 2.0.4 | 2.1 | 2.5 | 3.0 |
---|---|---|---|---|---|---|---|---|---|---|
+ | + | + | + | + | + | + | + | + | + | + |
Формат
CREATE {DATABASE | SCHEMA} '<спецификация файла>' [USER '<имя пользователя>' [PASSWORD '<пароль>']] [PAGE_SIZE [=] <целое>] [LENGTH [=] <целое> [PAGE[S]]] [DEFAULT CHARACTER SET <набор символов>] [<вторичный файл>]...; <вторичный файл> ::= FILE '<спецификация файла>' [LENGTH [=] <целое> [PAGE[S]]] [STARTING [AT [PAGE]] <целое>]
Аргумент | Описание |
---|---|
'<спецификация файла>' | Спецификация файла задает полный путь к создаваемому файлу базы данных и имя файла, включая его расширение. Сам файл должен отсутствовать на внешнем носителе. |
USER '<имя пользователя>' | Имя пользователя-владельца базы данных. Может содержать до 31 символа. Нечувствительно к регистру. |
PASSWORD '<пароль>' | Пароль пользователя-владельца базы данных. Может содержать до 64 символов, однако только первые 8 имеют значение. Чувствителен к регистру |
PAGE_SIZE | Задает размер страницы базы данных. Допустимы значения 4096 (значение по умолчанию), 8192 и 16384.Если вы зададите неправильное значение размера страницы, то система не выдаст сообщения об ошибке, а установит размер до ближайшего меньшего числа. Если указать значение меньше чем 4096, то будет выбрано значение по умолчанию — 4096. |
LENGTH | Задает количество страниц в первичном файле базы данных. |
DEFAULT CHARACTER SET | Задает набор символов по умолчанию для строковых типов данных в базе данных. |
STARTING AT PAGE | Страница, с которой начинается вторичный файл базы данных. |
Описание
Оператор CREATE DATABASE/SCHEMA создает новую базу данных. При этом в файл базы данных помещаются многочисленные системные данные. Можно задавать CREATE DATABASE или CREATE SCHEMA. Это синонимы. База данных может располагаться в одном или более файлах. Тогда после описания первичного файла задается описание вторичных файлов.
Для того, чтобы база данных была создана в нужном вам диалекте SQL, следует перед выполнением оператора создания базы данных задать нужный диалект, выполнив оператор SET SQL DIALECT:
SET SQL DIALECT 3;
Замечание:
В более ранних версиях системы управления базами данных могли применяться и меньшие размеры
страниц — 1024 и 2048, однако их использование на практике оказалось весьма неэффективным.
Пример
Пример создания однофайловой базы данных
SET SQL DIALECT 3; CREATE DATABASE 'D:\Work\work.fdb' USER 'wizard' PASSWORD 'master' PAGE_SIZE = 16384 DEFAULT CHARACTER SET WIN1251;
Здесь будет создана база данных в диалекте 3, владельцем которой является описанный в системе пользователь wizard с паролем master (этот пользователь должен быть создан в базе данных безопасности до создания демонстрационной базы данных. Размер страницы для этой базы данных установлен максимальным — 16384.
Пример создания многофайловой базы данных
SET SQL DIALECT 3; CREATE DATABASE 'D:\Work\work.fdb' USER 'wizard' PASSWORD 'master' PAGE_SIZE = 4096 DEFAULT CHARACTER SET WIN1251 FILE 'D:\Work\work.fd2' STARTING AT PAGE 10001 FILE 'D:\Work\work.fd3' STARTING AT PAGE 20001;
Первичный файл будет содержать 10000 страниц размером 4096 байтов. Как только первичный файл в процессе работы с базой данных будет заполнен пользовательскими и системными данными (количество всех данных превысит 4096 × 10000 байтов, включая и системные данные — заголовки страниц, указатели, индексы, генераторы и т.д.), система управления базами данных начнет помещать новые строки таблиц во второй файл базы данных, work.fd2. Аналогичные действия произойдут, когда будет заполнен и этот вторичный файл. Система начнет помещать данные в следующий вторичный файл — work.fd3. Размер последнего вторичного файла будет увеличиваться до того предела, который допускает используемая версия операционной системы, или пока не будет исчерпана память на внешнем носителе. Управлять размещением в различных файлах базы данных отдельных строк для различных таблиц пользователь не имеет возможности, все эти действия выполняет система управления базами данных.
Обсуждение