É possível perceber na figura anterior as interfaces para os DBAs, ADs, projetistas e usuários casuais que trabalham com interfaces interativas para formular consultas, programadores de aplicação que criam programas usando algumas linguagens de programação hospedeira, e usuários paramétricos que realizam a entrada dos dados fornecendo parâmetros para transações predefinidas.
Os DBAs definem o banco de dados e realizam ajustes, alterando sua definição por meio da DDL e de outros comandos privilegiados. O compilador da DLL processa as definições de esquema especificadas e armazena as descrições dos esquemas (metadados) no catálogo do SGBD. O catálogo inclui informações como os nomes e os tamanhos dos arquivos, nomes e tipos de dados dos itens de dados, detalhes de armazenamento de cada arquivo, informações de mapeamento entre esquemas e restrições. Além disso, o catálogo armazena muitos outros tipos de informações essenciais para os módulos do SGBD, que podem, então, utilizar as informações do catálogo, conforme a necessidade.
Usuários casuais do banco de dados interagem usando alguma forma de interface, que chamamos de interface de consulta interativa. Essas consultas são analisadas e validadas pela exatidão da sintaxe da consulta, os nomes de arquivos e elementos de dados, e assim por diante, por um compilador de consulta, que as compila para um formato interno. Essa consulta interna está sujeita à otimização de consultas. Entre outras coisas, o otimizador de consulta: