Léxico de TI › Bancos de dados › Restrição CHECK

Restrição CHECK

Bancos de dados Svenska → Atualizado: 2026-09-28

Recurso do SQL: um predicado que toda linha precisa satisfazer. CHECK (age >= 0). Validação no nível do banco em vez de no código da aplicação — garante o invariante mesmo se outro cliente escrever.

Boa para regras de domínio: status IN ('active','pending','closed'), email LIKE '%@%', start_date < end_date. O PostgreSQL suporta plenamente; o MySQL ignorou por muito tempo (conseguia interpretar mas não aplicar) — corrigido na versão 8.0.16 (2019). Costuma ser combinada com tipos de domínio para expressar validações complexas. Performance: checks simples saem "de graça" em INSERT/UPDATE; checks com subquery complexa (CHECK com SELECT) não existem no padrão SQL. As exclusion constraints do PostgreSQL seguem ideia parecida para validação entre linhas.

← Voltar ao léxico