Informationsschema
I relationsdatabaser är informationsschemat ( informationsschema ) en ANSI -standarduppsättning av skrivskyddade vyer som ger information om alla tabeller , vyer , kolumner och procedurer i en databas. Den kan användas som en källa till informationen som vissa databaser gör tillgänglig genom icke-standardiserade kommandon, till exempel:
- kommandot
SHOW
för MySQL - kommandot
DESCRIBE
för Oracles SQL* Plus - kommandot
\d
i psql ( PostgreSQL :s standardkommandoradsprogram).
=> SELECT count(table_name) FROM information_schema.tables; count ------- 99 (1 rad) => VÄLJ kolumnnamn, datatyp, kolumn_standard, är_nullbar FROM information_schema.columns WHERE table_name='alpha'; kolumnnamn | datatyp | column_default | är_nullbar --------------+-----------+----------------+------ ------- foo | heltal | | JA bar | karaktär | | JA (2 rader) => VÄLJ * FRÅN information_schema.information_schema_catalog_name; katalognamn -------------- johnd (1 rad)
Genomförande
Som ett anmärkningsvärt undantag bland stora databassystem implementerar Oracle från och med 2015 inte informationsschemat. Det finns ett projekt med öppen källkod för att ta itu med detta.
RDBMS som stöder information_schema inkluderar:
- Apache Hive
- Microsoft SQL Server
- Snöflinga
- MySQL
- PostgreSQL
- H2 Databas
- HSQLDB
- InterSystems Caché
- MariaDB
- SingleStore (tidigare MemSQL)
- Mimer SQL
- Trino
- Presto
RDBMS som inte stöder information_schema inkluderar:
- Apache Derby
- Apache Ignite
- eldfågel
- Microsoft Access
- IBM Informix
- Ingres
- IBM Db2
- MonetDB
- Oracle Database
- SAP HANA
- SQLite
- Sybase ASE
- Sybase SQL var som helst
- Teradata
- Vertica
Se även
externa länkar
- Informationsschema i H2 Database
- Informationsschema i MySQL 8.0
- Informationsschema i PostgreSQL (nuvarande version)
- Informationsschema i SQLite
- Informationsschema i Microsoft SQL Server 2014
- Informationsschema i Microsoft SQL Server Compact 4.0
- Oracle Information Schema-projekt på sourceforge
- Informationsschema i MariaDB