Considere quatro relações compostas da seguinte forma: Pedid...
Pedido(NumPedido, Data_Pedido,
IDCliente, Nome_Cliente)
ItemPedido(NumPedido, NumItem,
Quantidade_Item_Pedido)
Item(NumItem, Preço_Item)
Cliente(IDCLiente, Nome_Cliente,
Endereco_Cliente).
Obs.: O termo sublinhado é o atributo identificador da relação.
Quanto às regras de normalização, é correto afirmar que Pedido, ItemPedido e Item, estão normalizadas, respectivamente, até a
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - 2FN, 3FN e 3FN.
Para entender o porquê dessa alternativa ser a correta, é necessário conhecer o que são as formas normais em teoria de banco de dados. As formas normais são regras que visam evitar redundâncias e dependências inapropriadas, mantendo a integridade dos dados. Em resumo:
- 1ª Forma Normal (1FN): Exige que os valores em cada coluna de uma relação sejam atômicos, ou seja, não devem existir grupos de valores ou valores repetidos dentro de uma mesma coluna.
- 2ª Forma Normal (2FN): Além de estar na 1FN, exige que todos os atributos não-chave sejam funcionalmente dependentes da chave inteira, e não apenas de uma parte dela.
- 3ª Forma Normal (3FN): Além de cumprir com a 2FN, os atributos não-chave devem ser dependentes somente da chave primária, eliminando as dependências transitivas.
Vamos analisar cada relação:
A relação Pedido possui o atributo IDCliente, o qual não é a chave primária, mas está relacionado com Nome_Cliente, configurando uma dependência transitiva (IDCliente determina Nome_Cliente). Sendo assim, essa relação só satisfaz até a 2FN, pois Nome_Cliente deveria estar em uma tabela separada com IDCliente.
Em seguida, a relação ItemPedido não tem atributos que dependam de parte da chave primária ou de outros atributos não-chaves, apenas da chave composta inteira (NumPedido, NumItem), estando, portanto, na 3FN.
Por fim, a relação Item é bastante direta e simples, com NumItem como chave primária e Preço_Item dependendo apenas dessa chave, o que a coloca na 3FN.
Concluindo, após análise das dependências e estruturas das relações, pode-se determinar que Pedido está na 2FN, e ItemPedido e Item estão na 3FN.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Pedido -
Nao possui atributos multivalorados = 1FN
Nao possui chavePK composta = 2FN
PK determina IDCliente que determina Nome_Cliente != 3FN
ItemPedido
Nao possui atributos multivalorados = 1FN
Quantidade_Item_pedido precisa de ambas superchaves = 2FN
Nao possui mais de um atributo nao chave = 3FN
Item
Nao possui atributos multivalorados = 1FN
Nao possui chavePK composta = 2FN
Nao possui mais de um atributo nao chave = 3FN
Pedido(NumPedido, Data_Pedido,
IDCliente, Nome_Cliente)(2FN)
ItemPedido(NumPedido, NumItem,
Quantidade_Item_Pedido) (3FN)
Item(NumItem, Preço_Item) (3FN)
Cliente(IDCLiente, Nome_Cliente,
Endereco_Cliente).
Obs.: O termo sublinhado é o atributo identificador da relação.
Quanto às regras de normalização, é correto afirmar que Pedido, ItemPedido e Item, estão normalizadas, respectivamente, até a
Eu ja tentei entender essa questão mas não entra na minha cabeça.
2FN: Deve estar na 1 FN e todo atributo não chave tem que ser totalmente dependente da chave.
Relação Pedido(NumPedido, Data_Pedido, IDCliente, Nome_Cliente).
O atributo Nome_Cliente depende de IDCliente. Ele não depende totalmente da chave primária, NumPedido.
Pq a relação esta na 2FN? e não somente na 1FN?
Já li também a afirmação de que se uma relação possui somente uma chave primária, já estaria na 2FN(Tendo passado pelos requisitos da 1FN, logicamente).
Eu sinceramente não consigo entender. Se alguém puder ajudar. Se meus conceitos estiverem errados. Melhor errar agora do que na prova!!!
Esta em 3FN quando nao houver dependencia transitiva (o atributo que gerou dependencia é chave primaria da nova tabela com o atributo da tabela anterior).
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo