Questão nº 47
Questão de A definir · FGV TJ-MS 2024 (nº 47)
João está encarregado de criar uma tabela em PostgreSQL para gerenciar informações sobre funcionários e seus supervisores, com base na seguinte representação lógica da entidade “Funcionario”:
Para tanto, João deverá criar o “autorrelacionamento” entre funcionários e seus supervisores, considerando que nem todo funcionário possui supervisor. Para isso, João deverá utilizar o seguinte script SQL:
- A

- B

- C
(alternativa correta) - D

- E

Resposta comentada
Gabarito Alternativa C
Um autorrelacionamento é quando uma tabela se relaciona consigo mesma, usando uma chave estrangeira que aponta para a chave primária da mesma tabela. Para permitir que a relação seja opcional (como um funcionário não ter supervisor), a chave estrangeira deve aceitar valores nulos (NULL).
- (A) Incorreta: A coluna
id_supervisoré definida comoNOT NULL, o que impediria que funcionários sem supervisor fossem registrados, contrariando a premissa. - (B) Incorreta: A coluna
id_supervisoré definida comoNOT NULL, o que impediria que funcionários sem supervisor fossem registrados. - (C) Correta: A coluna
id_supervisoré definida comoINTEGER(ouINT) sem a restriçãoNOT NULL. Isso significa que ela pode aceitar valoresNULL, permitindo que funcionários não tenham um supervisor. A cláusulaREFERENCES Funcionario(id_funcionario)estabelece corretamente o autorrelacionamento. - (D) Incorreta: A coluna
id_supervisoré definida comoNOT NULL, o que impediria que funcionários sem supervisor fossem registrados. - (E) Incorreta: A coluna
id_supervisoré definida comoNOT NULL, o que impediria que funcionários sem supervisor fossem registrados. Armadilha da banca: Esta alternativa, assim como A, B e D, tenta induzir ao erro ao forçar a chave estrangeira a serNOT NULL, ignorando a condição de que "nem todo funcionário possui supervisor". O ponto crucial para fixar é que, para relacionamentos opcionais, a coluna da chave estrangeira deve permitirNULL.
Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.