Partilhar via


Esquema de informação

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 apenas catálogo Unity

O INFORMATION_SCHEMA é um esquema baseado em padrão SQL, fornecido em todos os catálogos criados no Unity Catalog.

Dentro do esquema de informações, você pode encontrar um conjunto de modos de exibição que descrevem os objetos conhecidos no catálogo do esquema que você tem o privilégio de ver. O esquema de informações do catálogo SYSTEM retorna informações sobre objetos em todos os catálogos dentro do metastore. As tabelas do sistema de esquema de informações não contêm metadados sobre hive_metastore objetos.

O objetivo do esquema de informações é fornecer uma API autodescritiva baseada em SQL para os metadados.

Diagrama de relacionamento de entidade do esquema de informações

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

diagrama ER do esquema de informação

Visões de esquema de informação

Nome Descrição
CATALOG_PRIVILEGES Lista entidades que têm privilégios nos catálogos.
CATALOG_PROVIDER_SHARE_USAGE Descreve a partilha de fornecedor montada em catálogos.
CATALOG_TAGS Contém tags que foram aplicadas aos catálogos.
CATALOGS Descreve catálogos.
CHECK_CONSTRAINTS Reservado para uso futuro.
COLUMN_MASKS Descreve máscaras de coluna em colunas de tabela no catálogo.
COLUMN_TAGS Contém metadados de marcação de coluna numa tabela.
COLUMNS Descreve colunas de tabelas e modos de exibição no catálogo.
CONNECTION_PRIVILEGES Lista principais que têm privilégios nas conexões estrangeiras.
CONNECTIONS Descreve conexões estrangeiras.
CONSTRAINT_COLUMN_USAGE Descreve as restrições que fazem referência a colunas no catálogo.
CONSTRAINT_TABLE_USAGE Descreve as restrições que fazem referência a tabelas no catálogo.
CREDENTIAL_PRIVILEGES Lista principais que têm privilégios nas credenciais.
CREDENTIALS Descreve credenciais.
EXTERNAL_LOCATION_PRIVILEGES Lista entidades que têm privilégios nos locais externos.
EXTERNAL_LOCATIONS Descreve locais externos.
INFORMATION_SCHEMA_CATALOG_NAME Retorna o nome do catálogo deste esquema de dados.
KEY_COLUMN_USAGE Lista as colunas das restrições de chave primária ou estrangeira dentro do catálogo.
METASTORE_PRIVILEGES Lista as entidades que têm privilégios no metastore atual.
METASTORES Descreve o metastore atual.
PARAMETERS Descreve parâmetros de rotinas (funções) no catálogo.
PROVIDERS Descreve os provedores.
RECIPIENT_ALLOWED_IP_RANGES Lista intervalos de IP permitidos para destinatários.
RECIPIENT_TOKENS Lista os tokens para destinatários.
RECIPIENTS Descreve os destinatários.
REFERENTIAL_CONSTRAINTS Descreve restrições referenciais (chave estrangeira) definidas no catálogo.
ROUTINE_COLUMNS Descreve colunas de resultados de funções com valor de tabela.
ROUTINE_PRIVILEGES Lista principais que têm privilégios sobre as rotinas no catálogo.
ROUTINES Descreve rotinas (funções) no catálogo.
ROW_FILTERS Descreve filtros aplicados às linhas das tabelas no catálogo.
SCHEMA_PRIVILEGES Lista entidades que têm privilégios nos esquemas no catálogo.
SCHEMA_TAGS Contém metadados de marcação de esquema dentro do esquema.
SCHEMA_SHARE_USAGE Descreve os esquemas referenciados em partilhas.
SCHEMATA Descreve esquemas dentro do catálogo.
SHARE_RECIPIENT_PRIVILEGES Descreve os destinatários que receberam acesso a ações.
SHARES Descreve compartilhamentos.
STORAGE_CREDENTIAL_PRIVILEGES [Preterido] Lista entidades que têm privilégios nas credenciais de armazenamento.
STORAGE_CREDENTIALS [Preterido] Descreve as credenciais de armazenamento.
TABLE_CONSTRAINTS Descreve metadados para todas as restrições de chave primária e estrangeira dentro do catálogo.
TABLE_PRIVILEGES Lista principais que têm privilégios nas tabelas e visões no catálogo.
TABLE_SHARE_USAGE Descreve as tabelas referenciadas em partilhas.
TABLE_TAGS Contém metadados de marcação de tabela dentro de uma tabela.
TABLES Descreve tabelas e exibições definidas no catálogo.
VIEWS Descreve informações específicas sobre os modos de exibição no catálogo.
VOLUMES Descreve os volumes definidos no catálogo.
VOLUME_PRIVILEGES Lista principais que têm privilégios nos volumes do catálogo.
VOLUME_TAGS Contém metadados de marcação de volume aplicados a um volume.

Notas

Embora os identificadores não diferenciem maiúsculas de minúsculas quando referenciados em instruções SQL, eles são armazenados no esquema de informação como STRING. Isso implica que você deve procurá-los usando o caso em que o identificador 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 tabelas de esquema de informações no nível do sistema.

Se pretender ver todas as tabelas que foram criadas nas últimas 24 horas, a sua consulta poderá ter o seguinte aspeto.

> 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 você quiser exibir quantas tabelas você tem em cada esquema, 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