Como definir um campo como obrigatório no SQL?
Para garantir que uma coluna não aceite valores vazios, usamos a restrição NOT NULL no SQL. Isso impede que a coluna receba valores NULL
, obrigando os registros a terem um dado válido.
Criando uma tabela com campo obrigatório
Podemos definir uma coluna como obrigatória ao criar uma tabela:
CREATE TABLE usuarios (
id INT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
Neste exemplo:
nome
eemail
são obrigatórios devido à restrição NOT NULL.- Se tentarmos inserir um usuário sem um nome ou email, o SQL retornará um erro.
Tornando um campo obrigatório em uma tabela existente
Se a tabela já foi criada sem a restrição NOT NULL, podemos adicioná-la com ALTER TABLE
:
ALTER TABLE usuarios ALTER COLUMN nome SET NOT NULL;
Isso impede que registros futuros tenham valores nulos na coluna nome
.
Lidando com registros existentes ao alterar uma coluna
Se a tabela já possui registros com valores NULL
, não podemos simplesmente aplicar NOT NULL
sem antes corrigir esses dados. Uma abordagem segura é:
UPDATE usuarios SET nome = 'Desconhecido' WHERE nome IS NULL;
ALTER TABLE usuarios ALTER COLUMN nome SET NOT NULL;
Aqui, substituímos valores NULL
por "Desconhecido"
antes de aplicar a restrição.
Por que definir campos obrigatórios melhora a integridade dos dados?
A restrição NOT NULL é essencial para manter a qualidade dos dados em um banco de dados. Se os registros pudessem ter colunas vazias, os sistemas que dependem dessas informações poderiam apresentar erros ou inconsistências. Por isso, ao modelar um banco de dados, é importante identificar quais campos devem ser obrigatórios. Além do NOT NULL
, outras restrições como DEFAULT
e CHECK
ajudam a garantir que os dados armazenados sigam um padrão adequado e confiável.
Algumas aplicações:
- Garantia de que informações essenciais, como e-mail e senha, sejam preenchidas
- Evita registros com dados incompletos em sistemas de CRM e e-commerce
- Melhora a qualidade e confiabilidade dos relatórios gerados pelo banco de dados
- Reduz erros de processamento e falhas em aplicações que dependem de dados obrigatórios
Dicas para quem está começando
- Sempre avalie quais colunas devem ser obrigatórias antes de criar a tabela
- Use
NOT NULL
para evitar valores vazios em campos essenciais - Se um campo pode ter um valor padrão, considere usar
DEFAULT
junto comNOT NULL
- Ao alterar uma coluna para
NOT NULL
, verifique se já existem valores nulos e corrija-os antes - Testar inserções de dados após definir restrições ajuda a evitar erros no futuro
Contribuições de Rodrigo Martins