Los términos diccionario de datos y repositorio de datos indican una utilidad de software más general que un catálogo. Un catálogo está estrechamente vinculado al software del SGBD. Proporciona la información almacenada en él al usuario y al DBA, pero es accedido principalmente por los diversos módulos de software del propio SGBD, como los compiladores DDL y DML, el optimizador de consultas, el procesador de transacciones, los generadores de informes y el ejecutor de restricciones. Por otro lado, un diccionario de datos es una estructura de datos que almacena metadatos, es decir, datos (estructurados) sobre la información. El paquete de software de un diccionario de datos o repositorio de datos autónomo puede interactuar con los módulos de software del SGBD, pero es utilizado principalmente por los diseñadores, usuarios y administradores de un sistema informático de gestión de recursos de información. Estos sistemas mantienen información sobre la configuración del hardware y el software del sistema, la documentación, la aplicación y los usuarios, así como otra información relevante para la administración del sistema.
Si un sistema de diccionario de datos es utilizado sólo por los diseñadores, usuarios y administradores y no por el Software DBMS, se denomina diccionario de datos pasivo. En caso contrario, se denomina diccionario de datos activo o diccionario de datos. Cuando se actualiza un diccionario de datos pasivo, se hace de forma manual e independiente de cualquier cambio en la estructura del SGBD (base de datos). Con un diccionario de datos activo, el diccionario se actualiza primero y los cambios se producen en el DBMS automáticamente como resultado.
Los usuarios de bases de datos y los desarrolladores de aplicaciones pueden beneficiarse de un documento de diccionario de datos autorizado que cataloga la organización, los contenidos y las convenciones de una o más bases de datos. Suele incluir los nombres y descripciones de varias tablas (registros o Entidades) y sus contenidos (campos), además de detalles adicionales, como el tipo y la longitud de cada elemento de datos. Otra información importante que puede proporcionar un diccionario de datos es la relación entre las tablas. A veces se hace referencia a esto en los diagramas Entidad-Relación, o si se utilizan descriptores de Conjuntos, identificando en qué Conjuntos participan las Tablas de la base de datos.
En un diccionario de datos activo se pueden imponer restricciones a los datos subyacentes. Por ejemplo, se puede imponer un Rango al valor de los datos numéricos en un elemento de datos (campo), o se puede FORZAR a un Registro de una Tabla a participar en una relación de conjunto con otro Tipo de Registro. Además, un SGBD distribuido puede tener ciertas especificidades de ubicación descritas dentro de su diccionario de datos activo (por ejemplo, dónde se encuentran físicamente las Tablas).
El diccionario de datos consiste en tipos de registro (tablas) creados en la base de datos por archivos de comandos generados por los sistemas, adaptados para cada SGBD back-end soportado. Oracle tiene una lista de vistas específicas para el usuario «sys». Esto permite a los usuarios buscar la información exacta que se necesita. Los archivos de comandos contienen sentencias SQL para CREAR TABLA, CREAR ÍNDICE ÚNICO, ALTER TABLA (para la integridad referencial), etc., utilizando la sentencia específica requerida por ese tipo de base de datos.
No existe un estándar universal en cuanto al nivel de detalle de dicho documento.