Um
esquema de bancos de dados de um
sistema de banco de dados é sua estrutura descrita em uma
linguagem formal suportada pelo
sistema de gerenciamento de banco de dados (SGBD) e refere-se à organização de dados como um diagrama de como um banco de dados é construído (dividido em tabelas de banco de dados no caso de
bancos de dados relacionais). A definição formal do esquema de
banco de dados é um conjunto de fórmulas (sentenças) chamadas de
restrições de integridade impostas no banco de dados. Estas restrições de integridade garantem a compatibilidade entre partes do esquema. Todas as restrições são expressíveis na mesma linguagem. Um banco de dados pode ser considerado uma estrutura em realização da
linguagem de banco de dados. Os estados de um esquema conceitual são transformados em um mapeamento explícito, o esquema de banco de dados. Isto descreve como entidades do mundo real são modeladas em um banco de dados.
"Um esquema de banco de dados especifica, com base no conhecimento do
administrador de banco de dados de possíveis aplicações, os fatos que podem entrar no banco de dados, ou aqueles de interesse para os possíveis
usuários finais." A noção de esquema de banco de dados desempenha o mesmo papel que a noção de teoria no
cálculo de predicados. Um modelo desta "teoria" corresponde aproximadamente a um banco de dados, que pode ser visto em qualquer instante de tempo como um objeto matemático. Desta forma, um esquema pode conter fórmulas que representam restrições de integridade especificamente para uma aplicação e as restrições especificamente para um tipo de banco de dados, todas expressadas na mesma linguagem de banco de dados. Em
banco de dados relacional, o esquema define as
tabelas,
campos,
relacionamentos,
visões,
índices,
pacotes,
procedimentos,
funções, filas,
gatilhos,
tipos,
sequências, visões materializadas, sinônimos, enlaces de banco de dados,
diretórios, esquemas XML e outros elementos.
Esquemas geralmente são armazenados em um
dicionário de dados. Apesar de um esquema ser definido em linguagem de banco de dados de texto, o termo é frequentemente utilizado para se referir a uma representação gráfica da estrutura de banco de dados. Em outras palavras, esquema é a estrutura do banco de dados que define os objetos no banco de dados.