Share via


Informatieschema

Van toepassing op:vinkje als ja aan Alleen Databricks SQL vinkje als ja aan Databricks Runtime 10.4 LTS en hoger vinkje als ja aan dan Unity Catalog

Het INFORMATION_SCHEMA is een op SQL standaard gebaseerd schema, dat wordt geleverd in elke catalogus die is gemaakt in Unity Catalog.

In het informatieschema vindt u een set weergaven met een beschrijving van de objecten die bekend zijn in de catalogus van het schema die u bevoegd bent te zien. Het informatieschema van de SYSTEM catalogus retourneert informatie over objecten in alle catalogi in de metastore. Systeemtabellen van informatieschema's bevatten geen metagegevens over hive_metastore objecten.

Het doel van het informatieschema is om een op SQL gebaseerde, zelf beschrijvende API voor de metagegevens te bieden.

Diagram van entiteitsrelatie van het informatieschema

Het volgende ER-diagram (Entiteitsrelatie) biedt een overzicht van een subset van informatieschemaweergaven en hoe deze zich verhouden tot elkaar.

ER-diagram van informatieschema

Informatieschemaweergaven

Name Beschrijving
CATALOG_PRIVILEGES Geeft principals weer met bevoegdheden voor de catalogi.
CATALOG_PROVIDER_SHARE_USAGE Beschrijft de providershare die is gekoppeld aan catalogi.
CATALOG_TAGS Bevat tags die zijn toegepast op de catalogi.
CATALOGI Beschrijft catalogi.
CHECK_CONSTRAINTS Gereserveerd voor toekomstig gebruik.
COLUMN_MASKS Beschrijft kolommaskers voor tabelkolommen in de catalogus.
COLUMN_TAGS Bevat metagegevens voor kolomtags in een tabel.
KOLOMMEN Beschrijft kolommen met tabellen en weergaven in de catalogus.
CONNECTION_PRIVILEGES Geeft principals weer die bevoegdheden hebben voor de externe verbindingen.
VERBINDINGEN Beschrijft refererende verbindingen.
CONSTRAINT_COLUMN_USAGE Beschrijft de beperkingen die verwijzen naar kolommen in de catalogus.
CONSTRAINT_TABLE_USAGE Beschrijft de beperkingen die verwijzen naar tabellen in de catalogus.
EXTERNAL_LOCATION_PRIVILEGES Geeft principals weer met bevoegdheden op de externe locaties.
EXTERNAL_LOCATIONS Beschrijft externe locaties.
INFORMATION_SCHEMA_CATALOG_NAME Retourneert de naam van de catalogus van dit informatieschema.
KEY_COLUMN_USAGE Hiermee worden de kolommen van de primaire of refererende-sleutelbeperkingen in de catalogus weergegeven.
METASTORE_PRIVILEGES Geeft principals weer die bevoegdheden hebben voor de huidige metastore.
METASTORES Beschrijft de huidige metastore.
PARAMETERS Beschrijft parameters van routines (functies) in de catalogus.
PROVIDERS Beschrijft providers.
RECIPIENT_ALLOWED_IP_RANGES Hiermee worden toegestane IP-bereiken voor geadresseerden weergegeven.
RECIPIENT_TOKENS Hiermee worden tokens voor geadresseerden weergegeven.
GEADRESSEERDEN Beschrijft geadresseerden.
REFERENTIAL_CONSTRAINTS Beschrijft referentiƫle (referentiƫle sleutel) beperkingen die zijn gedefinieerd in de catalogus.
ROUTINE_COLUMNS Beschrijft resultaatkolommen van tabelwaardefuncties.
ROUTINE_PRIVILEGES Geeft principals weer die bevoegdheden hebben voor de routines in de catalogus.
ROUTINES Beschrijft routines (functies) in de catalogus.
ROW_FILTERS Beschrijft rijfilters op tabellen in de catalogus.
SCHEMA_PRIVILEGES Geeft principals weer die bevoegdheden hebben voor de schema's in de catalogus.
SCHEMA_TAGS Bevat metagegevens voor schematags in het schema.
SCHEMA_SHARE_USAGE Beschrijft de schema's waarnaar wordt verwezen in shares.
SCHEMATA Beschrijft schema's in de catalogus.
SHARE_RECIPIENT_PRIVILEGES Beschrijft de geadresseerden die toegang tot shares hebben verleend.
AANDELEN Beschrijft shares.
STORAGE_CREDENTIAL_PRIVILEGES Geeft principals weer met bevoegdheden voor de opslagreferenties.
STORAGE_CREDENTIALS Hierin worden opslagreferenties beschreven.
TABLE_CONSTRAINTS Hierin worden metagegevens beschreven voor alle beperkingen voor primaire en refererende sleutels in de catalogus.
TABLE_PRIVILEGES Geeft principals weer met bevoegdheden voor de tabellen en weergaven in de catalogus.
TABLE_SHARE_USAGE Beschrijft de tabellen waarnaar wordt verwezen in shares.
TABLE_TAGS Bevat metagegevens voor tabeltags in een tabel.
TABELLEN Beschrijft tabellen en weergaven die zijn gedefinieerd in de catalogus.
WEERGAVEN Beschrijft weergavespecifieke informatie over de weergaven in de catalogus.
VOLUMES Beschrijft volumes die zijn gedefinieerd in de catalogus.
VOLUME_PRIVILEGES Geeft principals weer met bevoegdheden voor de volumes in de catalogus.
VOLUME_TAGS Bevat metagegevens voor volumetags die zijn toegepast op een volume.

Opmerkingen

Hoewel id's niet hoofdlettergevoelig zijn wanneer ernaar wordt verwezen in SQL-instructies, worden ze opgeslagen in het informatieschema als STRING. Dit impliceert dat u ze moet zoeken met behulp van de case waarin de id is opgeslagen, of functies zoals ilike gebruiken.

Voorbeelden

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

Hier volgen voorbeelden van werkstromen die gebruikmaken van de schematabellen op systeemniveau.

Als u alle tabellen wilt weergeven die in de afgelopen 24 uur zijn gemaakt, kan uw query er als volgt uitzien.

> 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;

Als u wilt weergeven hoeveel tabellen u in elk schema hebt, bekijkt u het volgende voorbeeld.

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