Questão nº 72
Questão de Tecnologia da Informação · FCC TCE-GO 2022 (nº 72)
Em um modelo de banco de dados há 2 entidades: Gestor e Gasto. Em um levantamento preliminar um analista identificou para a entidade Gestor os atributos idGestor e nomeGestor e para a entidade Gasto os atributos idGasto, descricaoGasto e valorGasto. Considerando que 1 gestor pode realizar muitos gastos diferentes e que um determinado gasto identificado só pode ter sido realizado por um gestor, a cardinalidade entre as entidades Gestor e Gasto é de 1:n. Nesse caso,
- Ase idGasto for chave primária na entidade Gasto, deverá aparecer como chave estrangeira na entidade Gestor.
- Bserá necessário criar uma entidade associativa entre Gestor e Gasto, que terá como chave primária composta idGasto e idGestor.
- Cse idGestor for chave primária na entidade Gestor, deverá aparecer como chave estrangeira na entidade Gasto. (alternativa correta)
- DidGasto deverá aparecer como chave estrangeira na entidade Gestor e idGestor como chave estrangeira na entidade Gasto.
- EnomeGestor é o atributo mais apropriado para ser chave primária na entidade Gestor.
Resposta comentada
Gabarito Alternativa C
Em um banco de dados, quando uma entidade se relaciona com outra de forma que "um" item de uma se conecta a "muitos" itens da outra (relação 1:N), a chave primária (um identificador único para cada registro) da entidade do lado "um" é copiada para a entidade do lado "muitos", onde ela se torna uma chave estrangeira (um campo que referencia a chave primária de outra tabela), estabelecendo o vínculo entre elas.
(A) Incorreta: A chave primária da entidade do lado "muitos" (`idGasto`) nunca deve aparecer como chave estrangeira na entidade do lado "um" (`Gestor`) em uma relação 1:N, pois isso violaria a cardinalidade "um" do lado Gestor.
(B) Incorreta: Uma entidade associativa (ou tabela de ligação) é necessária para relações M:N (muitos para muitos), não para relações 1:N, onde a chave estrangeira é a forma padrão de representação. A armadilha aqui é confundir os tipos de relacionamento.
(C) Correta: De acordo com as regras de modelagem de banco de dados para uma relação 1:N, a chave primária da entidade do lado "um" (`idGestor` da entidade `Gestor`) deve ser migrada como chave estrangeira para a entidade do lado "muitos" (`Gasto`). Isso permite que múltiplos registros de `Gasto` referenciem o mesmo `idGestor`, representando corretamente que um gestor pode ter muitos gastos.
(D) Incorreta: A primeira parte da afirmação está incorreta (idGasto como FK em Gestor), o que invalida a alternativa como um todo. A chave estrangeira sempre migra do lado "um" para o lado "muitos".
(E) Incorreta: `nomeGestor` (nome do gestor) não é um atributo apropriado para ser chave primária, pois não garante a unicidade (pode haver gestores com o mesmo nome) e pode mudar ao longo do tempo, o que é indesejável para uma chave primária. Atributos como `idGestor` são criados especificamente para serem únicos e estáveis.
Fonte: FCC TCE-GO 2022 Analista de Controle Externo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.