Definição – O que significa Dicionário de Dados?
Um dicionário de dados é um arquivo ou um conjunto de arquivos que contém os metadados de um banco de dados. O dicionário de dados contém registros sobre outros objetos no banco de dados, como propriedade de dados, relacionamentos de dados com outros objetos e outros dados.
O dicionário de dados é um componente crucial de qualquer banco de dados relacional. Ele fornece informações adicionais sobre os relacionamentos entre diferentes tabelas de banco de dados, ajuda a organizar os dados de uma forma organizada e facilmente pesquisável e evita problemas de redundância de dados.
Ironicamente, por causa de sua importância, é invisível para a maioria dos usuários de banco de dados. Normalmente, apenas administradores de banco de dados interagem com o dicionário de dados.
Um dicionário de dados também é chamado de repositório de metadados.
Definirtec explica o Dicionário de Dados
Um Dicionário de Dados contém informações sobre atributos ou campos de um determinado conjunto de dados. Em um banco de dados relacional, os metadados no dicionário de dados incluem o seguinte:
-
Nomes de todas as tabelas no banco de dados e seus proprietários.
-
Nomes de todos os índices e as colunas às quais as tabelas desses índices se relacionam.
-
Restrições definidas em tabelas, incluindo chaves primárias, relacionamentos de chave estrangeira com outras tabelas e restrições não nulas.
-
Informações físicas adicionais sobre as tabelas, incluindo seu local de armazenamento, método de armazenamento, etc.
Por exemplo, o banco de dados de um banco comercial contendo informações sobre clientes pode ter atributos para nome do cliente, data de nascimento, endereço, poupança financeira, número da conta e do cartão de crédito, empréstimos, etc.
Cada atributo ocupa uma linha em uma planilha, enquanto várias colunas fornecem elementos adicionais que descrevem esse atributo (seja opcional ou obrigatório para um registro, o tipo de dados, sua localização, etc.).
Um dicionário de dados pode ser parecido com o abaixo:
Para a maioria dos sistemas de gerenciamento de banco de dados relacional (RDBMS), o software do sistema de gerenciamento de banco de dados precisa do dicionário de dados para acessar os dados em um banco de dados. Por exemplo, o software Oracle DB precisa ler e gravar em um Oracle DB. No entanto, ele só pode fazer isso por meio do dicionário de dados criado para esse banco de dados específico.
Por exemplo, seguindo o exemplo de banco de dados do banco acima, o administrador deseja determinar qual tabela contém informações sobre empréstimos. Supondo que a tabela provavelmente contenha a palavra “EMPRÉSTIMO”, ele emitirá a seguinte consulta no dicionário de dados (a primeira consulta é para um banco de dados Oracle, enquanto a segunda é para um banco de dados SQL Server):
-
SELECT * FROM DBA_TABLES WHERE TABLE_NAME LIKE ‘% LOAN%’;
-
SELECT * FROM SYSOBJECTS WHERE TYPE = ‘U’ AND NAME LIKE ‘% LOAN%’;
Um dicionário de dados pode ser ativo ou passivo. Pode acontecer que a estrutura da base de dados tenha que ser alterada, como adicionar novos atributos ou remover alguns obsoletos. Se essas mudanças forem atualizadas automaticamente no dicionário de dados pelo dicionário de gerenciamento de banco de dados, então o dicionário de dados está ativo.
Por outro lado, se o gerenciador de banco de dados mantém o dicionário de dados como uma entidade separada que deve ser atualizada manualmente, ele é referido como um dicionário de dados passivo. Além de exigir trabalho adicional para ser sincronizado, os dicionários de dados passivos estão sujeitos a erros quando os dados no banco de dados e no dicionário não correspondem mais.