Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В реляционных базах данных , то информация схемы ( INFORMATION_SCHEMA ) является ANSI Нестандартный набор представлений только для чтения , которые предоставляют информацию обо всех таблиц , взглядов , колонн и процедур в базе данных. [1] Его можно использовать в качестве источника информации, которую некоторые базы данных делают доступными с помощью нестандартных команд, таких как:

  • SHOWкоманда MySQL
  • DESCRIBEкоманда Oracle «S SQL * Plus
  • \dкоманда в PSQL ( PostgreSQL По умолчанию программа командной строки).
 => ВЫБРАТЬ количество (имя_таблицы) ИЗ information_schema.tables; считать  ------- 99 (1 ряд) => ВЫБРАТЬ имя_столбца, тип_данных, значение_столбца, is_nullable FROM information_schema.columns ГДЕ table_name = 'alpha'; имя_столбца | data_type | column_default | is_nullable ------------- + ----------- + ---------------- + ------- ------ foo | целое | | ДА бар | персонаж | | ДА (2 ряда) => ВЫБРАТЬ * ИЗ information_schema.information_schema_catalog_name; название_каталога  -------------- Johnd (1 ряд)

Реализация [ править ]

В качестве заметного исключения среди основных систем баз данных Oracle с 2015 года не реализует информационную схему. Для решения этой проблемы существует проект с открытым исходным кодом .

РСУБД, поддерживающие информационную_схему, включают:

РСУБД, не поддерживающие information_schema, включают:

См. Также [ править ]

Внешние ссылки [ править ]

Ссылки [ править ]

  1. ^ Мелтон, Джим; Саймон, Алан Р. (1993). «19.2 Метаданные, репозитории и INFORMATION_SCHEMA». Понимание нового SQL: полное руководство . Серия Morgan Kaufmann в системах управления данными, ISSN 1046-1698. Морган Кауфманн. п. 371 . ISBN 9781558602458. Проверено 22 октября 2015 . Метаданные, которые применяются в первую очередь к среде выполнения базы данных, управляются через INFORMATION_SCHEMA. [...] Метаданные, относящиеся к среде информационной системы в целом, управляются через словарь или репозиторий. CS1 maint: discouraged parameter (link)