Uma entidade encontra-se em Segunda Forma Normal se e somente estiver em Primeira Forma Normal e não tiver atributos com dependências parciais. No caso de uma chave primária composta, isto é, que possui mais de um atributo em sua composição, é denominada dependência parcial a dependência de um atributo não chave a apenas uma parte da chave primária.
Tomemos como exemplo a tabela compra, descrita abaixo:
Compra (nro_nf, cod_fornecedor, cod_produto, data,nome produto, quantidade, valor_unitario, valor_total_nota)
Tendo como chave primária os atributos: nro_nf, cod_fornecedor, cod_produto
Se analisarmos a dependência funcional teremos:
nro_nf, cod_fornecedor --> data
nro_nf, cod_produto --> quantidade
nro_nf, cod_produto --> valor_unitario
nro_nf, cod_fornecedor --> valor_total_nota
cod_produto --> nome_produto
Vemos agora que nem todos os atributos dependem da chave primária. O que não é permitido pela Segunda Forma Normal. Para que essa entidade fique em 2NF, teremos de desmembrá-la.
Ela ficará assim:
Compra (nro_nf, cod_fornecedor, data, valor_total_nota)
Tendo como chave primária os atributos nro_nf e cod_fornecedor e como chave estrangeira o atributo cod_fornecedor.
Item_compra (nro_nf, cod_produto, quantidade, vl_unitario)
Tendo como chave primária os atributos nro_nf e cod_produto e como chaves estrangeiras os atributos nro_nf e cod_produto.
Produto (codigo, nome)
Tendo como chave primária o atributo codigo.
Nenhum comentário:
Postar um comentário