Definição
Schema é a descrição da estrutura do banco. Ele declara tabelas, colunas, tipos e restrições, definindo como os registros podem ser armazenados. Em alguns bancos, o termo também designa um namespace que organiza objetos dentro do servidor.
Estrutura e conteúdo separados
A estrutura de uma tabela de clientes declara colunas como identificador, nome e e-mail, com seus tipos e regras. O conteúdo é formado pelas linhas gravadas. Alterar a estrutura não apaga registros por si só, mas pode impor regras novas sobre o que pode ser armazenado.
CREATE TABLE clientes (
id INTEGER PRIMARY KEY,
nome TEXT NOT NULL,
email TEXT NOT NULL UNIQUE
);As regras declaradas no schema valem para toda gravação. Um e-mail duplicado é recusado pela restrição UNIQUE, e um campo obrigatório sem valor impede a inserção da linha.
Schema como namespace
Em alguns bancos, schema designa um namespace: um agrupamento de tabelas e objetos com nome próprio dentro do servidor. Essa organização separa domínios sem multiplicar bancos. O significado do termo varia conforme o banco, e em qualquer uso schema não é o conjunto de registros armazenados.
Falha comum e como verificar
A falha mais comum é mudar a estrutura fora das migrations, por comando manual no ambiente, e deixar produção diferente de desenvolvimento. Como o schema não registra a mudança, a próxima migration pode entrar em conflito com o que já foi alterado. Para verificar, compare a estrutura de dois ambientes com as mesmas migrations aplicadas e confira se as colunas, os tipos e as restrições coincidem. Depois, tente gravar um registro que viola uma regra declarada e observe o erro do banco. Quando a gravação passa mesmo com a regra, a estrutura divergiu da definição esperada.
Veja como a estrutura evolui com migrationsDúvidas frequentes
Perguntas frequentes sobre Schema
- Schema é o conteúdo armazenado?
- Não. Schema descreve a estrutura. Os registros guardados são o conteúdo, não o esquema.
- Schema sempre significa a mesma coisa?
- Não. O sentido varia conforme o banco: pode ser a descrição da estrutura ou um namespace que organiza objetos.
- O que altera o schema?
- Migrations e comandos de DDL alteram a estrutura de forma versionada e controlada.
Para continuar
Recursos relacionados
Documentação
PostgreSQL: DDL
Apresenta a definição de tabelas, colunas e restrições que formam o esquema.
Abrir recursoDocumentação
PostgreSQL: CREATE SCHEMA
Documenta o uso de schema como namespace que organiza objetos no banco.
Abrir recursoAplicação na formação
Formação DevOps
Na Formação DevOps, o schema organiza a estrutura e o namespace que cada ambiente do pipeline precisa manter estáveis.
Conhecer a formaçãoFontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.