Системные представления (INFORMATION_SCHEMA)
Содержание раздела
Набор системных представлений (INFORMATION_SCHEMA) предоставляет доступ к метаданным логической схемы данных и содержит следующие элементы:
Набор системных представлений и их свойств фиксирован и недоступен для изменения.
Информационная схема обновляется достаточно быстро, но асинхронно, поэтому создаваемые сущности могут не сразу появиться в информационной схеме, а удаляемые — не сразу исчезнуть.
Представление schemata
Системное представление schemata
содержит список логических баз данных окружения.
По каждой логической базе данных доступна следующая информация:
catalog_name
— имя каталога, в который помещена логическая база данных. Значение по умолчанию —public
;schema_name
— имя логической базы данных.
Представление tables
Системное представление tables
содержит список логических сущностей окружения.
По каждой сущности доступна следующая информация:
table_catalog
— имя каталога, в который помещена таблица или представление. Значение по умолчанию —public
;table_schema
— имя логической базы данных, к которой относится таблица или представление;table_name
— имя логической сущности;table_type
— тип сущности. Возможные значения:BASE TABLE
— логическая таблица,MATERIALIZED VIEW
— материализованное представление,VIEW
— логическое представление,READABLE EXTERNAL TABLE
— внешняя readable-таблица,WRITABLE EXTERNAL TABLE
— внешняя writable-таблица;
table_datasource_type
— список датасорсов, в которых размещены данные таблицы или материализованного представления. Для логических представлений поле остается пустым.
Представление 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).
Взаимосвязь системных представлений
На рисунке ниже показана взаимосвязь системных представлений.