Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
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 является устаревшей таблицей.
Системные просмотры
Следующие системные просмотры являются подмножеством просмотров, определенных в стандарте SQL-92. Они предоставляют полезную информацию о ваших данных. Вы можете скопировать эти тексты в скрипты и инсталлировать просмотры во всех ваших базах данных.
CHECK_CONSTRAINTS отображает все ограничения CHECK, определенные в базе данных, с исходными текстами определения ограничений.
CREATE VIEW CHECK_CONSTRAINTS (
CONSTRAINT_NAME,
CHECK_CLAUSE )
AS
SELECT RDB$CONSTRAINT_NAME,
RDB$TRIGGER_SOURCE
FROM RDB$CHECK_CONSTRAINTS RC, RDB$TRIGGERS RT
WHERE RT.RDB$TRIGGER_NAME = RC.RDB$TRIGGER_NAME;
CQNSTRAINTS_COLUMN_USAGE отображает столбцы, используемые в ограничениях PRIMARY KEY и UNIQUE и определенные в ограничениях FOREIGN KEY.
CREATE VIEW CONSTRAINTS_COLUMN_USAGE (
TABLE_NAME,