Книга: 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 является устаревшей таблицей.

Оглавление книги

Оглавление статьи/книги

Генерация: 0.109. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз