При первоначальном создании базы данных система управления базами данных создаёт множество системных таблиц.
В системных таблицах хранятся метаданные — описания всех объектов базы данных.
Системные таблицы содержат префикс RDB$
в имени.
RDB$AUTH_MAPPING
-
Сведения об отображении объектов безопасности.
RDB$BACKUP_HISTORY
-
Хранит историю копирования базы данных с помощью nbackup.
RDB$CHARACTER_SETS
-
Описание доступных наборов символов в базе данных.
RDB$CHECK_CONSTRAINTS
-
Соответствие имён триггеров именам ограничений, связанных с характеристиками NOT NULL, ограничениями CHECK и предложениями ON UPDATE и ON DELETE в ограничениях внешнего ключа.
RDB$COLLATIONS
-
Порядки сортировки для всех наборов символов.
RDB$CONFIG
-
Виртуальная таблица, отображающая актуальные параметры конфигурации, заданные в firebird.conf, databases.conf или через передаваемые через DPB.
RDB$DATABASE
-
Основные данные о базе данных.
RDB$DB_CREATORS
-
Содержит сведения о пользователях имеющих права на создание базы данных. Используется только в том случае, если текущая база данных назначена как база данных безопасности.
RDB$DEPENDENCIES
-
Сведения о зависимостях между объектами базы данных.
RDB$EXCEPTIONS
-
Пользовательские исключения базы данных.
RDB$FIELD_DIMENSIONS
-
Размерности столбцов, являющихся массивами.
RDB$FIELDS
-
Характеристики столбцов и доменов, как системных, так и созданных пользователем.
RDB$FILES
-
Сведения о вторичных файлах и файлах теневых копий.
RDB$FILTERS
-
Данные о BLOB-фильтрах.
RDB$FORMATS
-
Данные об изменениях таблиц.
RDB$FUNCTION_ARGUMENTS
-
Параметры хранимых или внешних функций.
RDB$FUNCTIONS
-
Описание хранимых или внешних функций.
RDB$GENERATORS
-
Сведения о генераторах (последовательностях).
RDB$INDEX_SEGMENTS
-
Сегменты индексов.
RDB$INDICES
-
Определение индексов базы данных (созданных пользователем или системой).
RDB$LOG_FILES
-
В настоящей версии не используется.
RDB$PACKAGES
-
Сведения о PSQL пакетах.
RDB$PAGES
-
Сведения о страницах базы данных.
RDB$PROCEDURE_PARAMETERS
-
Параметры хранимых процедур.
RDB$PROCEDURES
-
Описания хранимых процедур.
RDB$PUBLICATION_TABLES
-
Таблицы включенные в публикацию.
RDB$PUBLICATIONS
-
Публикации. Публикация — набор таблиц для репликации.
RDB$REF_CONSTRAINTS
-
Описания именованных ограничений базы данных (внешних ключей).
RDB$RELATION_CONSTRAINTS
-
Описание всех ограничений на уровне таблиц.
RDB$RELATION_FIELDS
-
Характеристики столбцов таблиц.
RDB$RELATIONS
-
Заголовки таблиц и представлений.
RDB$ROLES
-
Определение ролей.
RDB$SECURITY_CLASSES
-
Списки управления доступом.
RDB$TIME_ZONES
-
Список часовых поясов поддерживаемых сервером.
RDB$TRANSACTIONS
-
Состояние транзакций при обращении к нескольким базам данных.
RDB$TRIGGER_MESSAGES
-
Сообщения триггеров.
RDB$TRIGGERS
-
Описания триггеров.
RDB$TYPES
-
Описание перечислимых типов данных.
RDB$USER_PRIVILEGES
-
Полномочия пользователей системы.
RDB$VIEW_RELATIONS
-
Описывает представления. Содержит имена таблиц используемые при определении представления.
Сведения о локальных отображениях объектов безопасности.
RDB$AUTH_MAPPING
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя отображения. |
|
|
Является ли аутентификация общесерверной (S) или обычной (P). |
|
|
Имя плагина аутентификации, из которого происходит отображение. |
|
|
Имя базы данных, в которой прошла аутентификация. Из неё происходит отображение. |
|
|
Тип объекта, который будет отображён. |
|
|
Имя объекта, из которого будет произведено отображение. |
|
|
Тип объекта, в который будет произведено отображение: 0 — USER; |
|
|
Наименование объекта, в который будет произведено отображение (имя пользователя или роли). |
|
|
Признак: определён пользователем — значение 0; определён в системе — значение 1. |
|
|
Произвольное текстовое описание порядка сортировки. |
Таблица хранит историю копирования базы данных при помощи утилиты nbackup.
RDB$BACKUP_HISTORY
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Присваиваемый ядром идентификатор. |
|
|
Дата и время выполнения копирования. |
|
|
Уровень копирования. |
|
|
Уникальный идентификатор. |
|
|
Системный номер. |
|
|
Полный путь и имя файла копии. |
Содержит наборы символов, доступные в базе данных.
RDB$CHARACTER_SETS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя набора символов. |
|
|
Не используется. |
|
|
Количество символов в наборе. Для существующих наборов символов не используется. |
|
|
Имя порядка сортировки по умолчанию для набора символов. |
|
|
Уникальный идентификатор набора символов. |
|
|
Системный флаг: имеет значение 1, если набор символов был определён в системе при создании базы данных; значение 0 для набора символов, определённого пользователем. |
|
|
Произвольное текстовое описание набора символов. |
|
|
Имя внешней функции для наборов символов, определённых пользователем, доступ к которым осуществляется через внешнюю функцию. |
|
|
Количество байтов для представления одного символа. |
|
|
Может ссылаться на класс безопасности, определённый в таблице
|
|
|
Имя пользователя — владельца (создателя) набора символов. |
Описывает соответствие имён триггеров именам ограничений, связанных с характеристиками NOT NULL
, ограничениями CHECK
и предложениями ON UPDATE
, ON DELETE
в ограничениях внешнего ключа.
RDB$CHECK_CONSTRAINTS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя ограничения. Задаётся пользователем или автоматически генерируется системой. |
|
|
Для ограничения |
Порядки сортировки для наборов символов.
RDB$COLLATIONS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя порядка сортировки. |
|
|
Идентификатор порядка сортировки. Вместе с идентификатором набора символов является уникальным идентификатором порядка сортировки. |
|
|
Идентификатор набора символов. Вместе с идентификатором порядка сортировки является уникальным идентификатором. |
|
|
Атрибуты сортировки. Представляет собой битовую маску, где 1-й бит показывает учитывать ли конечные пробелы при сравнении
(0 — Таким образом, значение 5 означает, что сравнение не является чувствительным к конечным пробелам и к акцентированным буквам. |
|
|
Признак: определён пользователем — значение 0; определён в системе — значение 1. |
|
|
Произвольное текстовое описание порядка сортировки. |
|
|
В настоящий момент не используется. |
|
|
Имя базового порядка сортировки для данного порядка сортировки. |
|
|
Описание особых атрибутов. |
|
|
Может ссылаться на класс безопасности, определённый в таблице
|
|
|
Имя пользователя — владельца (создателя) сортировки. |
Виртуальная таблица, отображающая актуальные параметры конфигурации, заданные в firebird.conf, databases.conf или через передаваемые через DPB.
Таблица RDB$CONFIG
при необходимости заполняется из структур в памяти, а экземпляр хранится на уровне запроса SQL.
По соображениям безопасности доступ разрешен только SYSDBA
и владельцу базы данных.
Непривилегированный пользователь видит пустое содержимое, ошибка не возникает.
RDB$CONFIG
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Уникальный идентификатор записи. Не имеет значения. |
|
|
Наименование параметра, например “DefaultDbCachePages”, “TempCacheLimit” и т. д. |
|
|
Фактическое значение настройки, может задаваться в конфигурации и при необходимости браться из ядра Firebird (в случае неверного значения). |
|
|
Значение настройки по умолчанию, фиксированное в коде Firebird. |
|
|
|
|
|
Имя конфигурационного файла, в котором был задан параметр,
относительно корневой папки firebird, например: “firebird.conf”, “databases.conf” или
специальное значение “DPB”, если параметр был
установлен в DPB, если значение параметра не было задано, то это
поле содержит |
Основные данные о базе данных. Содержит только одну запись.
RDB$DATABASE
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Текст примечания для базы данных. |
|
|
Количество таблиц и представлений в базе данных. |
|
|
Класс безопасности, определённый в |
|
|
Имя набора символов по умолчанию для базы данных, установленного
в предложении |
|
|
Количество секунд "задержки" (установленной оператором |
|
|
Режим
|
Содержит сведения о пользователях имеющих права на создание базы данных. Используется только в том случае, если текущая база данных назначена как база данных безопасности.
RDB$DB_CREATORS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя пользователя или роли, которому даны полномочия на создание базы данных. |
|
|
Тип пользователя: 8 — пользователь; |
Сведения о зависимостях между объектами базы данных.
RDB$DEPENDENCIES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя представления, процедуры, триггера, ограничения CHECK или вычисляемого столбца, для которого описывается зависимость. |
|
|
Объект, зависящий от описываемого объекта — таблица, на которую ссылается представление, процедура, триггер, ограничение CHECK или вычисляемый столбец. |
|
|
Имя столбца в зависимой таблице, на который ссылается представление, процедура, триггер, ограничение CHECK или вычисляемый столбец. |
|
|
Идентифицирует тип объекта, для которого описывается зависимость: 0 — таблица; |
|
|
Идентифицирует тип зависимого объекта: 0 — таблица (или её столбец); |
|
|
Пакет процедуры или функции, для которой описывается зависимость. |
Пользовательские исключения базы данных.
RDB$EXCEPTIONS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя пользовательского исключения. |
|
|
Назначенный системой уникальный номер исключения. |
|
|
Текст сообщения в исключении. |
|
|
Произвольное текстовое описание исключения. |
|
|
Признак: определено пользователем = 0; определено системой = 1 или выше. |
|
|
Может ссылаться на класс безопасности, определённый в таблице
|
|
|
Имя пользователя — владельца (создателя) исключения. |
Размерности столбцов, являющихся массивами.
RDB$FIELD_DIMENSIONS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя столбца, являющегося массивом. Должно содержаться в поле RDB$FIELD_NAME таблицы RDB$FIELDS. |
|
|
Определяет одну размерность столбца массива. Нумерация размерностей начинается с 0. |
|
|
Нижняя граница этой размерности. |
|
|
Верхняя граница описываемой размерности. |
Характеристики столбцов и доменов, как системных, так и созданных пользователем. В этой таблице хранятся подробности атрибутов всех столбцов.
Note
|
Столбец |
RDB$FIELDS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Уникальное имя домена, созданного пользователем, или домена,
автоматически построенного ядром Firebird для столбца таблицы. Во
втором случае имя будет начинаться с символов |
|
|
Не используется. |
|
|
Двоичное представление (BLR) выражения SQL, задающее проверку
значения |
|
|
Оригинальный исходный текст на языке SQL, задающий проверку
значения |
|
|
Двоичное представление (BLR) выражения SQL, которое используется
сервером базы данных для вычисления при обращении к столбцу |
|
|
Оригинальный исходный текст выражения, которое определяет столбец |
|
|
Значение по умолчанию в двоичном виде BLR. |
|
|
Значение по умолчанию в исходном виде на языке SQL. |
|
|
Размер столбца в байтах. |
|
|
Отрицательное число задаёт масштаб для столбцов |
|
|
Код типа данных для столбца: 7 – Коды для Для типов |
|
|
Для типа данных
Для типа данных
Для целочисленных типов данных (
|
|
|
Не используется. |
|
|
Не используется. |
|
|
Произвольный текст комментария для домена (столбца таблицы). |
|
|
Признак: значение 1 – домен, автоматически созданный системой, значение 0 – домен определён пользователем. |
|
|
Не используется. |
|
|
Для столбцов |
|
|
Не используется. |
|
|
Длина столбца в байтах, если он входит в состав внешней таблицы.
Всегда |
|
|
Показатель степени для столбца целого типа данных во внешней таблице; задаётся степенью 10, на которую умножается целое. |
|
|
Тип данных поля, как он представляется во внешней таблице. 7 – Коды для |
|
|
Задаёт количество размерностей массива, если столбец был определён как массив. Для столбцов, не являющихся массивами, всегда NULL. |
|
|
Указывает, может ли столбец принимать пустое значение (в поле будет значение NULL) или не может (в поле будет содержаться значение 1). |
|
|
Длина столбцов |
|
|
Идентификатор порядка сортировки для символьного столбца или домена. Если не задан, значением поля будет 0. |
|
|
Идентификатора набора символов для символьного столбца, столбца
|
|
|
Указывает общее количество цифр для числового типа данных с
фиксированной точкой ( |
|
|
Может ссылаться на класс безопасности, определённый в таблице
|
|
|
Имя пользователя – владельца (создателя) домена. |
Сведения о вторичных файлах и файлах оперативных копий.
RDB$FILES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Полный путь к файлу и имя вторичного файла базы данных в многофайловой базе данных или файла оперативной копии. |
|
|
Порядковый номер вторичного файла в последовательности или номер файла копии в наборе оперативных копий. |
|
|
Начальный номер страницы вторичного файла или файла оперативной копии. |
|
|
Длина файла в страницах базы данных. |
|
|
Для внутреннего использования. |
|
|
Номер набора оперативных копий. Если строка описывает вторичный файл базы данных, то значением поля будет |
Содержит данные о BLOB
-фильтрах.
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Уникальное имя фильтра |
|
|
Написанная пользователем документация о фильтре |
|
|
Имя динамической библиотеки / совместно используемого объекта, где расположен код фильтра |
|
|
Точка входа в библиотеке фильтров для этого фильтра BLOB. |
|
|
Подтип |
|
|
Подтип |
|
|
Признак: внешне определённый фильтр (т.е. определённый пользователем = значение 0, внутренне определённый = значение 1 или более) |
|
|
Может ссылаться на класс безопасности, определённый в таблице
|
|
|
Имя пользователя — владельца (создателя) |
Таблица RDB$FORMATS
хранит данные об изменениях метаданных таблиц.
Каждый раз, когда метаданные таблицы изменяются, таблица получает новый номер формата.
Когда номер формата любой таблицы достигает 255 (или 32000 для представлений), вся база данных становится недоступной для работы с ней.
В этом случае необходимо выполнить резервное копирование с помощью утилиты gbak
, после чего восстановить эту копию и продолжить работу с заново созданной базой данных.
RDB$FORMATS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Идентификатор таблицы или представления. |
|
|
Идентификатор формата таблицы. Форматов может быть 255 для таблиц и 32000 для представлений. |
|
|
Отображение в виде BLOB столбцов и характеристик данных на момент, когда была создана запись формата. |
Параметры хранимых или внешних функций.
RDB$FUNCTION_ARGUMENTS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя функции. |
|
|
Позиция аргумента в списке аргументов. |
|
|
Механизм передачи параметра для Legacy функций: 0 — по значению; |
|
|
Код типа данных аргумента: 7 — |
|
|
Масштаб для целого числа или аргумента с фиксированной точкой. Это показатель числа 10. |
|
|
Длина аргумента в байтах: 1 — для |
|
|
Для аргумента типа данных BLOB задаёт подтип BLOB. |
|
|
Идентификатор набора символов для символьного аргумента. |
|
|
Количество цифр точности, допустимой для типа данных аргумента. |
|
|
Длина аргумента CHAR или VARCHAR в символах (не в байтах). |
|
|
Имя пакета функции (если функция упакованная), в которой используется параметр. |
|
|
Имя параметра. |
|
|
Имя домена, созданного пользователем (при использовании ссылки на
домен вместо типа), или домена, автоматически построенного системой
для параметра функции. Во втором случае имя будет начинаться с
символов |
|
|
Значение по умолчанию на языке BLR. |
|
|
Значение по умолчанию в исходном виде на языке SQL. |
|
|
Идентификатор используемого порядка сортировки для символьного параметра. |
|
|
Признак допустимости пустого значения NULL. |
|
|
Механизм передачи параметра для не Legacy функций: 0 — по значению; |
|
|
Имя столбца, на которое ссылается параметр с помощью предложения
|
|
|
Имя таблицы, на которую ссылается параметр с помощью предложения
|
|
|
Указывает, является ли параметр определённым системой (значение 1 и выше) или пользователем (значение 0). |
|
|
Текст произвольного примечания к параметру. |
Описание хранимых или внешних функций.
RDB$FUNCTIONS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя функции. |
|
|
В настоящий момент не используется. |
|
|
В настоящий момент не используется. |
|
|
Произвольный текст комментария к функции. |
|
|
Имя внешнего модуля (динамической библиотеки), где расположен код функции. |
|
|
Имя точки входа в библиотеке, где находится эта функция. |
|
|
Номер позиции возвращаемого аргумента в списке параметров, соответствующем входным аргументам. |
|
|
Признак определения функции: 0 — определённая системой, |
|
|
Имя движка для использования внешних функций. Обычно UDR. |
|
|
Имя пакета, если функция является упакованной. |
|
|
Для неупакованных хранимых функций всегда NULL, |
|
|
Исходный код функции на языке SQL. |
|
|
Уникальный идентификатор функции. |
|
|
Двоичное представление (BLR) кода функции. |
|
|
Указывает, остаётся ли текст хранимой функции корректным после
последнего изменения функции при помощи оператора |
|
|
Содержит отладочную информацию о переменных, используемых в хранимой функции. |
|
|
Может указывать на класс безопасности, определённый в системной
таблице |
|
|
Имя пользователя — владельца (создателя) функции. |
|
|
Признак legacy стиля функции. 1 — если функция описана в legacy стиле ( |
|
|
Флаг детерминистической функции. 1 — если функция детерминистическая ( |
|
|
С какими правами выполняется функция:
|
Сведения о генераторах (последовательностях).
RDB$GENERATORS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Уникальное имя генератора. |
|
|
Назначаемый системой уникальный идентификатор для генератора. |
|
|
Признак: 0 — генератор определён пользователем, |
|
|
Произвольный текст примечания к генератору. |
|
|
Может указывать на класс безопасности, определённый в системной
таблице |
|
|
Имя пользователя — владельца (создателя) генератора. |
|
|
Хранит начальное значение генератора или значение генератора,
установленное при предыдущем рестарте ( |
|
|
Шаг приращения генератора при использовании оператора |
Сегменты и позиции индексов. Таблица описывает все столбцы таблицы, входящие в состав конкретного индекса. Для каждого столбца индекса создаётся отдельная строка в данной таблице.
RDB$INDEX_SEGMENTS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя индекса, к которому относится данный сегмент. Должно
соответствовать главной записи в системной таблице
|
|
|
Имя одного из столбцов, входящего в состав индекса. Должно
соответствовать значению в столбце |
|
|
Позиция столбца в индексе. Нумерация начинается с нуля. |
|
|
Последнее известное (рассчитанное) значение селективности индекса по данному столбцу. |
Определение индексов базы данных (созданных пользователем или системой). Описывает каждый индекс, созданный пользователем или системой. Для каждого столбца таблицы, входящего в состав индекса, присутствует строка системной таблицы RDB$INDEX_SEGMENTS, где описываются характеристики столбца индекса.
RDB$INDICES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Уникальное имя индекса, заданное пользователем или автоматически сгенерированное системой. |
|
|
Имя таблицы, к которой применяется индекс. Соответствует
|
|
|
Внутренний (системный) идентификатор индекса. |
|
|
Указывает, является ли индекс уникальным: 0 — не уникальный; |
|
|
Произвольный текст комментария к индексу. |
|
|
Количество сегментов (столбцов) в индексе. |
|
|
Указывает, является ли в настоящий момент индекс активным: 0 — активный; |
|
|
Направление индекса: 0 — ascending; |
|
|
Имя ассоциированного ограничения внешнего ключа, если существует. |
|
|
Указывает, является ли индекс определённым системой (значение 1 или выше) или пользователем (значение 0). |
|
|
Выражение, записанное на языке двоичного представления (BLR). Будет использовано для вычисления во время выполнения, когда будут реализованы индексы выражений. |
|
|
Исходный текст выражения. Будет использовано, когда будут реализованы индексы выражений. |
|
|
Хранит самую последнюю селективность индекса, вычисленную при
помощи оператора |
В настоящей версии не используется.
RDB$LOG_FILES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Не используется. |
|
|
Не используется. |
|
|
Не используется. |
|
|
Не используется. |
|
|
Не используется. |
|
|
Не используется. |
Сведения о PSQL пакетах.
RDB$PACKAGES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Уникальное имя пакета. |
|
|
Исходный код заголовка пакета на языке SQL. |
|
|
Исходный код тела пакета на языке SQL. |
|
|
Указывает, остаётся ли текст тела пакета корректным после последнего изменения заголовка пакета или его пересоздания. |
|
|
Может указывать на класс безопасности, определённый в системной
таблице |
|
|
Имя пользователя – владельца (создателя) пакета. |
|
|
Указывает, что пакет определён пользователем (значение 0) или системой (значение 1 или выше). |
|
|
Произвольный текст примечания к пакету. |
|
|
С какими правами выполняется процедуры и функции пакета:
|
Сведения о страницах базы данных.
RDB$PAGES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Уникальный номер физически созданной страницы базы данных. |
|
|
Идентификатор таблицы, для которой выделена эта страница. |
|
|
Последовательный номер страницы по отношению к другим страницам, выделенным для данной таблицы. |
|
|
Описывает тип страницы. Для системного использования. |
Описывает параметры хранимых процедур.
RDB$PROCEDURE_PARAMETERS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя параметра. |
|
|
Имя процедуры, в которой используется параметр. |
|
|
Последовательный номер параметра. |
|
|
Указывает, является ли параметр входным (значение 0) или выходным (значение 1). |
|
|
Имя домена, созданного пользователем (при использовании ссылки на
домен вместо типа), или домена, автоматически построенного системой
для параметра процедуры. Во втором случае имя будет начинаться с
символов |
|
|
Текст произвольного примечания к параметру. |
|
|
Указывает, является ли параметр определённым системой (значение 1 и выше) или пользователем (значение 0). |
|
|
Значение по умолчанию на языке BLR. |
|
|
Значение по умолчанию в исходном виде на языке SQL. |
|
|
Идентификатор используемого порядка сортировки для символьного параметра. |
|
|
Признак допустимости пустого значения |
|
|
Механизм передачи параметра: 0 — по значению; |
|
|
Имя столбца, на которое ссылается параметр с помощью предложения
|
|
|
Имя таблицы, на которую ссылается параметр с помощью предложения
|
|
|
Имя пакета процедуры (если процедура упакованная), в которой используется параметр. |
Описывает хранимые процедуры.
RDB$PROCEDURES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя хранимой процедуры. |
|
|
Уникальный идентификатор процедуры. |
|
|
Указывает количество входных параметров или их отсутствие (значение NULL). |
|
|
Указывает количество выходных параметров или их отсутствие (значение NULL). |
|
|
Произвольный текст примечания к процедуре. |
|
|
Исходный код процедуры на языке SQL. |
|
|
Двоичное представление (BLR) кода процедуры. |
|
|
Может указывать на класс безопасности, определённый в системной
таблице |
|
|
Имя пользователя — владельца (создателя) процедуры. |
|
|
Описание метаданных процедуры. Внутреннее использование для оптимизации. |
|
|
Указывает, что процедура определена пользователем (значение 0) или системой (значение 1 или выше). |
|
|
Тип процедуры: 1 — селективная хранимая процедура (содержит в своём составе оператор |
|
|
Указывает, остаётся ли текст хранимой процедуры корректным после
последнего изменения процедуры при помощи оператора |
|
|
Содержит отладочную информацию о переменных, используемых в хранимой процедуре. |
|
|
Имя движка для использования внешних процедур. Обычно UDR. |
|
|
Имя точки входа в библиотеке, где находится эта процедура. |
|
|
Имя пакета, если процедура является упакованной. |
|
|
Для неупакованных хранимых процедур всегда NULL, для упакованных 0 — если процедура описана в заголовке пакета и |
|
|
С какими правами выполняется процедура:
|
Таблицы включенные в набор репликации (публикацию).
RDB$PUBLICATION_TABLES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя публикации. |
|
|
Имя таблицы. |
Публикации. Публикация — набор таблиц для репликации.
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя публикации. |
|
|
Владелец. Имя пользователя, создавшего публикацию. |
|
|
Указывает, что публикация определена пользователем (значение 0) или системой (значение 1 или выше). |
|
|
Активная ли публикация. 1 — публикация активна, 0 — публикация отключена. |
|
|
Признак автоматического добавления новых таблиц в публикацию. 1 — новые таблицы автоматически добавляются в публикацию, |
Note
|
В Firebird 4.0 может быть только одна системная публикация — публикация по умолчанию с именем RDB$DEFAULT. В следующий версиях Firebird будет возможность создавать несколько пользовательских публикаций. |
Описания именованных ограничений базы данных (внешних ключей).
RDB$REF_CONSTRAINTS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя ограничения внешнего ключа. Задаётся пользователем или автоматически генерируется системой. |
|
|
Имя ограничения первичного или уникального ключа, на которое
ссылается предложение |
|
|
Не используется. Текущим значением является |
|
|
Действия по ссылочной целостности, применимые к данному внешнему
ключу, когда изменяется первичный (уникальный) ключ родительской
таблицы: |
|
|
Действия по ссылочной целостности, применимые к данному внешнему
ключу, когда удаляется первичный (уникальный) ключ родительской
таблицы: |
Описание всех ограничений на уровне таблиц: первичного, уникального, внешнего ключей, ограничений CHECK
, NOT NULL
.
RDB$RELATION_CONSTRAINTS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя ограничения на уровне таблицы, заданное пользователем или автоматически присвоенное системой. |
|
|
Содержит название типа ограничения: |
|
|
Имя таблицы, к которой применяется это ограничение. |
|
|
В настоящий момент во всех случаях NO. |
|
|
В настоящий момент во всех случаях NO. |
|
|
Имя индекса, который поддерживает это ограничение (содержит |
Характеристики столбцов таблиц и представлений.
RDB$RELATION_FIELDS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя столбца. |
|
|
Имя таблицы (представления), где присутствует описываемый столбец. |
|
|
Содержит имя домена (определённого пользователем или созданного автоматически системой), на котором основывается данный столбец. |
|
|
В настоящей версии системы не используется. |
|
|
Только для представления. Имя столбца из базовой таблицы |
|
|
Не используется. |
|
|
Позиция столбца в таблице или представлении. Нумерация начинается с 0. |
|
|
Не используется. |
|
|
Указывает, является ли столбец обычным столбцом (значение 1) или вычисляемым (значение 0). |
|
|
В настоящей версии системы в точности соответствует значению в
столбце |
|
|
Для столбца представления это внутренний идентификатор базовой таблицы, откуда приходит это поле. |
|
|
Примечание к столбцу таблицы или представления. |
|
|
Записанное в двоичном виде (BLR) значение по умолчанию — предложение DEFAULT, если оно присутствует при описании столбца таблицы (представления). |
|
|
Указывает, определено пользователем (значение 0) или системой (значение 1 или выше). |
|
|
Может ссылаться на класс безопасности, определённый в
|
|
|
Не используется. |
|
|
Указывает, допускает ли столбец значения NULL (значение NULL) или не допускает (значение 1). |
|
|
Исходный текст предложения |
|
|
Идентификатор последовательности сортировки в составе набора символов для столбца не по умолчанию. |
|
|
Имя внутреннего генератора для реализации identity столбца. |
|
|
Для
Для не |
Хранит некоторые характеристики таблиц и представлений.
RDB$RELATIONS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Для представления содержит на языке BLR спецификации запроса. Для
таблицы в поле содержится |
|
|
Для представления содержит оригинальный исходный текст запроса на
языке SQL (включая пользовательские комментарии). Для таблицы в поле
содержится |
|
|
Произвольный текст примечания к таблице (представлению). |
|
|
Внутренний идентификатор таблицы (представления). |
|
|
Указывает, создана ли таблица (представление) пользователем (значение 0) или системой (значение 1 или выше). |
|
|
Общая длина ключа. Для таблицы это 8 байтов. Для представления это 8, умноженное на количество таблиц, на которые ссылается представление. |
|
|
Внутреннее использование. |
|
|
Количество столбцов в таблице (представлении). |
|
|
Имя таблицы или представления. |
|
|
Может ссылаться на класс безопасности, определённый в таблице
|
|
|
Полный путь к внешнему файлу данных, если таблица описана с
предложением |
|
|
Описание метаданных таблицы. Внутреннее использование для оптимизации. |
|
|
Произвольное примечание к внешнему файлу таблицы. |
|
|
Имя пользователя — владельца (создателя) таблицы или представления. |
|
|
Класс безопасности по умолчанию. Применяется, когда новый столбец добавляется в таблицу. |
|
|
Внутренние флаги. |
|
|
Тип описываемого объекта:
|
|
|
С какими правами вычисляются вычисляемые столбцы:
|
Определение ролей.
RDB$ROLES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя роли. |
|
|
Имя пользователя-владельца роли. |
|
|
Произвольный текст примечания к роли. |
|
|
Системный флаг. |
|
|
Может ссылаться на класс безопасности, определённый в таблице
|
|
|
Битовый набор с системными привилегиями, предоставленными роли, со следующими битами: 0 - не используется |
Списки управления доступом.
RDB$SECURITY_CLASSES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя класса безопасности. |
|
|
Список управления доступом, связанный с классом безопасности. Перечисляет пользователей и их полномочия. |
|
|
Произвольный текст примечания к классу безопасности. |
Виртуальная таблица со списком часовых поясов поддерживаемых сервером.
RDB$TIME_ZONES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Идентификатор часового пояса. |
|
|
Наименование часового пояса |
RDB$TRANSACTIONS
хранит состояние распределённых и других транзакций, которые подготовлены для двухфазного подтверждения с явно подготовленным сообщением.
RDB$TRANSACTIONS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Уникальный идентификатор отслеживаемой транзакции. |
|
|
Состояние транзакции: 0 — зависшая; |
|
|
Не используется. |
|
|
Описывает подготовленную транзакцию и может быть поступающее
пользовательское сообщение |
Сообщения триггеров.
RDB$TRIGGER_MESSAGES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя триггера, с которым связано данное сообщение. |
|
|
Номер сообщения в пределах одного триггера (от 1 до 32767). |
|
|
Текст сообщения триггера. |
Описания триггеров.
RDB$TRIGGERS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя триггера. |
|
|
Имя таблицы или представления, для которого используется триггер.
Если триггер применяется не к событию таблицы, а к событию базы
данных, то в этом поле находится |
|
|
Последовательность (позиция) триггера. Ноль обычно означает, что последовательность не задана. |
|
|
Событие, на которое вызывается триггер: 1 — Описание событий DDL триггеров смотри ниже. |
|
|
Хранит исходный код триггера в PSQL. |
|
|
Хранит триггер в двоичном коде BLR. |
|
|
Текст примечания триггера. |
|
|
Указывает, является ли триггер в настоящее время неактивным (1) или активным (0). |
|
|
Признак — триггер определён пользователем (0) или системой (1 или выше). |
|
|
Внутреннее использование. |
|
|
Указывает, остаётся ли текст триггера корректным после последнего
изменения триггера при помощи оператора |
|
|
Содержит отладочную информацию о переменных, используемых в триггере. |
|
|
Имя движка для использования внешних триггеров. Обычно UDR. |
|
|
Имя точки входа в библиотеке, где находится этот триггер. |
|
|
С какими правами выполняется триггер:
|
Для DDL триггеров тип триггера (RDB$TRIGGER_TYPE
) получается путём побитового ИЛИ над фазой события (0 - BEFORE
, 1 - AFTER
) и всех перечисленных типов событий:
-
CREATE TABLE
—0x0000000000004002
; -
ALTER TABLE
—0x0000000000004004
; -
DROP TABLE
—0x0000000000004008
; -
CREATE PROCEDURE
—0x0000000000004010
; -
ALTER PROCEDURE
—0x0000000000004020
; -
DROP PROCEDURE
—0x0000000000004040
; -
CREATE FUNCTION
—0x0000000000004080
; -
ALTER FUNCTION
—0x0000000000004100
; -
DROP FUNCTION
—0x0000000000004200
; -
CREATE TRIGGER
—0x0000000000004400
; -
ALTER TRIGGER
—0x0000000000004800
; -
DROP TRIGGER
—0x0000000000005000
; -
CREATE EXCEPTION
—0x0000000000014000
; -
ALTER EXCEPTION
—0x0000000000024000
; -
DROP EXCEPTION
—0x0000000000044000
; -
CREATE VIEW
—0x0000000000084000
; -
ALTER VIEW
—0x0000000000104000
; -
DROP VIEW
—0x0000000000204000
; -
CREATE DOMAIN
—0x0000000000404000
; -
ALTER DOMAIN
—0x0000000000804000
; -
DROP DOMAIN
—0x0000000001004000
; -
CREATE ROLE
—0x0000000002004000
; -
ALTER ROLE
—0x0000000004004000
; -
DROP ROLE
—0x0000000008004000
; -
CREATE INDEX
—0x0000000010004000
; -
ALTER INDEX
—0x0000000020004000
; -
DROP INDEX
—0x0000000040004000
; -
CREATE SEQUENCE
—0x0000000080004000
; -
ALTER SEQUENCE
—0x0000000100004000
; -
DROP SEQUENCE
—0x0000000200004000
; -
CREATE USER
—0x0000000400004000
; -
ALTER USER
—0x0000000800004000
; -
DROP USER
—0x0000001000004000
; -
CREATE COLLATION
—0x0000002000004000
; -
DROP COLLATION
—0x0000004000004000
; -
ALTER CHARACTER SET
—0x0000008000004000
; -
CREATE PACKAGE
—0x0000010000004000
; -
ALTER PACKAGE
—0x0000020000004000
; -
DROP PACKAGE
—0x0000040000004000
; -
CREATE PACKAGE BODY
—0x0000080000004000
; -
DROP PACKAGE BODY
—0x0000100000004000
; -
CREATE MAPPING
—0x0000200000004000
; -
ALTER MAPPING
—0x0000400000004000
; -
DROP MAPPING
—0x0000800000004000
; -
ANY DDL STATEMENT
—0x7FFFFFFFFFFFDFFE
.
Например, триггер
BEFORE CREATE PROCEDURE OR CREATE FUNCTION
будет иметь тип 0x0000000000004090
,
AFTER CREATE PROCEDURE OR CREATE FUNCTION
— 0x0000000000004091
,
BEFORE DROP FUNCTION OR DROP EXCEPTION
— 0x00000000000044200
,
AFTER DROP FUNCTION OR DROP EXCEPTION
— 0x00000000000044201
,
BEFORE DROP TRIGGER OR DROP DOMAIN
— 0x00000000001005000
,
AFTER DROP TRIGGER OR DROP DOMAIN
— 0x00000000001005001
.
Описание перечислимых типов данных.
RDB$TYPES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя перечисляемого типа. Совпадает с именем столбца, для которого определён данный перечислимый тип. |
|
|
Задаёт идентификатор для типа. Последовательность чисел является уникальной для каждого отдельного перечислимого типа: 0 — таблица; |
|
|
Текстовое представление для перечислимого типа. |
|
|
Произвольный текст примечания к перечислимому типу. |
|
|
0 — определён пользователем |
Полномочия пользователей системы.
RDB$USER_PRIVILEGES
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Пользователь, роль или объект которому предоставляется данное полномочие.
Если в качестве грантополучателя используется системная привилегия, то вместо имени системной привилегии в данное поле попадает значение перечисляемого типа 1 – |
|
|
Имя пользователя, предоставляющего полномочие. |
|
|
Привилегия, предоставляемая в полномочии: A – all (все привилегии); |
|
|
Содержит ли полномочие авторизацию WITH GRANT OPTION: 0 – не содержит; |
|
|
Имя объекта (таблица, роль, процедура) на который предоставляется полномочие. |
|
|
Имя столбца, к которому применяется привилегия на уровне столбца (только привилегии UPDATE и REFERENCES). Если предоставляется членство в роли, то в данном столбце содержится NULL если роль предоставляется обычным образом, и D если роль предоставляется с использованием ключевого слова DEFAULT. |
|
|
Идентифицирует тип пользователя (или объекта), которому предоставляется привилегия: 1 – представление; |
|
|
Идентифицирует тип объекта, на который предоставляется привилегия: 0 – таблица; |
Описывает представления.
RDB$VIEW_RELATIONS
Наименование столбца | Тип данных | Описание |
---|---|---|
|
|
Имя представления. |
|
|
Имя таблицы, представления или хранимой процедуры на которое ссылается данное представление. |
|
|
Псевдоним (контекст), используемый для ссылки на столбец представления. Имеет то же значение, что и псевдоним, используемый в самом тексте представления на языке BLR в операторе запроса этого представления. |
|
|
Текстовый вариант псевдонима, указанного в столбце RDB$VIEW_CONTEXT. |
|
|
Тип контекста: 0 – таблица; |
|
|
Имя пакета для упакованной хранимой процедуры. |