Questão de Banco de Dados — SQL — FCC 2016
- Código
- fc034511
- Banca
- FCC
- Órgão
- TRT - 23ª REGIÃO (MT)
- Ano
- 2016
- Nível
- Médio
- Cargo
- Técnico Judiciário - Tecnologia da Informação
- AFOREIGN KEY.
- BINDEX KEY.
- CUNIQUE.
- DEXCLUSIVE.
- EPRIMARY KEY.
GabaritoC — UNIQUE.
Gabarito: letra C. A constraint UNIQUE garante que todos os valores em uma coluna (ou combinação de colunas) sejam distintos entre si, permitindo valores NULL — diferentemente da PRIMARY KEY, que também exige unicidade mas não aceita NULL.
A banca cobra o conceito de cada tipo de constraint e suas características. A tabela abaixo resume as diferenças entre UNIQUE e PRIMARY KEY, os dois tipos que tratam de unicidade:
Característica | PRIMARY KEY | UNIQUE |
|---|---|---|
Unicidade | Sim | Sim |
Permite NULL | Não | Sim (um único NULL na maioria dos SGBDs; alguns permitem múltiplos) |
Quantidade por tabela | Uma | Múltiplas |
Veja que a questão destaca o detalhe "podendo ser nulo", o que já elimina PRIMARY KEY (que não aceita NULL) e aponta diretamente para UNIQUE.
FOREIGN KEY (chave estrangeira) serve para garantir a integridade referencial entre tabelas: os valores na coluna devem existir na tabela referenciada, mas podem se repetir e podem ser NULL. Não impede duplicação.
INDEX KEY não é uma constraint SQL padrão. Índices (INDEX) são estruturas de desempenho para acelerar buscas; podem ser únicos (UNIQUE INDEX), mas o nome correto da constraint que garante unicidade com permissão de nulos é UNIQUE.
UNIQUE é a constraint que atende exatamente ao enunciado: valores únicos na coluna, sem repetição, e aceita valores nulos (na maioria dos bancos, apenas um NULL é permitido, pois o padrão SQL considera que NULLs não são iguais entre si).
EXCLUSIVE não é uma constraint definida no padrão SQL. Em alguns SGBDs como PostgreSQL existe EXCLUSION para restrições mais complexas (como sobreposição de intervalos), mas não se aplica ao conceito simples de unicidade com nulos.
PRIMARY KEY também garante unicidade, mas exige que a coluna seja NOT NULL. Como o enunciado afirma "podendo ser nulo", a PRIMARY KEY não se encaixa.
Na hora da prova, lembre-se do par: PRIMARY KEY = unique + NOT NULL; UNIQUE = unique + permite NULL. Se a questão mencionar expressamente "podendo ser nulo", a resposta é UNIQUE. Se disser "não pode ser nulo", é PRIMARY KEY.
Gabarito: letra C.
Link permanente: /questoes/fc034511