Приложение 9. Системные таблицы и просмотры
Когда вы создаете базу данных, Firebird начинает с создания своих собственных таблиц, в которых он сохраняет метаданные всех объектов базы данных - не только определенных вами объектов, но также и своих собственных внутренних объектов. Эти таблицы называются системными таблицами. Просматривая определения метаданных для системных таблиц, вы найдете листинги DDL для множества просмотров для системных таблиц, которые могут оказаться вам полезными.
Системные таблицы
Описания в этом разделе помогут вам в проектировании запросов для понимания и администрирования ваших баз данных. Для изменения метаданных существуют операторы DDL. Вообще не рекомендуется использовать операторы SQL для изменения таблиц метаданных. Риск разрушения базы данных при выполнении таких действий весьма высок.
В таблицах применяются следующие аббревиатуры:
* 1DX-индексировано;
* UQ - уникальное.
Где существуют составные индексы, приведены цифры для указания последовательности индексных сегментов.
RDB$CHARACTER_SETS хранит ключи для наборов символов, доступных базе данных.
Идентификатор столбца | Тип | IDX | UN | Описание |
RDB$CHARACTER_SET_NAME | CHAR(31) | Y | Y | Имя набора символов, известного в Firebird |
RDB$FORM_OF_USE | CHAR(31) | Не используется | ||
RDB$NUMBER_OF_CHARACTERS | INTEGER | Количество символов в наборе (не используется для доступных наборов символов) | ||
RDB $ DEFAULT COLLATE_NAME | CHAR(31) | Название двоичной последовательности сортировки для этого набора символов. Это название всегда совпадает с названием набора символов | ||
RDB $ CHARACT ER_SET_I D1 | SMALLINT | Y | Y | Уникальный идентификатор для этого набора символов, если он используется |
RDB$SYSTEM_FIAG | SMALLINT | Будет 1, если набор символов был определен в системе при создании базы данных; 0 для набора символов, определенного пользователем | ||
RDB$DESCRIPTION | BLOB TEXT | Для хранения документации | ||
RDB$FUNCTION_NAME . | CHAR(31) | Не используется, но может стать доступным для наборов символов, определенных пользователем, доступ к которым осуществляется через внешнюю функцию | ||
RDB$BYTES_PER_CHARACTER | SMALLINT | Размер символов в наборе, указанный в байтах. Например, UNICODE_FSS использует 3 байта на символ |
KDB$CHECK_CONSTKAXNTS содержит перекрестные ссылки имен и триггеров для ограничений CHECK и NOT NULL.
Идентификатор столбца | Тип | IDX | UN | Описание |
RDB$CONSTRAINT_NAME | CHAR(31) | Y | Имя ограничения | |
RDB$TRIGGER_NAME | CHAR(31) | Для ограничения CHECK это имя триггера, который поддерживает данное ограничение. Для ограничения NOT NULL это имя столбца, к которому применяется ограничение - имя таблицы может быть найдено через имя ограничения |
RDB$COLLATIONS хранит определения последовательностей сортировки.