Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
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 | Тип данных поля, как он представляется во внешней таблице. | ||
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 в символах (не в байтах) |