Link Search Menu Expand Document

Системные представления (INFORMATION_SCHEMA)

Содержание раздела
  1. Представление schemata
  2. Представление tables
  3. Представление columns
  4. Представление table_constraints
  5. Представление key_column_usage
  6. Взаимосвязь системных представлений

Набор системных представлений (INFORMATION_SCHEMA) предоставляет доступ к метаданным логической схемы данных и содержит следующие элементы:

Набор системных представлений и их свойств фиксирован и недоступен для изменения.

Представление schemata

Системное представление schemata содержит список логических баз данных окружения.

По каждой логической базе данных доступна следующая информация:

  • catalog_name — имя каталога, в который помещена логическая база данных. Значение по умолчанию — public;
  • schema_name — имя логической базы данных.

Представление tables

Системное представление tables содержит список логических сущностей окружения.

По каждой сущности доступна следующая информация:

Представление 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).

Взаимосвязь системных представлений

На рисунке ниже показана взаимосвязь системных представлений.

Взаимосвязь системных представлений