En las bases de datos relacionales , el esquema de información ( information_schema ) es un conjunto de vistas de solo lectura estándar ANSI que proporcionan información sobre todas las tablas , vistas , columnas y procedimientos de una base de datos. [1] Se puede utilizar como fuente de la información que algunas bases de datos ponen a disposición a través de comandos no estándar, como:
SHOW
comando de MySQLDESCRIBE
comando SQL*Plus de Oracle\d
comando en psql ( el programa de línea de comandos predeterminado de PostgreSQL ).=> SELECCIONAR count(nombre_tabla) DE información_esquema.tables; contar ------- 99 (1 fila) => SELECCIONAR nombre_columna, tipo_datos, valor_predeterminado_columna, es_anulable DESDE information_schema.columns DONDE nombre_tabla='alpha'; nombre_columna | tipo_datos | valor_predeterminado_columna | es_anulable -------------+-----------+----------------+------- ------ foo | entero | | SI barra | personaje | | SI (2 filas) => SELECCIONAR * DE información_esquema.información_esquema_nombre_catálogo; nombre_del_catálogo -------------- Juan D (1 fila)
Como excepción notable entre los principales sistemas de bases de datos, Oracle no [actualizar]implementa, a partir de 2015, el esquema de información. Existe un proyecto de código abierto para abordar este problema.
Los RDBMS que admiten information_schema incluyen:
Los RDBMS que no admiten information_schema incluyen:
Los metadatos que se aplican principalmente al entorno de la base de datos en tiempo de ejecución se administran a través de INFORMATION_SCHEMA. [...] Los metadatos que se aplican al entorno del sistema de información en su totalidad se administran a través del diccionario o repositorio.