I termini dizionario di dati e deposito di dati indicano un’utilità software più generale di un catalogo. Un catalogo è strettamente accoppiato con il software DBMS. Fornisce le informazioni memorizzate all’utente e al DBA, ma è principalmente accessibile dai vari moduli software del DBMS stesso, come i compilatori DDL e DML, l’ottimizzatore di query, il processore di transazioni, i generatori di report e l’esecutore di vincoli. D’altra parte, un dizionario di dati è una struttura di dati che memorizza metadati, cioè dati (strutturati) sulle informazioni. Il pacchetto software per un dizionario di dati autonomo o un deposito di dati può interagire con i moduli software del DBMS, ma è usato principalmente dai progettisti, dagli utenti e dagli amministratori di un sistema informatico per la gestione delle risorse informative. Questi sistemi mantengono informazioni sulla configurazione hardware e software del sistema, la documentazione, l’applicazione e gli utenti, così come altre informazioni rilevanti per l’amministrazione del sistema.
Se un sistema di dizionario di dati è usato solo dai progettisti, utenti e amministratori e non dal software DBMS, è chiamato un dizionario di dati passivo. Altrimenti, è chiamato un dizionario di dati attivo o dizionario di dati. Quando un dizionario di dati passivo viene aggiornato, viene fatto manualmente e indipendentemente da qualsiasi cambiamento alla struttura di un DBMS (database). Con un dizionario di dati attivo, il dizionario viene aggiornato per primo e i cambiamenti avvengono nel DBMS automaticamente come risultato.
Gli utenti di database e gli sviluppatori di applicazioni possono beneficiare di un documento autorevole di dizionario di dati che cataloga l’organizzazione, i contenuti e le convenzioni di uno o più database. Questo tipicamente include i nomi e le descrizioni delle varie tabelle (record o Entità) e i loro contenuti (campi) più ulteriori dettagli, come il tipo e la lunghezza di ogni elemento di dati. Un’altra informazione importante che un dizionario di dati può fornire è la relazione tra le tabelle. A volte ci si riferisce a questo nei diagrammi Entità-Relazioni, o se si usano descrittori di Set, identificando a quali Set partecipano le Tabelle del database.
In un dizionario di dati attivo i vincoli possono essere posti sui dati sottostanti. Per esempio, un intervallo può essere imposto sul valore dei dati numerici in un elemento di dati (campo), o un record in una tabella può essere forzato a partecipare a una relazione di set con un altro tipo di record. Inoltre, un DBMS distribuito può avere alcune specifiche di localizzazione descritte all’interno del suo dizionario di dati attivo (ad esempio dove le Tabelle sono fisicamente collocate).
Il dizionario di dati consiste in tipi di record (tabelle) creati nel database da file di comando generati dal sistema, su misura per ogni DBMS back-end supportato. Oracle ha una lista di viste specifiche per l’utente “sys”. Questo permette agli utenti di cercare l’esatta informazione di cui hanno bisogno. I file di comando contengono dichiarazioni SQL per CREATE TABLE, CREATE UNIQUE INDEX, ALTER TABLE (per l’integrità referenziale), etc., usando la dichiarazione specifica richiesta da quel tipo di database.
Non esiste uno standard universale per quanto riguarda il livello di dettaglio in un tale documento.