Русская Википедия:Информационная схема
Информационная схема (Шаблон: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.
Примечания