Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Системные таблицы
Системные таблицы
Описания в этом разделе помогут вам в проектировании запросов для понимания и администрирования ваших баз данных. Для изменения метаданных существуют операторы 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 хранит определения последовательностей сортировки.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$COLLATION_NAME |
VARCHAR(31) |
Y |
Y |
Имя последовательности сортировки |
RDB $ COLLATI ON_I D |
SMALLINT |
Y(1) |
Y(1) |
Вместе с идентификатором набора символов является уникальным идентификатором последовательности сортировки |
RDB$CHARACTER_SET_IB |
SMALLINT |
Y(2) |
Y(2) |
Вместе с идентификатором последовательности сортировки является уникальным идентификатором |
RDB$COLLATI ON_ATTRIBOTES |
CHAR(31) |
Не используется |
||
RDB$SYSTEM_FLAG |
SMALLINT |
Определенное пользователем = 0; определенное в системе = 1 или выше |
||
RDB$DESCRIPTION |
BLOB TEXT |
Для хранения документации |
||
RDB$FONCTION_NAME |
CHAR(31) |
В настоящий момент не используется |
RDB$DATABASE является файлом из одной записи, содержащей основную информацию о базе данных.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$DESCRIPTION |
BLOB TEXT |
Текст комментария, включенный в оператор CREATE DATABASE/CREATE SCHEMA, предназначен для того, чтобы быть записанным здесь. Этого не происходит. Однако вы можете сюда добавить любое количество текста с целью документирования. Он сохранится после резервного копирования и восстановления |
||
RDB$RELATION_ID |
SMALLINT |
Число, которое каждый раз увеличивается на единицу, когда к базе данных добавляется новая таблица или просмотр |
||
RDB$SECORITY_CLASS |
CHAR(31) |
Может ссылаться на класс безопасности, определенный в RDB$SECORITY_CLASSES, для обращения к общим для базы данных ограничениям доступа |
||
RDB$CHARACTER_SET_NAME |
CHAR(31) |
Набор символов по умолчанию для базы данных. NULL - набор символов NONE |
RDB$DEPENDENCIES хранит зависимости между объектами базы данных.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$DEPENDENT_NAME |
CHAR(31) |
Y |
Имена просмотра, процедуры, триггера или вычисляемого столбца, на которые происходит ссылка в этой записи |
|
RDB $ DEPENDED_ON_NAME |
CHAR(31) |
Y |
Таблица, на которую ссылается просмотр, процедура, триггер или вычисляемый столбец |
|
RDB$FIELD NAME |
VARCHAR (31) |
Имя столбца в таблице зависимости, на который ссылается просмотр, процедура, триггер или вычисляемый столбец |
||
RDB$DEPENDENT_TYPE |
SMALLINT |
Идентифицирует тип объекта (просмотр, процедура, триггер, вычисляемый столбец). Номер приходит из таблицы RDB$TYPES - объекты нумеруются в соответствии RDB$FIELD_NAME = 'RDB$OBJECT_TYPE' |
||
RDB$DEPENDED_ON_TYPE |
SMALLINT |
Идентифицирует тип зависимого объекта (тот же принцип, что и в RDB$DEPENDENT_TYPE) |
RDB$EXCEPTIONS хранит пользовательские исключения.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB $ EXC EPTION _NAME |
CHAR(31) |
Y |
Y |
Имя пользовательского исключения |
RDB$EXCEPTION_NUMBER |
INTEGER |
Y |
Y |
Назначенный системой уникальный номер исключения |
RDB$MESSAGE |
VARCHAR(78) |
Текст пользовательского сообщения |
||
RDB$DESCRIPTION |
BLOB TEXT |
Может быть использовано для документации |
||
RDB$SYSTEM_FLAG |
SMALLINT |
Определенное пользователем = 0; определенное системой = 1 или выше |
KDB$FIELD_DIMENSIONS сохраняет информацию о размерностях столбцов массивов.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$FIELD_NAME |
CHAR (31) |
Y |
Имя столбца массива. Должно содержаться в RDB$FIELD_NAME В таблице RDB$FIELDS |
|
RDB$DIMENSION |
SMALLINT |
Определяет одну размерность столбца массива. Первым значением является 0 |
||
RDB$LOWER_BOUND |
INTEGER |
Нижняя граница этой размерности |
||
RDB$UPPER_BOOND |
INTEGER |
Верхняя граница этой размерности |
RDB$FIELDS хранит определения доменов и имен столбцов для таблиц и просмотров. Каждая строка для столбца, не являющегося доменом, соответствует строке в RDB$RELATION_FIELDS. В действительности каждый экземпляр в RDB$FIELDS является доменом. Например, вы можете выполнить следующее:
CREATE TABLE ATABLE (
EXAMPLE VARCHAR(10) CHARACTER SET ISO8859_1) ; COMMIT;
SELECT RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS WHERE RDB$RELATION_NAME = 'ATABLE' AND RDB$FIELD_NAME = 'EXAMPLE'; RDB$FIELD_SOURCE
SQL$99 /* */
ALTER TABLE ATABLE
ADD EXAMPLE2 SQL$99; COMMIT;
Добавлен новый столбец, имеющий те же атрибуты, что и исходный.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$FIELD NAME |
CHAR(31) |
Y |
Y |
Для доменов это имя домена. Для столбцов таблиц и просмотров это внутреннее, уникальное для базы данных имя поля, связанное С RDB$FIELD_SOURCE В RDB$RELATION_FIELDS. Замечание: Firebird создает домен в этой таблице для каждого определения столбца, которое не наследуется от определенного пользователем домена |
RDB$QUERY_NAME |
CHAR (31) |
He используется в Firebird |
||
RDB$VALIDATION_BLR , |
BLOB BLR |
He используется в Firebird |
||
RDB $ VALIDATION_S OURCE |
BLOB TEXT |
He используется в Firebird |
||
RDB$COMPUTED_BLR |
BLOB BLR |
Двоичное представление выражения SQL, которое использует Firebird для вычисления при обращении к столбцу COMPUTED BY |
||
RDB$COMPUTED_SOURCE |
BLOB TEXT |
Оригинальный исходный текст выражения, которое определяет столбец COMPUTED BY |
||
RDB$DEFAULT_VALUE |
BLOB BLR |
Правило по умолчанию для значения по умолчанию в двоичном виде |
||
RDB $ DE FAULT_SOURCE |
BLOB TEXT |
То же; в исходном виде |
||
RDB$FIELD_LENGTH |
SMALLINT |
Длина столбца в байтах, FLOAT, DATE, TIME, INTEGER занимают 4 байта. DOUBLE PRECISION, BIGINT, TIMESTAMP и идентификатор BLOB - 8 байт |
||
RDB$FIELD_SCALE |
SMALLINT |
Отрицательное число задает масштаб для столбцов DECIMAL и NUMERIC |
||
RDB$FIELD_TYPE |
SMALLINT |
Числовой код типа данных для столбца: 7 = SMALLINT, 8 = INTEGER, 12 = DATE, 13 = TIME, 14 = CHAR, 16 = BIGINT, 27 = DOUBLE PRECISION, 35 = TIMESTAMP, 37 = VARCHAR, 261 = BLOB. Коды для DECIMAL и NUMERIC имеют тот же размер, что и их целые типы, используемые для их хранения |
||
RDB$FIELD_SUB_TYPE |
SMALLINT |
Подтип BLOB, а именно: 0 = не типизовано, 1 = текст, 2 = BLR (Binary Language Representation, представление в двоичном коде), 3 = ACL (Access Control List, список управления доступом), 5 = закодированные метаданные таблицы, 6 = описание транзакций между таблицами, которые не завершились нормально |
||
RDB$MISSING_VALUE |
BLOB BLR |
Не используется в Firebird |
||
RDB$MISSING_SOURCE |
BLOB TEXT |
Не используется в Firebird |
||
RDB$DESCRIPTION |
BLOB TEXT |
Доступно для использования в документации |
||
RDB$SYSTEM_FLAG |
SMALLINT |
= системная таблица, все другое - таблица, определенная пользователем |
||
RDB$QUERY_HEADER |
BLOB TEXT |
Не используется в Firebird |
||
RDB$SEGMENT LENGTH |
SMALLINT |
Для столбцов BLOB требуемая длина буферов BLOB. Не требуется в Firebird |
||
RDB$EDIT_STRING |
VARCHAR(125) |
Не используется в Firebird |
||
RDB$EXTERNAL_LENGTH |
SMALLINT |
Длина поля, как она представляется для внешней таблицы. Всегда 0 для обычных таблиц |
||
RDB$EXTERNAL_SCALE |
SMALLINT |
Коэффициент масштаба для целого поля во внешней таблице; задается степенью 10, на которую умножается целое |
||
RDB$EXTERNAL_TYPE |
SMALLINT |
Тип данных поля, как он представляется во внешней таблице. Типы данных те же самые, что и в обычных таблицах, только включают еще 40 = завершаемый нулем текст (CSTRING) |
||
RDB$DIMENSIONS |
SMALLINT |
Задает количество размерностей массива, если столбец был определен как тип массива. Для столбцов, не являющихся массивами, всегда 0 |
||
RDB$NULL_FLAG |
SMALLINT |
Указывает, может ли столбец принимать пустое значение (NOLL) или не может (1) |
||
RDB$CHARACTER_LENGTH |
SMALLINT |
Длина столбца CHAR или VARCHAR в символах (не в байтах) |
||
RDB$COLLATION_ID |
SMALLINT |
Номер идентификатора последовательности сортировки (если задана) для символьного столбца или домена |
||
RDB$CHARACTER_SET_ID |
SMALLINT |
Номер идентификатора набора символов для символьного столбца, столбца BLOB или домена. Связан со столбцом RDB$CHARACTER_SET_ID В RDB$CHARACTER_SETS |
||
RDB$FIELD_PRECISION |
SMALLINT |
Указывает количество цифр после десятичной точки, доступное для типа данных этого столбца |
RDB$FILES хранит множество деталей о вторичных файлах базы данных и о файлах оперативной копии.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$FILE_NAME |
VARCHAR(253) |
Имя вторичного файла (тома) базы данных в многотомной базе данных или файла оперативной копии |
||
RDB$FILE_SEQUENCE |
SMALLINT |
Порядковый номер вторичного файла в последовательности томов базы данных или номер в наборе оперативных копий |
||
RDB$FILE_START |
INTEGER |
Начальный номер страницы |
||
RDB$FILE_LENGTH |
INTEGER |
Длина файла в страницах базы данных |
||
RDB$FILE_FLAGS |
SMALLINT |
Для внутреннего использования |
||
RDB$SHADOW_NUMBER |
SMALLINT |
Номер набора оперативных копий. Требуется для идентификации файла, как члена набора оперативных копий. Если значение NULL или 0, Firebird предполагает, что файл является вторичным файлом в томах базы данных |
RDB$FILTERS запоминает и хранит следы информации о фильтрах BLOB.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$FUNCTION NAME |
CHAR(31) |
Уникальное имя фильтра BLOB |
||
RDB$DESCRIPTION |
BLOB TEXT |
Написанная пользователем документация о фильтре BLOB и используемых двух подтипах |
||
RDB$MODULE_NAME |
VARCHAR (253) |
Имя динамической библиотеки / совместно используемого объекта, где расположен код фильтра BLOB |
||
RDB$ENTRYPOINT |
CHAR (31) |
Точка входа в библиотеке фильтров для этого фильтра BLOB |
||
RDB$INPUT_SUB_TYPE |
SMALLINT |
Y(1) |
Y(1) |
Подтип BLOB для преобразуемых данных |
RDB$OUTPUT_SUB_TYPE |
SMALLINT |
Y(2) |
Y(2) |
Подтип BLOB, в который преобразуются входные данные |
RDB$SYSTEM_FLAG |
SMALLINT |
Внешне определенный фильтр (т. е. определенный пользователем = 0, внутренне определенный = 1 или более) |
RDB$FORMATS хранит информацию об изменениях метаданных, выполненных для таблиц. Каждый раз, когда таблица или просмотр изменяются, таблица получает новый номер формата. Цель этого - позволить приложениям получать доступ к измененной таблице без необходимости их перекомпилировать. Когда номер формата любой таблицы достигает 255, вся база данных становится недоступной для запросов. Тогда нужно выполнить резервное копирование, восстановить эту копию и продолжить работу с заново созданной базой данных.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$RELATION ID |
SMALLINT |
Y(1) |
Y(1) |
Идентификатор таблицы или просмотра в RDB$RELATIONS |
RDB$FORMAT |
SMALLINT |
Y(2) |
Y(2) |
Идентификатор формата таблицы. Форматов может быть до 255, как и строк для любой конкретной таблицы |
RDB$DESCRIPTOR |
BLOB FORMAT |
Отображение в виде BLOB столбцов и атрибутов данных на момент, когда была создана запись формата |
RDB$FUNCTXON_ARGUMENTS хранит атрибуты аргументов (параметров) внешних функций.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$FUNCT ION_NAME |
CHAR(31) |
Y |
Уникальное имя внешней функции, соответствующее имени функции В RDB$FUNCTIONS |
|
RDB $ ARGUMENT?? OS ITI ON |
SMALLINT |
Позиция аргумента в списке аргументов: 1 = первый, 2 = второй и т.д. |
||
RDB$MECHANISM |
SMALLINT |
Передается ли аргумент по значению (0), по ссылке (1), через дескриптор (2) или через дескриптор BLOB (3) |
||
RDB$FIELD_TYPE |
SMALLINT |
Числовой код, задающий тип данных для столбца: 7 = SMALLINT, 8 = INTEGER, 12 = DATE, 13 = TIME, 14 = CHAR, 16 = BIGINT, 27 = DOUBLE PRECISION, 35 = TIMESTAMP, 37 = VARCHAR, 40 = CSTRING (строка, завершаемая нулем), 261 = BLOB |
||
RDB$FIELD_SCALE |
SMALLINT |
Масштаб для целого числа или аргумента с фиксированной точкой |
||
RDB$FIELD_LENGTH |
SMALLINT |
Длина аргумента в байтах. Длины несимвольных типов см. RDB$FIELDS.RDB$FIELD_LENGTH |
||
RDB$FIELD SOB TYPE |
SMALLINT |
Для аргумента BLOB задает подтип BLOB |
||
RDB$CHARACTER_SET_ID |
SMALLINT |
Идентификатор набора символов для символьного аргумента, если применим |
||
RDB$FIELD_PRECISION |
SMALLINT |
Количество цифр точности, допустимой для типа данных аргумента |
||
RDB$CHARACTER_LENGTH |
SMALLINT |
Длина аргумента CHAR или VARCHAR в символах (не в байтах) |
RDB$FUNCTIQNS хранит информацию о внешних функциях.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$FUNCTION_NAME |
CHAR(31) |
Y |
Y |
Уникальное имя внешней функции |
RDB$FUNCTION TYPE |
SMALLINT |
В настоящий момент не используется |
||
RDB$QUERY_NAME |
CHAR(31) |
Имелось в виду, что будет альтернативным именем функции для использования в запросах isql. На самом деле не работает |
||
RDB$DESCRIPTION |
BLOB TEXT |
Может использоваться для документации |
||
RDB$MODULE NAME |
VARCHAR(253) |
Имя динамической библиотеки / совместно используемого объекта, где расположен код функции |
||
RDB$ENTRYPOINT |
CHAR(31) |
Имя точки входа в библиотеке, где можно найти эту функцию |
||
RDB$RETURN_ARGUMENT |
SMALLINT |
Номер позиции возвращаемого аргумента в списке параметров, соответствующем входным аргументам |
||
RDB$SYSTEM_FLAG |
SMALLINT |
Определенная пользователем функция = 1, определенная системой = 0 |
RDB $ GENERATORS хранит имена и идентификаторы генераторов.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$GENERATOR_NAME |
CHAR(31) |
Y |
Y |
Уникальное имя генератора |
RDB$GENERATOR_ID |
SMALLINT |
Назначаемый системой уникальный идентификатор для генератора |
||
RDB$SYSTEM_FLAG |
SMALLINT |
0 = определенный пользователем, 1 или выше = определенный системой. Firebird внутренне использует множество генераторов |
RDB$INDEX_SEGMENTS хранит сегменты и позиции составных индексов.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$INDEX_NAME |
CHAR(31) |
Y |
Имя индекса. Должно быть согласованным с соответствующей главной записью в RDB$INDICES |
|
RDB$FIELD_NAME |
CHAR(31) |
Имя ключевого столбца в индексе. Соответствует RDB$FIELD_NAME имени столбца базы данных в RDB$RELATION_FIELDS |
||
RDB$FIELD_POSITION |
SMALLINT |
Последовательная позиция столбца в индексе (упорядоченность слева направо) |
RDB$INDICES хранит определения всех индексов.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$INDEX NAME |
CHAR(31) |
Y |
Y |
Уникальное имя индекса |
RDB$RELATION_NAME |
CHAR(31) |
Y |
Имя таблицы, к которой применяется индекс. Соответствует RDB$RELATION_NAME в записи RDB$RELATIONS |
|
RDB$INDEX_ID |
SMALLINT |
Внутренний идентификатор индекса. Запись данных в этот столбец из приложения приведет к поломке индекса |
||
RDB$ONIQUE FLAG |
SMALLINT |
Указывает, является ли индекс уникальным (1 = уникальный, 0 = не уникальный) |
||
RDB$DESCRIPTION |
BLOB TEXT |
Доступно для документирования |
||
RDB$SEGMENT_COUNT |
SMALLINT |
Количество сегментов (столбцов) в индексе |
||
RDB$INDEX_INACTIVE |
SMALLINT |
Указывает, является ли в настоящий момент индекс неактивным (1 = неактивный, 0 = активный) |
||
RDB$INPEX_TYPE |
SMALLINT |
В настоящий момент не используется. Видимо, нужен для различения обычных индексов и индексов выражений, когда такая возможность будет реализована |
||
RDB$FOREIGN_KEY |
VARCHAR(31) |
Y |
Имя ассоциированного ограничения внешнего ключа, если существует |
|
RDB$SYSTEM_FLAG |
SMALLINT |
Указывает, является ли индекс определенным системой (1 или выше) или пользователем (0) |
||
RDB$EXPRESSION_BLR |
BLOB BLR |
Представление выражения на языке двоичного представления (BLR). Будет использовано для вычисления во время выполнения, когда будут реализованы индексы выражений |
||
RDB$EXPRESSION_SOURCE |
BLOB TEXT |
Исходный текст выражения. Будет использовано, когда будут реализованы индексы выражений |
||
RDB$STATISTICS |
DOUBLE PRECISION |
Хранит самую последнюю селективность индекса, вычисленную при запуске или с помощью оператора SET STSTISTICS |
RDB$LOG_FILES является устаревшей системной таблицей. RDB $ PAGES хранит информацию о страницах базы данных.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$PAGE_NUMBER |
INTEGER |
Уникальный номер страницы базы данных, которая была выделена физически |
||
RDB$RELATION ID |
SMALLINT |
Идентификатор таблицы, чьи данные хранятся на этой странице |
||
RDB$PAGE_SEQOENCE |
INTEGER |
Последовательный номер этой страницы по отношению к другим страницам, выделенным для этой таблицы |
||
RDB$PAGE_TYPE |
SMALLINT |
Идентифицирует тип данных, хранящихся на этой странице (данные таблицы, индекса и т.д.) |
RDB$PROCEDURE_PARAMETERS хранит параметры хранимых процедур.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$PARAMETER NAME |
CHAR (31) |
Y(2) |
Y(2) |
Имя параметра |
RDB$PROCEDURE_NAME |
CHAR(31) |
Y(1) |
Y(1) |
Имя процедуры |
RDB$PARAMETER_NUMBER |
SMALLINT |
Последовательный номер параметра |
||
RDB$PARAMETER_TYPE |
SMALLINT |
Указывает, является ли параметр входным (0) или выходным (1) |
||
RDB$FIELD_SOURCE |
CHAR(31) |
Сгенерированное системой уникальное имя столбца |
||
RDB$DESCRIPTION |
BLOB TEXT |
Доступно для документирования |
||
RDB$SYSTEM_FLAG |
SMALLINT |
Указывает, является ли параметр определенным системой (1 и выше) или пользователем (0) |
RDB$PROCEDURES содержит описания хранимых процедур.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$PROCEDURE_NAME |
CHAR(31) |
Y |
Y |
Имя процедуры |
RDB$PROCEDURE ID |
SMALLINT |
Y |
Определенный системой уникальный идентификатор процедуры |
|
RDB$PROCEDURE INPUTS |
SMALLINT |
Указывает, существуют входные параметры (1) или нет (0) |
||
RDB$PROCEDURE_OUTPUTS |
SMALLINT |
Указывает, существуют выходные параметры (1) или нет (0) |
||
RDB$DESCRIPTION |
BLOB TEXT |
Доступно для документирования |
||
RDB$PROCEDURE_SOURCE |
BLOB TEXT |
Исходный код процедуры |
||
RDB$PROCEDURE_BLR |
BLOB BLR |
Двоичное представление (BLR) кода процедуры |
||
RDB$SECURITY CLASS |
CHAR(31) |
Может указывать на класс безопасности, определенный в RDB$SECURITY_CLASSES, для применения ограничений управления доступом |
||
RDB $ OWNER_NAME |
VARCHAR(31) |
Имя пользователя - владельца процедуры |
||
RDB$RUNTIME |
BLOB SUMMARY |
Описание метаданных процедуры. Внутреннее использование для оптимизации |
||
RDB$SYSTEM_FLAG |
SMALLINT |
Определена пользователем (0) или системой (1 или выше) |
RDB$REF_CCNSTRAXNTS хранит действия для ссылочных ограничений.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$CONSTRAINT_NAME |
CHAR (31) |
Y |
Y |
Имя ссылочного ограничения |
RDB$CONST_NAME_HQ |
CHAR(31) |
Имя ограничения первичного или уникального ключа, на которое ссылается предложение REFERENCES в этом ограничении |
||
RDB$MATCH_OPTION |
CHAR(7) |
Текущим значением является NULL во всех случаях. Резервируется для будущего использования |
||
RDB$UPDATE_RULE |
CHAR(11) |
Действия по ссылочной целостности, применимые к данному внешнему ключу, когда изменяется первичный ключ: NO ACTION | CASCADE | SET NULL | SET DEFAULT |
||
RDB$DELETE_RULE |
CHAR(11) |
Действия по ссылочной целостности, применимые к данному внешнему ключу, когда удаляется первичный ключ. Правила те же, что указаны в столбце RDB$UPDATE RULE |
RDB$RELATION_CONSTRAINTS хранит информацию об ограничениях целостности на уровне таблицы.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$CONSTRAINT_NAME |
CHAR(31) |
Y |
Y |
Имя ограничения на уровне таблицы |
RDB$CONSTRAINT_TYPE |
CHAR(11) |
Y(2) |
Первичный ключ / уникальный ключ / внешний ключ / ограничение CHECK / NOT NULL |
|
RDB$RELATION NAME |
CHAR(31) |
Y(1) |
Имя таблицы, к которой применяется это ограничение |
|
RDB$DEFERRABLE |
CHAR(3) |
В настоящий момент во всех случаях N0. Резервируется для будущей реализации отложенных ограничений |
||
RDB$INITIALLY_DEFERRED |
CHAR(3) |
То же |
||
RDB$INDEX_NAME |
CHAR(31) |
Y |
Имя индекса, который поддерживает это ограничение (применимо, если ограничением является PRIMARY KEY, UNIQUE или FOREIGN KEY) |
RDB$REIATION_FIELDS хранит определения столбцов.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$FIELD_NAME |
CHAR(31) |
Y(1) |
Y(1) |
Имя столбца, уникальное в таблице или просмотре |
RDB$RELAT | ON_NAME |
CHAR (31) |
Y(2) |
Y(2) |
Имя таблицы или просмотра |
Y |
(Другой индекс) |
|||
RDB$FIELD_SOURCE |
CHAR (31) |
Y |
Имя, сгенерированное системой (SQL&nnn) для этого столбца, коррелирующееся с RDB$FIELDS. Если столбец основан на домене, то два связанных столбца RDB$FIELD_SOURCE хранят имя домена |
|
RDB$QUERY_NAME |
CHAR(31) |
Y |
В настоящий момент не используется |
|
RDB$BASE_FIELD |
CHAR(31) |
Только для запроса. Имя столбца из базовой таблицы. Базовая таблица идентифицируется по внутреннему идентификатору в столбце RDB$VIEW_CONTEXT |
||
RDB$EDIT_STRING |
VARCHAR(125) |
Не используется в Firebird |
||
RDB$FIELD_POSITLON |
SMALLINT |
Позиция столбца в таблице или просмотре по отношению к другим столбцам. Заметьте, что для таблиц вы можете изменить это с использованием ALTER TABLE ALTER COLUMN POSITION n, где n - новая позиция поля |
||
RDB$QUERY HEADER |
BLOB TEXT |
He используется в Firebird |
||
RDB$UPDATE_FLAG |
SMALLINT |
Не используется в Firebird |
||
RDB$FIELD_ID |
SMALLINT |
Временный номер идентификатора, используемый внутренне. Он изменяется после копирования / восстановления, следовательно, на него не следует полагаться в запросах приложений. Не изменяйте его |
||
RDB$VI EW_CONTEXT |
SMALLINT |
Для столбца просмотра внутренний идентификатор базовой таблицы, откуда приходит это поле. Не изменяйте этот столбец |
||
RDB$DESCRIPTION |
BLOB TEXT |
Может документировать этот столбец |
||
RDB$DEFAULT VALUE |
BLOB BLR |
Представление в двоичном языке предложения DEFAULT, если оно присутствует |
||
RDB$SYSTEM_FLAG |
SMALLINT |
Определено пользователем (0) или системой (1 или выше) |
||
RDB$SECURITY_CLASS |
CHAR(31) |
Может ссылаться на класс безопасности, определенный в RDB$SECURITY_CLASSES для применения ограничений управления доступом для всех пользователей этого столбца |
||
RDB$COMPLEX_NAME |
CHAR(31) |
Резервируется для будущих реализаций |
||
RDB$NULL_FLAG |
SMALLINT |
Указывает, допускает ли столбец значения NULL (пусто) или не допускает |
||
RDB$DEFAULT_SOURCE |
BLOB TEXT |
Начальный исходный текст из предложения DEFAULT, если присутствует |
||
RDB$COLLATION_ID |
SMALLINT |
Идентификатор последовательности сортировки для столбца не по умолчанию |
RDB$RELATIONS хранит информацию заголовка таблиц и просмотров.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$VIEW_BLR |
BLOB BLR |
Представление в двоичном языке спецификации запроса для просмотра; NULL для таблиц |
||
RDB$VIEW_SOURCE |
BLOB TEXT |
Спецификация запроса для просмотра |
||
RDB$DESCRIPTION |
BLOB TEXT |
Можно использовать для документирования |
||
RDB$RELATION_ID |
SMALLINT |
Y |
Внутренний идентификатор таблицы. Не изменяйте этот столбец |
|
RDB$SYSTEM_FLAG |
SMALLINT |
Указывает, создана ли таблица пользователем (0) или системой (1 или выше). Не изменяйте этот флаг для таблиц, определенных пользователем или системой |
||
RDB$DBKEY LENGTH |
SMALLINT |
Для просмотров общая длина ключа DB KEY. Это 8 байт для таблиц. Для просмотров это 8 * количество таблиц, на которые ссылается определение просмотра. Не изменяйте этот столбец. Более подробно о таких ключах см. в разд. "Темы оптимизации" в конце главы 30 |
||
RDB $ FORMAT |
SMALLINT |
Внутреннее использование - не модифицируйте |
||
RDB$FIELD_ID |
SMALLINT |
Внутреннее использование - не модифицируйте |
||
RDB$RELATION_NAME |
CHAR(31) |
Y |
Y |
Имя таблицы или просмотра |
RDB$SECURITY_CLASS |
CHAR(31) |
Может ссылаться на класс безопасности, определенный В RDB$SECURITY_CLASSES для применения ограничений управления доступом для всех пользователей этого столбца |
||
RDB$EXTERNAL_FILE |
VARCHAR(253) |
Полный путь к внешнему файлу данных, если присутствует |
||
RDB$RUNTIME |
BLOB SUMMARY |
Описание метаданных таблицы. Внутреннее использование для оптимизации |
||
RDB$EXTERNAL_DESCRIPTION |
BLOB EFD |
BLOB подтипа external type_description, текстовый тип BLOB, который может быть использован для документирования |
||
RDB$OWNER_NAME |
VARCHAR(31) |
Имя пользователя - владельца (создателя) таблицы или просмотра для целей безопасности SQL |
||
RDB$DEFAULT_CLASS |
CHAR(31) |
Класс безопасности по умолчанию. Применяется, когда новый столбец добавляется в таблицу |
||
RDB$FLAGS |
SMALLINT |
Внутренние флаги |
RDB$ROLES хранит определения ролей.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$ROLE_NAME |
VARCHAR(31) |
Y |
Y |
Имя роли |
RDB$OWNER NAME |
VARCHAR (31) |
Имя пользователя владельца роли |
RDB$SECURITY CLASSES хранит и отслеживает списки управления доступом.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$SECURITY_CLASS |
CHAR(31) |
Y |
Y |
Имя класса безопасности. Это имя должно оставаться согласованным во всех местах, где оно используется (RDB$DATABASE, RDB$RELATIONS, RDB$RELAT ION_FIELDS) |
RDB$ACL |
BLOB ACL |
Список управления доступом, связанный с классом безопасности. Перечисляет пользователей и их полномочия |
||
RDB$DESCRIPTION |
BLOB TEXT |
Здесь определена документация по классу безопасности |
BDB$TRANSACTIONS отслеживает транзакции с несколькими базами данных.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$TRANSACTION_ID |
INTEGER |
Y |
Y |
Уникальный идентификатор отслеживаемой транзакции |
RDB$TRANSACTION STATE |
SMALLINT |
Состояние транзакции: зависшая (0), подтвержденная (1), отмененная (2) |
||
RDB$TIMESTAMP |
TIMESTAMP |
Для будущих реализаций |
||
RDB$TRANSACTION_ DESCRIPTION |
BLOB TEXT |
Подтип BLOB transaction description. Описывает подготовленную транзакцию к нескольким базам данных. Доступна в случае потери соединения, которое не может быть восстановлено |
BDB$TRIGGER_MESSAGES хранит определения сообщений триггеров (системное использование).
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$TRIGGER NAME |
CHAR(31) |
Y |
Имя триггера, с которым ассоциировано сообщение |
|
RDB$MESSAGE_NUMBER |
SMALLINT |
Номер сообщения (от 1 до максимум 32 767) |
||
RDB$MESSAGE |
VARCHAR(78) |
Текст сообщения триггера |
RDB$TRIGGERS хранит описания всех триггеров.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$TRIGGER_NAME ¦ |
CHAR(31) |
Y |
Y |
Имя триггера |
RDB$RE LATI ON_N AME |
CHAR(31) |
Y |
Имя таблицы или просмотра, для которого используется триггер |
|
RDB$TRIGGER_SEQUENCE |
SMALLINT |
Последовательность (позиция) триггера. Ноль обычно означает, что последовательность не задана |
||
RDB$TRIGGER_TYPE |
SMALLINT |
= BEFORE INSERT, 2 = AFTER INSERT, 3 = BEFORE UPDATE, 4 = AFTER UPDATE, 5 = BEFORE DELETE, 6 = AFTER DELETE. Триггеры на многие события (Firebird 1.5 и выше) имеют различные типы, которые используют большие номера. Фактический тип кода зависит от того, какие обрабатываются события и от порядка, в котором представляются события. (Заметим, что не существует видимых причин для того, чтобы порядок событий влиял на код trigger type) |
||
RDB$TRIGGER_SOURCE |
BLOB TEXT |
Хранит PSQL исходный код триггера |
||
RDB$TRIGGER_BLR |
BLOB BLR |
Хранит представление триггера в двоичном коде |
||
RDB$DESCRIPTION |
BLOB TEXT |
Дополнительная документация |
||
RDB$TRIGGER INACTIVE |
SMALLINT |
Является ли триггер в настоящее время неактивным (1 = неактивный, 0 = активный) |
||
RDB$SYSTEM FLAG |
SMALLINT |
Определен пользователем (0) либо системой (1 или выше) |
||
RDB$FLAGS |
SMALLINT |
Внутреннее использование |
RDB $ TYPES хранит описания перечисляемых типов, используемых в Firebird.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$FIELD NAME |
CHAR (31) |
Имя столбца, для которого определен этот перечисляемый тип. Заметьте, что то же имя столбца появляется во множестве системных таблиц |
||
RDB$TYPE |
SMALLINT |
Перечислимый идентификатор для типа, который идентифицирует RDB$FIELD NAME. Последовательность чисел является уникальной для каждого отдельного перечисляемого типа (например, 0 = таблица, 1 = просмотр, 2 = триггер, 3 = вычисляемый столбец, 4 = проверка, 5 = процедура - все являются типами из RDB$OBJECT TYPE) |
||
RDB$TYPE_NAME |
CHAR(31) |
Y |
Текстовое представление типа, идентифицированного значением RDB$FIELD_NAME и значением RDB$TYPE |
|
RDB$DESCRIPTION |
BLOB TEXT |
Может использоваться для документирования |
||
RDB$SYSTEM_FLAG |
SMALLINT |
Определен пользователем (0) или системой (1 или выше) |
RDB$USER_PRIVILEGES хранит полномочия SQL.
Идентификатор столбца |
Тип |
IDX |
UN |
Описание |
RDB$USER |
CHAR(31) |
Y |
Пользователь, которому предоставляется полномочие |
|
RDB$GRANTOR |
CHAR(31) |
Имя пользователя, предоставляющего полномочие |
||
RDB$PRIVILEGE |
CHAR(6) |
Привилегия, предоставляемая в полномочии |
||
RDB$GRANT_OPT | ON |
SMALLINT |
Содержит ли полномочие авторизацию WITH GRANT OPTION. 1 = да, 0 = нет |
||
RDB$RELATION NAME |
CHAR(31) |
Y |
Объект, к которому предоставляется полномочие |
|
RDB$FIELD_NAME |
CHAR(31) |
Имя столбца, к которому применяется привилегия на уровне столбца (только привилегии UPDATE и REFERENCES) |
||
RDB$USER_TYPE |
SMALLINT |
Идентифицирует тип пользователя, которому предоставляется привилегия (например, пользователь, процедура, просмотр и т.д.) |
||
RDB$OBJECT_TYPE |
SMALLINT |
Идентифицирует тип объекта, к которому предоставляется привилегия |
RDB$VIEW_RELATIONS является устаревшей таблицей.
- Глава 7. Системные трюки
- Системные просмотры
- 8.3.2 Внутренние системные тайм-ауты
- Вызов таблицы цветов
- Приложение 9. Системные таблицы и просмотры
- Системные переменные ROWS_AFFECTED, GDSCODE, SQLCODE, TRANSACTIONJD, CONNECTIONJD
- Системные вызовы и драйверы устройств
- Использование представления в виде таблицы данных
- ГЛАВА 5. СИСТЕМНЫЕ ОПЕРАЦИИ ДЛЯ РАБОТЫ С ФАЙЛОВОЙ СИСТЕМОЙ
- 4.3. Логические функции и таблицы истинности
- Системные вызовы управления процессорной привязкой
- Почему за время, пока компьютер выключен, сильно отстают системные часы, сбивается дата?