Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Название:Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94157-609-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание
Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.
Для разработчиков баз данных
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
. ! .
Другие таланты gbak
Утилита gbak также выполняет последовательность других важных задач в процессе анализа, сохранения и восстановления базы данных. Одни являются автоматическими, другие должны быть запрошены при использовании переключателей при вызове программы из командной строки.
В процессе копирования gbak выполняет сборку мусора устаревших записей - необязательный переключатель, выполняется по умолчанию. Если он включен, его действие появляется, даже если вы не восстанавливаете копию, а начинаете работать с чистым файлом. Заметьте при этом, что выполнение gbak не упаковывает базу, как это делает копирование - выполняйте полную сборку мусора для выполнения этого.
Задачи восстановления могут включать:
* балансировку индексов для улучшения производительности вашей базы данных;
* освобождение пространства, занимаемого удаленными записями, и упаковку остальных данных. Это часто уменьшает размер базы данных и улучшает производительность с "упакованными" данными;
* по желанию изменение размера страницы при восстановлении;
* изменение владельца базы данных. Это по желанию- но смотрите! Это может привести к авариям, если вы не будете осторожны;
* обновление базы данных InterBase до Firebird или с меньшей версии базы данных Firebird до более высокой версии (например, обновление ODS);
* разделение базы данных на множество файлов или изменение размеров существующих нескольких файлов. Это выполняется по желанию;
* распределение многофайловой базы данных на несколько дисков. Это выполняется по желанию.
Копирование и восстановление также играют важную роль при наличии неприятных событий, которые могут разрушать базы данных. Подробности осуществления стратегии восстановления базы данных см. в приложении 4.
Обновление структуры на диске (ODS)
Вероятно, основным изменением в новых релизах сервера Firebird является изменение структуры на диске (Оп-Disk Structure, ODS). Если ODS изменилась, и вы хотите использовать преимущества новых возможностей Firebird, обновите ваши базы данных до новой ODS. Новая версия сервера может работать с базами данных, созданными в некоторых предыдущих версиях, однако сервер не может использовать свои новые возможности для старой базы данных с более низким значением ODS.
Вы можете использовать большинство баз данных Firebird 1.0.x непосредственно в Firebird 1.5, хотя ODS версии 1.5 (10.1) выше, чем в версии 1.0.x (10.0). Тем не менее рекомендуется выполнить процедуру обновления для ваших баз данных, обновив их с 10.0 до 10.1, для получения преимуществ повышения производительности за счет возможности индексирования системных таблиц в версии 1.5.
Для обновления существующих баз данных до новой версии ODS выполните следующие шаги:
1. Перед инсталляцией новой версии ODS Firebird выполните резервное копирование баз данных с использованием старой версии gbak.
2. Установите новую версию сервера Firebird, как описано в главе 1.
3. После инсталляции новой версии восстановите базы данных с использованием утилиты gbak новой версии из каталога /bin корневого каталога Firebird.
Диалект 1 базы данных остается диалектом 1 и после восстановления базы данных. База данных остается ограниченной возможностями языка InterBase 5, хотя некоторые ограничения применяются к диалекту 1 баз данных в новой версии ODS, которые не применялись к InterBase 5. Например, в Firebird есть множество новых зарезервированных слов, которые будут недопустимыми в базе данных диалекта 1. Полный список зарезервированных слов см. в приложении 11.
Немного отойдя от обсуждаемой темы, скажем, что можно изменить диалект восстановленной базы данных диалекта 1 в диалект 3 при использовании инструмента gfix, обсуждаемого в главе 39. Однако такая миграция не является простым делом. Язык не является единственным, в чем различаются диалекты. Различия в типах данных не менее важны, если не более.
Например, домены и столбцы чисел с фиксированной точкой сохраняют свои старые атрибуты при изменении базы данных до диалекта 3. Типы NUMERIC и DECIMAL С точностью выше 10 в диалекте 1 хранятся в виде DOUBLE PRECISION. Преобразование в
64-битовые числа с фиксированной точкой не выполняется при изменении диалекта на 3 - вы должны создать новые столбцы требуемого типа и выполнить преобразование старых значений в новые столбцы.
Firebird унаследовал некоторые возможности для выполнения миграции из диалекта 1 в родной SQL-диалект Firebird (диалект 3). Известно, что существуют гораздо более простые и безопасные способы выполнить такую миграцию. Лучшие результаты получаются, если создать скрипт, выполнив извлечение метаданных, изменить его при необходимости и восстановить в "пустую" базу данных диалекта 3. Широко доступны прекрасные свободно распространяемые или недорогие инструменты для заполнения вашей новой базы данных вашими старыми данными. См. в приложении 5 рекомендации, а в конце главы 8 ссылки на специальные темы миграции.
Права на выполнение копирования и восстановления базы данных
Использование gbak для копирования и восстановления ограничено пользователем SYSDBA и владельцем этой базы данных.
! ! !
ПРИМЕЧАНИЕ. Любой пользователь может восстановить базу данных при использовании переключателя -c[reate] (см. разд. "Выполнение восстановления"), если создаваемая база данных не будет перекрывать существующую базу данных.
. ! .
Изменение владельца базы данных
Восстановленный файл базы данных или созданный из gbak имеет владельцем того пользователя, который выполнил восстановление. Следовательно, выполнение копирования и восстановления является механизмом для изменения владельца базы данных.
! ! !
ВНИМАНИЕ! Любой может украсть базу данных Firebird путем восстановления базы данных с резервной копии на машине, где ему известен пароль пользователя SYSDBA. Важно обеспечить, чтобы ваши резервные копии были защищены от неавторизованного доступа [148] Вопросы безопасности файловой системы и других средств окружения обсуждаются в главах 33 и 34.
.
. ! .
Имя пользователя и пароль
Когда Firebird проверяет полномочия при запуске gbak, он определяет пользователя в соответствии со следующей иерархией:
1. Имя пользователя и пароль, заданные переключателями в команде gbak.
2. Только для локального варианта gbak [149] Если вы по-настоящему беспечны и оставите эти переменные окружения на рабочих станциях, показывая всему миру пароль пользователя SYSDBA, удаленные пользователи также смогут выполнять копирование, не задавая учетных данных. Нечего и говорить, что такая практика должна быть полностью исключена.
. Имя пользователя и пароль, заданные в переменных окружения ISC_USERH ISC_PASSWORD, проверяются на присутствие в базе данных безопасности (security.fdb в версии 1.5 и isc4.gdb для версии 1.0.x). Сохранение постоянно установленных значений этих переменных строго не рекомендуется, поскольку крайне небезопасно.
Интервал:
Закладка: