Системные представления (INFORMATION_SCHEMA)
Содержание раздела
Набор системных представлений (INFORMATION_SCHEMA) предоставляет доступ к метаданным логической схемы данных и содержит следующие элементы:
Набор системных представлений и их свойств фиксирован и недоступен для изменения.
Информационная схема обновляется достаточно быстро, но асинхронно, поэтому создаваемые сущности могут не сразу появиться в информационной схеме, а удаляемые — не сразу исчезнуть.
Представление schemata
Системное представление schemata
содержит список логических баз данных окружения.
По каждой логической базе данных доступна следующая информация:
catalog_name
— имя каталога, в который помещена логическая база данных. Значение по умолчанию —public
;schema_name
— имя логической базы данных.
Представление tables
Системное представление tables
содержит список логических сущностей окружения.
По каждой сущности доступна следующая информация:
table_catalog
— имя каталога, в который помещена таблица или представление. Значение по умолчанию —public
;table_schema
— имя логической базы данных, к которой относится таблица или представление;table_name
— имя логической сущности;table_type
— тип сущности. Возможные значения см. в таблице ниже.table_datasource_type
— список датасорсов, в которых размещены данные таблицы или материализованного представления. Для логических представлений поле остается пустым;definition
— определение типа логической сущности. Возможные значения см. в таблице ниже.
В таблице ниже описаны возможные комбинации значений table_type
и definition
в системном представлении tables
.
Значения table_type | Значения definition |
---|---|
BASE TABLE — логическая таблица или прокси-таблица | * TABLE.DEFAULT — обычная логическая таблица, * TABLE.PROXY — прокси-таблица, * TABLE.PARTITION — партиция, * TABLE.PARTITIONED — партиционированная таблица |
MATERIALIZED VIEW — материализованное представление | MATERIALIZED VIEW.DEFAULT |
VIEW — логическое представление | VIEW.DEFAULT |
READABLE EXTERNAL TABLE — внешняя readable-таблица | * READABLE EXTERNAL TABLE.CORE:<datasource_alias> — таблица для работы со standalone-таблицей, расположенной в датасорсе <datasource_alias> , * READABLE EXTERNAL TABLE.KAFKA — таблица для загрузки данных из брокера сообщений Kafka |
WRITABLE EXTERNAL TABLE — внешняя writable-таблица | WRITABLE EXTERNAL TABLE.CORE:<datasource_alias> — таблица для работы со standalone-таблицей, расположенной в датасорсе <datasource_alias> |
Представление columns
Системное представление columns
содержит список столбцов таблиц и представлений окружения.
По каждому столбцу доступна следующая информация:
table_catalog
— имя каталога, в который помещена таблица или представление. Значение по умолчанию —public
;table_schema
— имя логической базы данных, к которой относится таблица или представление;table_name
— имя таблицы или представления, к которому относится столбец;column_name
— имя столбца, по которому предоставлена информация;is_nullable
— признак того, может ли значение столбца иметь пустое значение (null). Возможные значения:YES
— столбец может содержать пустое значение;NO
— столбец должен содержать непустое значение;
ordinal_position
— порядковый номер столбца в таблице или представлении (нумерация начинается с 1);character_maximum_length
— максимально допустимое количество символов (для строковых значений);datetime_precision
— степень отображаемой точности значений типа TIMESTAMP. Возможное значение: от 0 (точность до секунд) до 6 (точность до микросекунд).data_type
— тип данных столбца. Возможные значения см. в разделе Логические типы данных.
Представление table_constraints
Системное представление table_constraints
содержит список ограничений логических таблиц и представлений окружения.
По каждому ограничению доступна следующая информация:
constraint_catalog
— имя каталога, в который помещена таблица или представление с ограничением. Значение по умолчанию —public
;constraint_schema
— имя логической базы данных, к которой относится таблица или представление с ограничением;constraint_name
— имя ограничения;table_schema
— имя логической базы данных, к которой относится таблица или представление с ограничением;table_name
— имя таблицы или представления, к которому относится ограничение;constraint_type
— тип ограничения. Возможные значения:primary key
— первичный ключ,sharding key
— ключ шардирования.
Представление key_column_usage
Системное представление key_column_usage
содержит список столбцов окружения, с которыми связаны какие-либо ограничения.
По каждому столбцу с ограничением доступна следующая информация:
constraint_catalog
— имя каталога, в который помещена таблица или представление с ограничением. Значение по умолчанию —public
;constraint_schema
— имя логической базы данных, к которой относится таблица или представление с ограничением;constraint_name
— имя ограничения;table_schema
— имя логической базы данных, к которой относится таблица или представление с ограничением;table_name
— имя таблицы или представления, к которому относится ограничение;column_name
— имя столбца, на который накладывается ограничение;ordinal_position
— порядковый номер поля в ключе (нумерация начинается с 1).
Взаимосвязь системных представлений
На рисунке ниже показана взаимосвязь системных представлений.