Русская Википедия:Информационная схема

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Информационная схема (Шаблон:Mono) — стандартизированный Американским национальным институтом стандартов набор представлений с метаинформацией обо всех объектах реляционной базы данных (таблицах, представлениях, столбцах, хранимых процедурах[1]).

Может быть использована для получения сведений об объектах (вместо команд SHOW в MySQL, DESCRIBE в Oracle Database или \d в PostgreSQL), например, получить количество таблиц в базе:

  SELECT count(table_name) FROM information_schema.tables;

возможный вывод:

   count 
  -------
      99
  (1 row)

или узнать сведения о столбцах таблицы alpha:

  SELECT column_name, data_type, column_default, is_nullable
        FROM information_schema.columns WHERE table_name='alpha';

возможный вывод:

   column_name | data_type | column_default | is_nullable 
  -------------+-----------+----------------+-------------
   foo         | integer   |                | YES
   bar         | character |                | YES
  (2 rows)

Реализована во многих реляционных СУБД, включая Microsoft SQL Server, MySQL, PostgreSQL, также ей оснащены встраиваемые СУБД H2 и HSQLDB; ряд систем с SQL-подобным доступом к нереляционным источникам тоже поддерживают информационную схему, в их числе Apache Hive, Presto, Trino. Среди распространённых реляционных СУБД информационная схема не реализована в Oracle Database, IBM DB2, Firebird, Informix, SAP Hana, Vertica, Adaptive Server Enterprise, SQLite, Teradata Database.

Примечания

Шаблон:Примечания