Системные представления (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).
Взаимосвязь системных представлений
На рисунке ниже показана взаимосвязь системных представлений.
Взаимосвязь системных представлений