Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2023

Banco de DadosSQL
Código
ce163357
Banca
CESPE / CEBRASPE
Órgão
TBG
Ano
2023
Nível
Superior
Cargo
Ênfase: Desenvolvimento de Software
Julgue o próximo item, relativo a SQL, banco de dados e Azure.No modelo entidade-relacionamento a seguir, a coluna IdDepartamento da tabela Funcionario não pode ser nula, uma vez que ela é a chave estrangeira advinda do relacionamento com a tabela Departamento.Imagem associada para resolução da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Chave estrangeira e nulidade: o que o DER realmente diz

Gabarito: Errado (E). A coluna IdDepartamento da tabela Funcionario pode ser nula, pois a cardinalidade (0,1) do lado de Departamento indica que o relacionamento é opcional — um funcionário pode não estar associado a nenhum departamento. O simples fato de um atributo ser chave estrangeira não o torna obrigatório; a obrigatoriedade só existiria se a cardinalidade mínima fosse 1 (relacionamento obrigatório), o que não é o caso no diagrama.

A chave estrangeira (FK) é o mecanismo que implementa relacionamentos em bancos de dados relacionais: ela é um atributo (ou conjunto de atributos) de uma tabela que referencia a chave primária (ou candidata) de outra tabela, criando uma ligação lógica entre elas. Por padrão, uma FK aceita valores nulos — declarar um atributo como chave estrangeira não exige que ele seja preenchido em todas as linhas. A nulidade da FK é determinada pela cardinalidade do relacionamento, não pela natureza da chave em si.

A cardinalidade expressa o número mínimo e máximo de ocorrências de uma entidade associadas a uma ocorrência da outra. Quando a cardinalidade mínima é 0 (como em (0,1) ou (0,n)), o relacionamento é opcional: a entidade pode existir sem estar associada a nenhuma ocorrência da outra. Nesse caso, a FK que implementa o relacionamento deve aceitar NULL, para representar corretamente os registros não associados. Quando a cardinalidade mínima é 1 (como em (1,1) ou (1,n)), o relacionamento é obrigatório: toda ocorrência precisa estar associada, e a FK deve ser declarada como NOT NULL para garantir a integridade.

Vamos aplicar isso ao caso concreto. O diagrama mostra o relacionamento entre Funcionario e Departamento com cardinalidade (0,1) do lado de Departamento. Isso significa que um funcionário pode estar associado a zero ou um departamento. Se um funcionário pode existir sem departamento, então o valor de IdDepartamento nesse registro precisa ser NULL — não há departamento para referenciar. Portanto, a afirmação de que a coluna "não pode ser nula" está errada, pois contraria a cardinalidade opcional do modelo.

A pegadinha da banca está em associar automaticamente "chave estrangeira" a "obrigatório". O candidato que não conhece a relação entre cardinalidade e nulidade tende a marcar "Certo", mas a regra é clara: FK não implica NOT NULL; a obrigatoriedade vem da cardinalidade mínima do relacionamento. Se o diagrama mostrasse (1,1) do lado de Departamento, aí sim a FK seria obrigatória e NOT NULL seria necessário. Como mostra (0,1), a FK é opcional e pode ser nula.

NÃO CAIA NESSA!

A banca explora a confusão entre "ser chave estrangeira" e "ser obrigatório". Muitos candidatos assumem que toda FK é NOT NULL, mas isso é falso: a nulidade é definida pela cardinalidade mínima do relacionamento. Veja o diagrama: (0,1) do lado de Departamento significa que o funcionário pode ter zero departamentos — logo, IdDepartamento pode ser NULL. Se fosse (1,1), aí sim seria obrigatório. Guarde: cardinalidade mínima 0 → FK opcional (aceita NULL); cardinalidade mínima 1 → FK obrigatória (NOT NULL).

Item — ❌ Errado

A afirmação de que IdDepartamento "não pode ser nula, uma vez que ela é a chave estrangeira" está errada por dois motivos: (1) o simples fato de ser FK não impõe nulidade — por padrão, FK aceita NULL; (2) a cardinalidade (0,1) do lado de Departamento indica relacionamento opcional, permitindo que um funcionário não tenha departamento associado, o que exige que a FK aceite NULL. A obrigatoriedade só existiria com cardinalidade mínima 1, o que não ocorre no diagrama.

Gabarito: Errado (E).

Link permanente: /questoes/ce163357