Informationsschema

Gilt für:Häkchen ja Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime 10.4 LTS und höher Häkchen gesetzt ja nur für Unity Catalog

INFORMATION_SCHEMA ist ein standardbasiertes SQL-Schema, das in jedem Katalog bereitgestellt wird, der in Unity Catalog erstellt wird.

Innerhalb des Informationsschemas können Sie eine Reihe von Ansichten finden, die die Objekte beschreiben, die dem Katalog des Schemas bekannt sind, den Sie anzeigen dürfen. Das Informationsschema des SYSTEM-Katalogs gibt Informationen zu Objekten in allen Katalogen im Metastore zurück. Informationsschema-Systemtabellen enthalten keine Metadaten zu hive_metastore-Objekten.

Der Zweck des Informationsschemas besteht darin, eine SQL-basierte, selbst beschreibende API für die Metadaten bereitzustellen.

Entitätsbeziehungsdiagramm des Informationsschemas

Das folgende Entitätsbeziehungsdiagramm liefert einen Überblick über eine Teilmenge der Ansichten des Informationsschemas und deren Beziehung zueinander.

ER-Diagramm des Informationsschemas

Informationsschemasichten

NAME BESCHREIBUNG
CATALOG_PRIVILEGES Listet Prinzipale auf, die über Berechtigungen in den Katalogen verfügen.
CATALOG_PROVIDER_SHARE_USAGE Beschreibt die in Kataloge eingebundene Anbieterfreigabe.
CATALOG_TAGS Enthält Tags, die auf die Kataloge angewendet wurden.
KATALOGE Beschreibt Kataloge.
CHECK_CONSTRAINTS Für die zukünftige Verwendung reserviert.
COLUMN_MASKS Beschreibt Spaltenmasken für Tabellenspalten im Katalog.
COLUMN_TAGS Enthält Spaltenmarkierungsmetadaten innerhalb einer Tabelle.
SPALTEN Beschreibt Spalten von Tabellen und Ansichten im Katalog.
CONNECTION_PRIVILEGES Listet Prinzipale auf, die über Berechtigungen für die Fremdverbindungen verfügen.
CONNECTIONS Beschreibt Fremdverbindungen.
CONSTRAINT_COLUMN_USAGE Beschreibt die Einschränkungen, die auf Spalten im Katalog verweisen.
CONSTRAINT_TABLE_USAGE Beschreibt die Einschränkungen, die auf Tabellen im Katalog verweisen.
EXTERNAL_LOCATION_PRIVILEGES Listet Prinzipale auf, die über Berechtigungen für die externen Speicherorte verfügen.
EXTERNAL_LOCATIONS Beschreibt externe Standorte.
INFORMATION_SCHEMA_CATALOG_NAME Gibt den Namen des Katalogs von diesem Informationsschema zurück.
KEY_COLUMN_USAGE Listet die Spalten der Primär- oder Fremdschlüsseleinschränkungen im Katalog auf.
METASTORE_PRIVILEGES Listet Prinzipale auf, die über Berechtigungen für den aktuellen Metastore verfügen.
METASTORES Beschreibt den aktuellen Metastore.
PARAMETERS Beschreibt Parameter der Routinen (Funktionen) im Katalog.
PROVIDERS Beschreibt Anbieter.
RECIPIENT_ALLOWED_IP_RANGES Listet zulässige IP-Adressbereiche für Empfänger auf.
RECIPIENT_TOKENS Listet Token für Empfänger auf.
RECIPIENTS Beschreibt Empfänger.
REFERENTIAL_CONSTRAINTS Beschreibt die im Katalog definierten referenziellen Einschränkungen (Fremdschlüssel).
ROUTINE_COLUMNS Beschreibt Ergebnisspalten von Tabellenwertfunktionen.
ROUTINE_PRIVILEGES Listet Prinzipale auf, die über Berechtigungen für die Routinen im Katalog verfügen.
ROUTINES Beschreibt Routinen (Funktionen) im Katalog.
ROW_FILTERS Beschreibt Zeilenfilter für Tabellen im Katalog.
SCHEMA_PRIVILEGES Listet Prinzipale auf, die über Berechtigungen für die Schemata im Katalog verfügen.
SCHEMA_TAGS Enthält Schemataggingmetadaten innerhalb des Schemas.
SCHEMA_SHARE_USAGE Beschreibt die Schemas, auf die in Freigaben verwiesen wird.
SCHEMATA Beschreibt Schemas im Katalog.
SHARE_RECIPIENT_PRIVILEGES Beschreibt die Empfänger, denen Zugriff auf Freigaben gewährt wird.
SHARES Beschreibt Freigaben.
STORAGE_CREDENTIAL_PRIVILEGES Listet Prinzipale auf, die über Berechtigungen für die Speicheranmeldeinformationen verfügen.
STORAGE_CREDENTIALS Beschreibt Speicheranmeldeinformationen.
TABLE_CONSTRAINTS Enthält Metadaten für alle Primär- und Fremdschlüsseleinschränkungen im Katalog.
TABLE_PRIVILEGES Listet Prinzipale auf, die Berechtigungen für die Tabellen und Ansichten im Katalog haben.
TABLE_SHARE_USAGE Beschreibt die Tabellen, auf die in Freigaben verwiesen wird.
TABLE_TAGS Enthält Tabellentaggingmetadaten innerhalb einer Tabelle.
TABLES Beschreibt Tabellen und Ansichten, die innerhalb des Katalogs definiert sind.
VIEWS Beschreibt bestimmte Informationen zu den Ansichten im Katalog.
VOLUMES Beschreibt im Katalog definierte Volumes.
VOLUME_PRIVILEGES Listet Prinzipale auf, die über Berechtigungen für die Volumes im Katalog verfügen.
VOLUME_TAGS Enthält Taggingmetadaten, die auf ein Volume angewandt werden.

Notizen

Während Bezeichner bei der Referenz in SQL-Anweisungen Groß- und Kleinschreibungen nicht beachten, werden sie im Informationsschema als STRING gespeichert. Dies bedeutet, dass Sie entweder mit der Schreibweise suchen müssen, in der der Bezeichner gespeichert ist, oder Funktionen wie ilike verwenden.

Beispiele

> SELECT table_name, column_name
    FROM information_schema.columns
    WHERE data_type = 'DOUBLE'
      AND table_schema = 'information_schema';

Im Folgenden finden Sie Beispiele für Workflows, die die Schematabellen der Systemebeneninformationen verwenden.

Wenn Sie alle Tabellen anzeigen möchten, die in den letzten 24 Stunden erstellt wurden, könnte Ihre Abfrage wie folgt aussehen.

> SELECT table_name, table_owner, created_by, last_altered, last_altered_by, table_catalog
    FROM system.information_schema.tables
    WHERE  datediff(now(), last_altered) < 1;

Wenn Sie sehen möchten, über wie viele Tabellen Sie in jedem Schema verfügen, sehen Sie sich das folgende Beispiel an.

> SELECT table_schema, count(table_name)
    FROM system.information_schema.tables
    WHERE table_schema = 'tpch'
    GROUP BY table_schema
    ORDER BY 2 DESC