Questão nº 54

Questão de Tecnologia da Informação · CESGRANRIO BASA 01/2021 (nº 54)

CESGRANRIO2021Técnico Científico - Área de Formação: Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

O seguinte diagrama, feito segundo o Modelo Entidades e Relacionamentos, indica entidades, relacionamento e atributos e, ainda, as chaves primárias das entidades de um pequeno banco de dados que guarda o saldo atual de várias contas, que podem pertencer a um ou a mais clientes que residem, possivelmente, em países distintos.

Figura da questão de Tecnologia da Informação

Foi feita uma transformação desse diagrama em tabelas relacionais para a terceira forma normal, na qual o sublinhado indica chaves primárias e não são usadas chaves substitutas ou artificiais (surrogate keys).
Qual a melhor representação dessa transformação?

Resposta comentada

Gabarito Alternativa E

Conceito-chave: Em um modelo ER, um relacionamento N:N (vários clientes para várias contas) vira uma tabela associativa (ou de ligação), que só guarda as chaves estrangeiras. Atributos do relacionamento (como diaSaldo e valorSaldo) vão para a tabela que representa esse relacionamento, e não para as entidades originais.

  • (A) Incorreta: Coloca cpfCliente dentro de Conta, o que quebra a relação N:N (uma conta com vários clientes teria que repetir a conta). Além disso, SaldoDiario perde a referência ao relacionamento correto.
  • (B) Incorreta: Mistura tudo: Conta ganha cpfCliente e diaSaldo (atributos que não pertencem a ela), e Cliente ganha numeroConta, criando dependências funcionais indevidas e repetição de dados.
  • (C) Incorreta: Cria a tabela associativa ContaCliente corretamente, mas erra ao colocar cpfCliente e diaSaldo dentro de Conta e codigoPais/numeroConta dentro de Cliente, além de cpfCliente em Pais — tudo isso gera redundância e viola a 3FN.
  • (D) Incorreta: A tabela SaldoDiario inclui cpfCliente, mas o saldo diário depende apenas da conta e do dia, não do cliente. Isso cria dependência parcial (o cpfCliente não é chave do saldo) e quebra a 3FN.
  • (E) Correta: Conta e Cliente guardam só seus atributos próprios; ContaCliente representa o relacionamento N:N com as duas chaves estrangeiras; SaldoDiario guarda numeroConta e diaSaldo como chave composta (pois o saldo é por conta e por dia) e valorSaldo; Pais guarda codigoPais e nomePais. Nenhuma chave artificial é usada, e tudo está na 3FN.

Comentário do distrator mais tentador (A): A pegadinha da banca é que muitos alunos acham que, como uma conta pode ter vários clientes, basta colocar o cpfCliente na tabela Conta — mas isso força a repetir o numeroConta para cada cliente, o que é redundante e não representa corretamente o N:N. A alternativa A parece simples, mas ignora a necessidade da tabela associativa ContaCliente.

Fonte: CESGRANRIO BASA 01/2021 Técnico Científico - Área de Formação: Tecnologia da Informação. Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho