Questão FC295855
Qual forma normal foi violada e que tabelas devem ser criadas como consequência dessa violação?
Projeto e Modelagem de Dados
CESGRANRIO · 2022
Considere a tabela não normalizada CLIENTE-v1 (CPF, nome, endereço, cidade, UF, telefone, conta-corrente) que possui as seguintes características:
• a chave primária é o atributo CPF;
• o atributo conta-corrente é uma chave estrangeira;
• todos os atributos são determinados funcionalmente pelo CPF;
• o atributo UF é determinado funcionalmente pelo atributo cidade; e • não há atributos multivalorados.
Qual forma normal foi violada e que tabelas devem ser criadas como consequência dessa violação?
- A tabela CLIENTE-v1 não está na primeira forma normal (1FN), e, portanto, devem ser criadas as tabelas CLIENTE-v2 (CPF, nome, endereço, cidade, UF, conta- corrente) e CLIENTE_TELEFONE (CPF, telefone).
- A tabela CLIENTE-v1 não está na primeira forma normal (1FN), e, portanto, devem ser criadas as tabelas CLIENTE-v2 (CPF, nome, endereço, cidade, UF, telefone) e CLIENTE_CONTA (CPF, conta-corrente).
- A tabela CLIENTE-v1 não está na terceira forma normal (3FN), e, portanto, devem ser criadas as tabelas CLIENTE-v2 (CPF, nome, endereço, cidade, telefone, conta-corrente) e CIDADE (cidade, UF).
- A tabela CLIENTE-v1 não está na segunda forma normal (2FN), e, portanto, devem ser criadas as tabelas CLIENTE-v2 (CPF, nome, endereço, cidade, UF) e CLIENTE_CONTA_TELEFONE (CPF, conta-corrente, telefone).
- A tabela CLIENTE-v1 não está na terceira forma normal (3FN), e, portanto, devem ser criadas as tabelas CLIENTE-v2 (CPF, nome, telefone, conta-corrente) e CLIENTE_ENDERECO (CPF, endereço, cidade, UF).
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A tabela viola a 3FN porque existe uma dependência funcional transitiva: embora \(CPF\) seja a chave primária e determine todos os demais atributos, o atributo UF é determinado por cidade, que é um atributo não-chave. Formalmente temos \(CPF \rightarrow \{nome, endereço, cidade, UF, telefone, conta\}\) e também \(cidade \rightarrow UF\); assim UF depende de uma coluna não-chave, o que contraria a 3FN.
Para eliminar a redundância e atender à 3FN, extrai-se a informação sobre cidades para uma nova relação. Devem ser criadas as tabelas CLIENTE-v2 (CPF, nome, endereço, cidade, telefone, conta-corrente) e CIDADE (cidade, UF), sendo cidade chave em CIDADE e cidade em CLIENTE-v2 referenciando CIDADE.
Conteúdo do catálogo FC Concursos · Atualizado em