No projeto de esquemas relacionais, as restrições de integri...

Próximas questões
Com base no mesmo assunto
Q4036236 Banco de Dados
No projeto de esquemas relacionais, as restrições de integridade (constraints) são mecanismos declarativos que definem regras sobre os dados armazenados, garantindo a consistência e a confiabilidade das informações no banco de dados. Um DBA está revisando o esquema de um sistema de gestão de contratos públicos para verificar se as restrições definidas estão adequadas às regras de negócio estabelecidas. Com base nos conceitos e no comportamento das constraints em bancos de dados relacionais, assinale a alternativa CORRETA.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: O critério decisivo era identificar qual alternativa descrevia corretamente o efeito de uma ação referencial em FOREIGN KEY; as demais atribuíam às constraints funções que elas não têm, o que deixa B como a única compatível com a definição cobrada.

Tema central: Constraints relacionais
Análise das alternativas
A
Errada
Está errada porque PRIMARY KEY não é apenas unicidade; ela exige unicidade e também ausência de NULL. Portanto, não se admite valor nulo nas colunas que compõem a chave primária, ainda que a combinação global fosse única.
B
Certa
A alternativa B está correta porque descreve adequadamente a ação referencial ON DELETE CASCADE associada a uma FOREIGN KEY: quando a linha da tabela pai é excluída, o SGBD remove automaticamente as linhas dependentes da tabela filha que a referenciam. Esse é exatamente o mecanismo de cascata na exclusão, usado para preservar a integridade referencial.
C
Errada
Está errada porque CHECK, no tratamento conceitual cobrado, serve para validar condição lógica sobre os dados da própria linha ou coluna. Não é a constraint adequada para impor regra baseada em consulta a tabelas de outros bancos de dados.
D
Errada
Está errada porque UNIQUE não equivale a UNIQUE + NOT NULL. UNIQUE trata da não duplicidade; já NOT NULL trata da obrigatoriedade de valor, e são funções distintas.
E
Errada
Está errada porque DEFAULT não substitui NOT NULL. DEFAULT apenas fornece um valor padrão quando nenhum valor é informado na inserção; sozinho, não assegura que a coluna jamais conterá valor ausente.
Pegadinha da questão
A questão explorou confusões clássicas entre restrições com funções diferentes: PRIMARY KEY não é só unicidade, UNIQUE não se confunde com NOT NULL, e DEFAULT não cria obrigatoriedade de preenchimento.
Dica para questões semelhantes
  • Separe mentalmente a função de cada constraint: PRIMARY KEY = unicidade + NOT NULL; UNIQUE = controle de duplicidade; NOT NULL = obrigatoriedade de valor.
  • Ao ver ON DELETE CASCADE em FOREIGN KEY, associe à exclusão automática das linhas filhas dependentes quando a linha pai é removida.
  • Não trate DEFAULT como mecanismo de integridade de presença; ele só fornece valor padrão quando aplicável.
  • Em questões conceituais, considere CHECK como validação local da condição declarada, não como ferramenta geral de consulta a tabelas externas.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A principal diferença é que NOT NULL é uma restrição rígida que proíbe dados vazios, enquanto DEFAULT é um recurso de conveniência que fornece um valor quando você não precisa de dados.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo