Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри
Шрифт:
Интервал:
Закладка:
Для удаления клиента Firebird 1.5, инсталлированного в системный каталог, используйте следующий синтаксис:
instclient.exe {r[emove] fbclient | gds32}
Список имен и размещение клиентской библиотеки
В табл. 7.1 представлены имена клиентской библиотеки и размещение по умолчанию на клиентах Firebird.
Таблица 7.1. Имена и размещение по умолчанию клиентов Firebird
Версия, вид
ОС клиента
Библиотека
Размещение по умолчанию
Подключается к
Firebird 1,0.x Классический сервер
Linux/UNIX
libgds.so.0, символьная ссылка на libgds.so
/usr/lib
Только Классический сервер 1.0
Firebird 1.0 Суперсервер для Windows
Windows NT/2000
gds32.dll
C:WINNT system32
Любой сервер 1.0
-//-Windows XP/Server 2003
gds32.dll
C:Windows system32
То же
-//-Windows 9x/ME
gds32.dll
C:Windows
То же
Firebird 1.0 Суперсервер для Linux
Linux/UNIX
libgds.so.0, символьная ссылка на libgds.so. Обратите внимание, что эта библиотека отличается от клиента libgds.so в Классическом сервере
/usr/lib
Любой сервер 1.0 за исключением Классического сервера
Firebird 1.5 Классический сервер для Linux
Linux/UNIX
libfbembed.so.O или libfbclient.so.0, символьная ссылка на libfbembed.so или libfbclient.so, соответственно[13]
/usr/lib
Только Классический сервер для Linux, приложения без потоков, возможны локальные соединения
Firebird 1.5 Суперсервер для Linux
Linux/UNIX
libfbclient.so.0, символьная ссылка на libfbclient.so
/usr/lib
Любой сервер 1.5
Firebird 1.5 Классический сервер и Суперсервер для Windows
Windows NT/2000
Родной: fbclient.dll
Firebird rootbin
Любой сервер 1.5
Совместимость: fbclient.dll или gds32.dll, встроенный в instclient.exe
C:WINNT system32
То же
Windows XP/Server 2003
Родной: fbclient.dll Совместимость: fbclient.dll или gds32.dll, встроенный в instclient.exe
C:Windows system32
Любой сервер 1.5
Windows 9x/ME
Родной: fbclient.dll
Firebird rootbin
То же
Совместимость: fbclient.dll или gds32.dll, встроенный в instclient.exe
C:Windows или C:Windowssystem[14]
То же
Firebird 1.5 Встроенный сервер
Все встроенные клиенты Windows
fbembed.dll
Корневой каталог исполняемого модуля приложения
То же
Пора дальшеВ части III мы переходим к детальному рассмотрению типов данных, поддерживаемых языком SQL Firebird. В следующей главе вводятся типы данных и рассматриваются некоторые вопросы, которые вы должны понимать при подготовке к определению, сохранению и работе с данными SQL. Она заканчивается специальным обсуждением, которое будет вам полезным, если вы собираетесь выполнять миграцию данных из существующей базы данных в Firebird.
ЧАСТЬ III. Типы данных Firebird и домены
ГЛАВА 8. О типах данных Firebird.
Тип данных является основным атрибутом, который должен быть определен для каждого столбца в таблице Firebird. Он устанавливает и ограничивает характеристики множества данных, которые могут храниться в столбце, и операции, которые могут быть выполнены над данными. Он также определяет, какое дисковое пространство занимает каждый элемент данных. Выбор оптимального размера значений данных является важным решением для сетевого трафика, экономии дисковой памяти и размера индексов.
Firebird поддерживает большую часть типов данных SQL. В дополнение он поддерживает динамически изменяемые типизированные и не типизированные большие двоичные объекты (Binary Large Object, BLOB) и многомерные однородные массивы для большинства типов данных.
Где задаются типы данных
Тип данных определяется для элементов данных в следующих ситуациях:
* при определении столбца в операторе CREATE TABLE;
* при создании шаблона глобально используемого столбца посредством CREATE DOMAIN;
* при изменении шаблона глобально используемого столбца с применением ALTER DOMAIN;
* при добавлении нового столбца в таблицу или при изменении столбца с использованием ALTER TABLE;
* при объявлении аргументов и локальных переменных в хранимых процедурах и триггерах;
* при объявлении аргументов и возвращаемых значений внешних функций (функций, определенных пользователем, UDF).
Поддерживаемые типы данных
Числовые типы данных (обсуждаемые в главе 9) следующие:
* BIGINT, INTEGER и SMALLINT;
* NUMERIC и DECIMAL;
* FLOAT и DOUBLE PRECISION.
Типы данных даты и времени (обсуждаемые в главе 10):
* DATE;
* TIME и TIMESTAMP.
Символьные типы данных (обсуждаемые далее в главе 11):
* CHARACTER;
* VARYING CHARACTER и NATIONAL CHARACTER.
Типы данных BLOB и массивы (обсуждаемые далее в главе 12):
* BLOB, типизированный и нетипизированный.
* ARRAY (массив).
Булевы типы данных
Firebird 1.5 и выше не поддерживает булевы (логические) типы данных. Обычной практикой является объявление односимвольного или SMALLINT домена для общего использования, где требуются булевы типы данных.
Советы по определению булевых доменов см. в главе 13.
"Диалекты" SQL
Firebird поддерживает три "диалекта" SQL, которые не имеют другого практического назначения, кроме конвертирования баз данных из InterBase версий 5.x в Firebird. "Родной" диалект Firebird в настоящий момент известен как диалект 3. По умолчанию Firebird создает новую базу данных в этом родном диалекте. Если в вашем опыте в Firebird нет ни груза существующих предположений, ни созданных баз данных, которые вам нужно обновить для Firebird, вы можете без риска "следовать естеству" и игнорировать все последующие замечания и предупреждения относительно диалекта 1.
Если вы бывший пользователь InterBase или применяли устаревшие инструменты для преобразования данных из других СУБД в InterBase, то диалекты SQL будут для вас предметом обсуждения в нескольких отношениях.
Поскольку вы можете работать с этой книгой в том порядке, который вам подходит, то вопросы влияния диалекта SQL будут отмечены соответствующим образом. Некоторые из наиболее серьезных эффектов разных диалектов проявляются в различии между типами данных. Вопросам диалектов посвящен разд. "Специальная тема миграции: диалекты SQL" этой главы.
Идентификаторы с разделителями в SQL-92
В базах данных диалекта 3 Firebird поддерживает соглашение ANSI SQL о необязательных идентификаторах с разделителями. Для использования зарезервированных слов, строк, чувствительных к регистру, или пробелов в именах объектов заключите имя в двойные кавычки. Это имя становится идентификатором с разделителями. К идентификаторам с разделителями всегда нужно обращаться, заключив их в кавычки.
Подробности см. в разд. "Соглашения и ограничения в именовании объектов базы данных" главы 14. Более подробную информацию об именовании объектов базы данных с использованием операторов CREATE и DECLARE см. в части IV этой книги. В приложении 11 представлен список ключевых слов, которые являются зарезервированными словами в SQL.
Контекстные переменные
Firebird делает доступным множество значений переменных, поддерживаемых системой в контексте текущего соединения клиента и его деятельности. Эти контекстные переменные доступны для использования в SQL, включая язык триггеров и хранимых процедур, PSQL. Некоторые доступны только в PSQL, большинство - только в диалекте 3 базы данных. В табл. 8.1 представлены контекстные переменные Firebird.
Таблица 8.1. Список контекстных переменных
Контекстная переменная Тип данных Описание Доступность CURRENT_CONNECTION INTEGER Системный идентификатор соединения, при котором выполняется настоящий запрос Firebird 1.5 и выше, DSQL и PSQL CURRENT_DATE DATE Текущая дата по часам на сервере Firebird 1.0 и выше, все окружения SQL CURRENT_ROLE VARCHAR (31) Имя роли, под которым соединился текущий пользователь. Возвращает пустую строку, если текущее соединение не использовало роль Firebird 1.0 и выше, все окружения SQL CURRENT_TIME TIME Текущее время по часам на сервере, выраженное в секундах после полуночи Firebird 1.0 и выше, все окружения SQL CURRENT_TIMESTAMP TIMESTAMP Текущая дата и время по часам на сервере в секундах Firebird 1.0 и выше, все окружения SQL CURRENT_TRANSACTION INTEGER Системный идентификатор транзакции, в контексте которой выполняется текущий запрос Firebird 1.5 и выше, DSQL и PSQL CURRENTUSER VARCHAR( 128) Имя пользователя, который связан сданным экземпляром клиентской библиотеки Firebird 1.0 и выше, все окружения SQL ROW_COONT INTEGER Счетчик строк измененных, удаленных и добавленных оператором DML после завершения операции Firebird 1.5 и выше, DSQL и PSQL UPDATING BOOLEAN Возвращает true, если выполняется оператор изменения Firebird 1.5 и выше, только диалект триггера PSQL INSERTING BOOLEAN Возвращает true, если выполняется оператор добавления Firebird 1.5 и выше, только диалект триггера PSQL DELETING BOOLEAN Возвращает true, если выполняется оператор удаления Firebird 1.5 и выше, только диалект триггера PSQL SQLCODE INTEGER Возвращает SQLCODE из блока исключения WHEN. Использование см. в главе 32 Firebird 1.5 и выше, только язык процедур PSQL GDSCODE INTEGER Возвращает GDSCODE из блока исключения WHEN. Использование см. в главе 32 Firebird 1.5 и выше, только язык процедур PSQL USER VARCHAR(128) Имя пользователя, который связан сданным экземпляром клиентской библиотеки Предшественники InterBase, все версии Firebird, все окружения SQL, доступные в диалекте 1Временные значения