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

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

Жанры

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

Борри Хелен

Шрифт:
Цепочки скриптов

Устойчивый набор скриптов может быть соединен вместе в цепочку с использованием оператора isql INPUT В качестве последнего оператора в предыдущем скрипте. Например, для присоединения скрипта leisurestore_0.sql к leisurestore_01.sql завершите скрипт следующим образом:

. . .

COMMIT;

– - присоединение к операторам CREATE TABLE

INPUT 'd:\scripts\leisurestore_02.sql' ;

– - не забудьте добавить пустую строку!

Подход,
основанный на главном скрипте

Оператор INPUT не обязательно должен быть последним в скрипте. Поэтому другим полезным подходом к поддержке набора скриптов является наличие "главного" скрипта, который вводит каждый дополнительный скрипт в нужном порядке. Это создает преимущества в поддержке больших наборов скриптов. Вы можете включить комментарии для сообщения о содержании каждого входного скрипта.

Пора дальше

А теперь - за создание баз данных! В следующей главе вы не только научитесь создавать базы данных, но также и сохранять их чистыми, безопасными и с хорошей производительностью. Существует не так много способов разрушения баз данных Firebird, однако раздел в конце этой главы описывает пять способов сделать это. Предупрежден, значит вооружен!

ГЛАВА 15. Создание и ведение базы данных.

База данных Firebird - это, прежде всего, файл файловой системы, находящийся под управлением подсистемы ввода/вывода главной машины, на которой выполняется сервер Firebird. Как только сервер создаст этот файл, его система управления начинает управлять его пространством, используя протокол низкого уровня для связи с подсистемой ввода/вывода.

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

Новая, "пустая" база данных занимает на диске около 540-600 Кбайт. Файл базы данных вовсе не является пустым, поскольку "акт создания" - оператор CREATE DATABASE- приводит к созданию более 30 системных таблиц. Эти таблицы будут хранить каждую деталь метаданных, как только объект базы данных будет добавлен или изменен. Так как системные таблицы являются обычными объектами базы данных Firebird, они уже содержат для себя записи метаданных. Сервер уже выделил страницы базы данных на диске для этих данных и создал инвентарные страницы для различных типов объектов.

Обсуждение страниц базы данных см. в предыдущей главе.

Физическое хранение базы данных

Размещение

До создания базы данных вы должны знать, где собираетесь ее создавать. Это не столь глупо, как звучит. Оператор CREATE DATABASE (альтернатива- CREATE SCHEMA) будет создавать файл или файлы с указанными вами именами, однако он не может создать каталоги и не может изменить полномочия доступа файловой системы. Этим деталям следует уделить внимание в первую очередь.

Дополнительно сервер Firebird 1.5 может быть сконфигурирован для ограничения размещения баз данных. Проверьте параметр DatabaseAccess в файле firebird.conf (см. главу 3),

чтобы выяснить, где ваш сервер ограничен в доступе. Если у вас установки по умолчанию (Full), то вы можете создавать базу данных в любом месте. Иначе:

* установка Restrict указывает файловой системе иерархию, в которой разрешен доступ к базе данных. Убедитесь, что пользователь, запускающий ваш сервер, имеет достаточные полномочия для создания там файла (или, в случае встроенного сервера Windows, подключающийся пользователь);

* установка None позволяет серверу соединяться только с базами данных, находящимися в списке в aliases.conf. Вы можете создавать базу данных в любом месте, однако, за исключением создания, никакой клиент не будет иметь возможности соединиться с ней, если алиас БД и ее абсолютный адрес не будут присутствовать в aliases.conf.

! ! !

ВНИМАНИЕ! Настоятельно рекомендуется устанавливать режим DatabaseAccess в NONE и использовать средства алиасов базы данных. Более подробную информацию об алиасах базы данных см. в разд. "Алиасы базы данных" главы 4.

. ! .

Безопасность доступа

Для новичков не всегда бывает очевидным, что существует разница между доступом к серверу и безопасностью базы данных. Когда вы соединяетесь с базой данных Firebird, используя isql или ваш любимый инструмент администратора, вы всегда указываете имя пользователя и пароль вместе с сервером, портом (иногда) и путем к базе данных. Когда вы это делаете, вы соединяетесь с сервером и открываете соединение с базой данных.

Если база данных еще не существует, и вы запустили из командной строки isql без параметров, то произойдут две вещи:

* вы соединяетесь с сервером;

* пока вы не отправите на сервер запрос CONNECT или CREATE DATABASE, программа не будет соединена с базой данных.

Пароль доступа всегда требуется для соединения с сервером. После этого вы можете соединяться с любой базой данных. Что вы можете делать, соединившись с базой данных, зависит от привилегий SQL, которые хранятся в базе данных. Пользователь SYSDBA имеет полные разрушительные права к любой базе данных и к любому ее объекту. Владелец (пользователь, создавший базу данных) имеет автоматические права к базе данных, но не к объектам, которые были созданы другими пользователями. Хотя любой пользователь, соединившись с сервером, может соединяться с любой базой данных, у него не будет прав делать что угодно с чем угодно, отличных от прав, которые были предоставлены ему явно или неявно владельцем базы данных операторами GRANT.

Вопросы доступа к серверу и безопасности базы данных подробно обсуждаются в части VIII.

ISC_USER и ISC_PASSWORD

На сервере можно установить две переменные окружения: ISC_USER и ISC_PASSWORD, чтобы избежать необходимости явно записывать пароли в скриптах. Вы можете делать все, что разрешено указанному пользователю. Эта возможность удобна для административных задач, однако она должна быть использована с большой осторожностью, потому что оставляет доступ к вашей базе данных открытым для любого локального пользователя, кто случайно натолкнется на ваше окно командной строки.

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

Часовая башня

Щерба Наталья Васильевна
3. Часодеи
Фантастика:
фэнтези
9.43
рейтинг книги
Часовая башня

Попаданка в Измену или замуж за дракона

Жарова Анита
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Попаданка в Измену или замуж за дракона

На границе империй. Том 9. Часть 3

INDIGO
16. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 3

Жена на пробу, или Хозяйка проклятого замка

Васина Илана
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Жена на пробу, или Хозяйка проклятого замка

Ваше Сиятельство

Моури Эрли
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ваше Сиятельство

Восход. Солнцев. Книга I

Скабер Артемий
1. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга I

Инвестиго, из медика в маги

Рэд Илья
1. Инвестиго
Фантастика:
фэнтези
городское фэнтези
попаданцы
5.00
рейтинг книги
Инвестиго, из медика в маги

Надуй щеки!

Вишневский Сергей Викторович
1. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки!

Случайная свадьба (+ Бонус)

Тоцка Тала
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Случайная свадьба (+ Бонус)

Газлайтер. Том 5

Володин Григорий
5. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 5

Мастер Разума III

Кронос Александр
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Мастер Разума III

Наследник 2

Шимохин Дмитрий
2. Старицкий
Фантастика:
попаданцы
альтернативная история
фэнтези
5.75
рейтинг книги
Наследник 2

Неучтенный. Дилогия

Муравьёв Константин Николаевич
Неучтенный
Фантастика:
боевая фантастика
попаданцы
7.98
рейтинг книги
Неучтенный. Дилогия

Светлая тьма. Советник

Шмаков Алексей Семенович
6. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Светлая тьма. Советник