Partilhar via


Informação schema

Aplica-se a:marca de verificação sim Databricks SQL marca de verificação sim Databricks Runtime 10.4 LTS e superior marca de verificação sim Unity Catalog apenas

O INFORMATION_SCHEMA é um padrão SQL baseado em schema, fornecido em todos os catalog criados no Unity Catalog.

Nas informações de schema, podes encontrar uma set de views que descreve os objetos conhecidos pelos catalog do schemaque tens o privilégio de ver. As informações schema do SYSTEMcatalog retornam dados sobre objetos em todos os catalogs no metastore. As informações do sistema schematables não contêm metadados sobre os hive_metastore objetos.

O objetivo das informações schema é fornecer uma API autodescritiva baseada em SQL para os metadados.

Diagrama de relacionamento de entidades da informação schema

O diagrama de relacionamento de entidade (ER) a seguir fornece uma visão geral de um subconjunto de informações schemaviews e como elas se relacionam entre si.

diagrama ER de informação schema

Informação schemaviews

Nome Descrição
CATALOG_PRIVILEGES Lista principais que têm privilégios no catalogs.
CATALOG_PROVIDER_SHARE_USAGE Descreve a partilha do provedor montada em catalogs.
CATALOG_TAGS Contém tags que foram aplicadas ao catalogs.
CATALOGS Descreve catalogs.
CHECK_CONSTRAINTS Reservado para uso futuro.
COLUMN_MASKS Descreve column máscaras em tablecolumns no catalog.
COLUMN_TAGS Contém metadados de marcação column dentro de um table.
COLUMNS Descreve columns de tables e views no catalog.
CONNECTION_PRIVILEGES Lista principais que têm privilégios no connectionsestrangeiro.
CONNECTIONS Descreve os estrangeiros connections.
CONSTRAINT_COLUMN_USAGE Descreve as restrições que fazem referência a columns no catalog.
CONSTRAINT_TABLE_USAGE Descreve as restrições que fazem referência a tables no catalog.
CREDENTIAL_PRIVILEGES Lista principais que têm privilégios no credentials.
CREDENTIALS Descreve credentials.
EXTERNAL_LOCATION_PRIVILEGES Lista entidades que têm privilégios nos locais externos.
EXTERNAL_LOCATIONS Descreve locais externos.
INFORMATION_SCHEMA_CATALOG_NAME Devolve o nome desta informação schemado catalog.
KEY_COLUMN_USAGE Lista a columns das restrições de chave primária ou estrangeira dentro do catalog.
METASTORE_PRIVILEGES Lista as entidades que têm privilégios no metastore atual.
METASTORES Descreve o metastore atual.
PARAMETERS Descreve parameters de routines (funções) no catalog.
PROVIDERS Descreve providers.
RECIPIENT_ALLOWED_IP_RANGES Lista intervalos de IP permitidos para recipients.
RECIPIENT_TOKENS Lista tokens para recipients.
RECIPIENTS Descreve recipients.
REFERENTIAL_CONSTRAINTS Descreve restrições referenciais (chave estrangeira) definidas no catalog.
ROUTINE_COLUMNS Descreve o resultado columns das funções de valor table.
ROUTINE_PRIVILEGES Lista principais que têm privilégios no routines no catalog.
ROUTINES Descreve routines (funções) no catalog.
ROW_FILTERS Descreve os filtros de linha em tables no catalog.
SCHEMA_PRIVILEGES Lista entidades que têm privilégios nos esquemas no catalog.
SCHEMA_TAGS Contém metadados de marcação schema dentro do schema.
SCHEMA_SHARE_USAGE Descreve os esquemas referenciados em shares.
SCHEMATA Descreve esquemas dentro do catalog.
SHARE_RECIPIENT_PRIVILEGES Descreve o acesso recipients concedido a shares.
SHARES Descreve shares.
STORAGE_CREDENTIAL_PRIVILEGES [Preterido] Lista entidades que têm privilégios no credentialsde armazenamento.
STORAGE_CREDENTIALS [Preterido] Descreve o armazenamento credentials.
TABLE_CONSTRAINTS Descreve metadados para todas as restrições de chave primária e estrangeira dentro do catalog.
TABLE_PRIVILEGES Lista principais que têm privilégios no tables e views no catalog.
TABLE_SHARE_USAGE Descreve o tables referenciado em shares.
TABLE_TAGS Contém metadados de etiquetagem table dentro de um table.
TABLES Descreve tables e views definidos no catalog.
VIEWS Descreve informações específicas de visualização sobre o views no catalog.
VOLUMES Descreve volumes definido no catalog.
VOLUME_PRIVILEGES Lista os principais que têm privilégios no volumes e no catalog.
VOLUME_TAGS Contém metadados de marcação de volume aplicados a um volume.

Notas

Embora os identificadores sejam insensíveis à distinção entre maiúsculas e minúsculas quando referenciados em instruções SQL, são armazenados na informação schema como STRING. Isso implica que deves procurá-los usando o contexto em que o identifier está armazenado, ou usar funções como ilike.

Exemplos

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

A seguir estão exemplos de fluxos de trabalho que usam as informações no nível do sistema schematables.

Se quiser ver todos os tables que foram criados nas últimas 24 horas, a sua consulta poderá ser assim.

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

Se quiser ver quantos tables tem em cada schema, considere o exemplo a seguir.

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