FC ConcursosFC Concursos

Questão FC372750

Considere a seguinte estrutura de dados: Cliente (Cod_Cliente, Nome_Cliente, Endereço_Cliente, Faturas_Cliente (Número_Fatura, Vlr_Fatura, Dt_Venc_Fatura)) Considere os seguintes r

Projeto e Modelagem de Dados

FCC · 2019

Considere a seguinte estrutura de dados:


Cliente (Cod_Cliente, Nome_Cliente, Endereço_Cliente,
Faturas_Cliente (Número_Fatura, Vlr_Fatura, Dt_Venc_Fatura)
)


Considere os seguintes requisitos técnicos:


− A estrutura Faturas_Cliente está inserida na estrutura do cliente ao qual pertence.


− Cod_Cliente é o atributo identificador de Cliente.


− Número_Fatura é o atributo identificador de Fatura.


− Um cliente é cobrado em uma ou mais faturas e uma fatura cobra um e somente um cliente.


− O mapeamento relacional fará com que os atributos identificadores (grifados nas estruturas apresentadas acima) componham as chaves primárias ( Primary Key – PK), nas tabelas correspondentes dos bancos de dados relacionais.


Após a aplicação da normalização (até a Terceira Forma Normal – 3FN),

  1. a estrutura Cliente formará uma tabela e terá o Número_Fatura compondo sua chave primária (Primary Key – PK).
  2. a estrutura Cliente formará uma tabela e terá o Número_Fatura como chave estrangeira (Foreign Key – FK).
  3. serão criadas três tabelas: Cliente, Faturas_Cliente e Cliente_Faturas cuja chave primária (Primary Key – PK) será uma composição de Cod_Cliente, Número_Fatura e Dt_Venc_Fatura.
  4. a estrutura Faturas_ Cliente formará uma tabela e terá o Cod_Cliente como chave estrangeira ( Foreign Key – FK).
  5. a estrutura Faturas_Cliente formará uma tabela e terá o Cod_Cliente compondo sua chave primária (Primary Key – PK).
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

A estrutura aninhada Faturas_Cliente dentro de Cliente viola a 1ª Forma Normal por representar um atributo multivalorado; para chegar à 3FN é preciso extrair Faturas_Cliente para formar uma tabela própria.

Como o enunciado define que um cliente pode ter uma ou mais faturas e cada fatura pertence a um único cliente, o relacionamento é de cardinalidade 1:N. No mapeamento relacional, isso implica colocar a chave estrangeira no lado N do relacionamento.

Assim, teremos: Cliente(Cod_Cliente PK, Nome_Cliente, ...) e Faturas_Cliente(Número_Fatura PK, Vlr_Fatura, Dt_Venc_Fatura, Cod_Cliente FK REFERENCES Cliente(Cod_Cliente)). A presença do Cod_Cliente em Faturas_Cliente garante integridade referencial e preserva a 3FN.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo