Чтение онлайн

на главную - закладки

Жанры

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

Если вы хотите играть с огнем, сделайте эти две переменные постоянными. Если же вы хотите иметь высокий уровень удобства и защищенности скриптов, временно устанавливайте их каждый раз при работе и не забывайте отменять установку при завершении работы с окном командной строки.

В Linux в том же окне командной строки, из которого вы запускали приложение, введите:

]# setenv ISC_USER=SYSDBA

]# setenv ISC_PASSWORD=masterkey

Для отмены установок используйте следующее:

]# setenv ISC_USER=

]# setenv ISC_PASSWORD=

или просто закройте окно.

В Windows

в командной строке введите:

set ISC_USER=SYSDBA

set ISC_PASSWORD=masterkey

Для отмены введите:

set ISC_USER=

set ISC_PASSWORD=

Создание базы данных

Вы можете создавать базу данных интерактивно в isql. Некоторые другие инструменты администрирования баз данных могут отвечать требованиям API, перечисленным в этом разделе, и позволяют создавать базу данных интерактивно, в то время как другие требуют использования скрипта.

В любом случае более предпочтительным является использование файла определения данных (скрипта DDL), потому что он предоставляет простой способ "проиграть снова" ваши операторы при ошибочном выполнении скрипта. Проще запустить исходный файл, чем заново вводить интерактивные операторы SQL.

Диалект

По умолчанию Firebird создает базу данных диалекта 3. Если вы хотите создать базу данных диалекта 1, первым оператором в вашем скрипте (или первым действием в вашем инструменте администратора) должен быть:

SET SQL DIALECT 1;

! ! !

ВНИМАНИЕ! Если isql в настоящий момент соединен с базой данных, он предложит вам подтвердить текущую транзакцию. Ответьте Yes (Да) для продолжения создания новой базы данных. Некоторые инструменты сторонних разработчиков вначале могут потребовать, чтобы вы отсоединились от базы данных.

. ! .

Следующий оператор - или первый для базы данных диалекта 3 - должен быть оператором CREATE DATABASE или CREATE SCHEMA такого синтаксиса [34] :

34

Замечание для программистов API. В динамическом SQL (DSQL) оператор CREATE DATABASE или CREATE SCHEMA должен быть выполнен с EXECUTE IMMEDIATE. Дескриптор базы данных и имя транзакции, если присутствуют, должны быть инициализированы нулем до использования.

CREATE {DATABASE | SCHEMA} 'спецификация-файла '

[USER 'имя-пользователя' [PASSWORD 'пароль']]

[PAGE_SIZE [=] целое]

[LENGTH [=] целое [PAGE[S]]]

[DEFAULT CHARACTER SET набор-символов]

[<вторичный-файл>] ;

<информация-о-файле> = LENGTH [=] целое [PAGE[S]]

STARTING [AT [PAGE]] целое [<информация-о-файле>]

<вторичный-файл> = FILE 'спецификация-файла' [<информация-о-файле>]

[<вторичный-файл> ]

! ! !

СОВЕТ. Используйте одиночные кавычки (апострофы) для таких строк, как имена файлов, имена пользователей и пароли.

. ! .

DATABASE
или SCHEMA?

CREATE DATABASE и CREATE SCHEMA являются одним и тем же оператором. Это только вопрос ваших предпочтений.

Обязательные и необязательные атрибуты

Единственным обязательным атрибутом оператора CREATE является спецификация файла- имя первичного файла базы данных и путь в файловой системе к его размещению.

Имя и путь к базе данных

Спецификация файла должна быть полным абсолютным путем к файлу. Путь должен иметь правильный формат в операционной системе.

Для POSIX:

CREATE DATABASE '/opt/databases/mydatabase.fdb'

Для Win32:

CREATE SCHEMA 'd:\databases\mydatabase.fdb'

Вы можете использовать наклонную черту (/) или обратную наклонную черту (\) в качестве разделителя каталогов. Firebird автоматически преобразует любой тип в тип, соответствующий серверу операционной системы.

Апострофы в спецификации файла являются обязательными. Все элементы спецификации файла чувствительны к регистру для платформ POSIX.

Создание удаленной базы данных

При создании базы данных с клиентской рабочей станции или локально в Суперсервере для Linux - интерактивно или с использованием скрипта - вы должны включить имя хоста.

Для POSIX:

CREATE DATABASE 'rayserver:/opt/databases/mydatabase.fdb'

Для локального Linux Суперсервера- как и в предыдущем случае или так:

CREATE DATABASE 'localhost:/opt/databases/mydatabase.fdb'

Для Win32:

CREATE SCHEMA 'NTServer:d:\databases\mydatabase.fdb'

Владение базой данных

Если вы подключены как пользователь SYSDBA, то SYSDBA будет владеть новой базой данных, независимо от того, как были заданы предложения USER и PASSWORD. Хотя указание владельца не является обязательным, очень желательно это сделать. При этом по причине безопасности вы, вероятно, захотите удалить из скрипта пароль пользователя перед архивацией скрипта с остальной системной документацией.

CREATE DATABASE '/opt/databases/mydatabase.fdb'

USER 'ADMINUSR' PASSWORD 'yyuryyub';

Размер страницы

Необязательный атрибут PAGE_SIZE (размер страницы) задается в байтах. Если вы его опустите, будет принято значение по умолчанию: 4096 байт в isql. Некоторые другие инструменты применяют свое значение по умолчанию, значит, есть веский аргумент указывать это значение в скрипте явно. Размер страницы может быть 1024, 2048, 4096, 8192 или 16 384. Любые другие значения будут преобразованы в ближайшее меньшее число из этого списка. Например, если вы укажете 3072, Firebird создаст базу данных с размером страницы 2048.

Поделиться:
Популярные книги

Камень Книга седьмая

Минин Станислав
7. Камень
Фантастика:
фэнтези
боевая фантастика
6.22
рейтинг книги
Камень Книга седьмая

Я сделаю это сама

Кальк Салма
1. Магический XVIII век
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Я сделаю это сама

Кровь на эполетах

Дроздов Анатолий Федорович
3. Штуцер и тесак
Фантастика:
альтернативная история
7.60
рейтинг книги
Кровь на эполетах

Сыночек в награду. Подари мне любовь

Лесневская Вероника
1. Суровые отцы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сыночек в награду. Подари мне любовь

Кодекс Крови. Книга ХII

Борзых М.
12. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Крови. Книга ХII

Найди меня Шерхан

Тоцка Тала
3. Ямпольские-Демидовы
Любовные романы:
современные любовные романы
короткие любовные романы
7.70
рейтинг книги
Найди меня Шерхан

Идеальный мир для Лекаря 4

Сапфир Олег
4. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 4

Релокант. По следам Ушедшего

Ascold Flow
3. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант. По следам Ушедшего

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Кодекс Охотника. Книга VII

Винокуров Юрий
7. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.75
рейтинг книги
Кодекс Охотника. Книга VII

Попаданка в семье драконов

Свадьбина Любовь
Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
7.37
рейтинг книги
Попаданка в семье драконов

Новые горизонты

Лисина Александра
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Новые горизонты

Скрываясь в тени

Мазуров Дмитрий
2. Теневой путь
Фантастика:
боевая фантастика
7.84
рейтинг книги
Скрываясь в тени