Dadas as tabelas abaixo com os respectivos atributos, sendo ...
I. PEDIDO (num-ped, data-ped, total-ped, cod-cliente, nome-cli, endereço-cli)
II. ITEM (num-ped, cod-produto, qtde-prod, preço-total)
III. PRODUTO (cod-produto, nome-prod, preço-unitário) Encontra-se na 3FN o que consta em
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - II e III, apenas.
Para resolver esta questão, é essencial ter conhecimento sobre as formas normais em banco de dados, com foco na Terceira Forma Normal (3FN). A 3FN tem como objetivo evitar redundâncias e dependências transitivas que podem levar a inconsistências nos dados.
Uma tabela está na 3FN se ela está na Segunda Forma Normal (2FN) e todos os seus atributos não-chave são mutuamente independentes, ou seja, eles dependem apenas das chaves primárias da tabela, e não de outros atributos não-chave. Vamos analisar cada tabela:
- Tabela I - PEDIDO: Esta tabela não está na 3FN porque contém atributos não-chave, como 'nome-cli' e 'endereço-cli', que estão dependentes de 'cod-cliente', que por sua vez não é chave primária da tabela PEDIDO. Isso configura uma dependência transitiva.
- Tabela II - ITEM: Esta tabela está na 3FN, pois todos os atributos não-chave dependem apenas das chaves primárias ('num-ped', 'cod-produto'), sem dependências transitivas.
- Tabela III - PRODUTO: Esta tabela também está na 3FN, pois todos os atributos não-chave (nome-prod, preço-unitário) dependem apenas da chave primária 'cod-produto'.
Portanto, as tabelas II e III estão na Terceira Forma Normal, atendendo aos critérios de ausência de dependências transitivas. Assim, a alternativa correta é a E.
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
Note que nome-cli ou endereço-cli não dependem da chave num-ped. cod-cliente está determinando esses atributos, então não está na terceira forma normal.
ITEM (num-ped, cod-produto, qtde-prod, preço-total)
Chave primária composta, um convite a violação da segunda forma normal. Porém tanto qtd-produto quanto preço-total são determinados pela chave. Também não temos atributos não-chave determinando outros atributos. Então é 3FN.
PRODUTO (cod-produto, nome-prod, preço-unitário)
Todos os atributos atômicos. Ambos os atributos dependem da chave primária. Sem atributos não-chave determinando outros, então 3FN.
Fere a 3FN. O campo preço total depende do preço unitario e da qtde-prod.
a 3FN diz o seguinte:
Uma tabela está na Terceira Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna não-chave depender de outra coluna não-chave
ora, se preço total depende de qtde-produto, logo está ferindo a 3FN
Também fiquei na dúvida do item 2. Acaba sendo um pouco subjetivo, pois não seria preço_total depedência de cod_produto e qtde_produto?
Acho que não pois estes dados podem se alterar no tempo, mas enfim a questão não foi 100% objetiva.
Primeira Forma Normal
- Possui chave primária;
- Não possui grupos repetitivos;
- Todos os seus atributos são atômicos, ou seja, não precisa ser decomposto.
Segunda Forma Normal
- Está na primeira forma normal;
- Não possui dependências parciais da chave primária;
Terceira Forma Normal
- Está na segunda forma normal;
- Se nenhum dos campos foram determinados transitivamente pela chave primária.
O campo preço total depende do preço unitário e da qtde-prod. Alguém sabe me explicar o porque de isso não ser uma dependência transitiva.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo