Nota: Há uma maneira um pouco diferente você pode derivar as tabelas para chegar a mesas de tal forma que a tabela de PurchaseOrder vai estar em uma forma mais elevada do que a 3NF, chamado de BCNF. Espero escrever um artigo separado sobre isso; o artigo será intitulado, algo como: "Chegando em Boyce Codd-Forma Normal". Assim, para os conectados um-para-muitos relacionamentos, as três classes do diagrama de classes são agora estabelecida em 3NF como Fornecedor (SuplierID, nome, endereço, cidade, estado, CEP, PhoneNumber) Empregado (EmpID, nome, endereço, salário, ...
) PurchaseOrder (SuplierID, EmpID, data, ...) Muitos-para-muitos olham Relacionamento no fig19.1 na janela de guia novamente. Há um relacionamento muitos-para-muitos na classe PurchaseOrder e da classe Item. Uma associação many-to-many é sempre dividido em duas associações um-para-muitos. Como você cria tabelas normalizadas de muitos-para-muitos tabelas de relacionamentos? É simples: Dê uma chave primária para cada uma das mesas em ambos os extremos da ligação. Criar uma nova tabela no meio das duas tabelas. Esta nova tabela representa o relacionamento muitos-para-muitos.
Ir para esta nova tabela; colocar as chaves das tabelas no final, em que. As duas chaves de ter colocado forma a chave composta para a nova tabela. Isso dá-lhe um-para-muitos entre cada tabela no final e da tabela meio. Os três tabelas estão agora em, pelo menos, o 3NF. Para o nosso exemplo, a tabela de PurchaseOrder já tem uma chave primária; a chave primária é uma chave composta, que é SuplierID, EmpID. Vamos dar a chave, ItemID, a tabela Item. A tabela do item é agora, Item (ItemID, ...
) Neste ponto, se você sabe determinadas colunas e você tem certeza de que eles podem ir para as mesas de item, coloque as colunas; se você não tem certeza, não coloque em nenhuma coluna; você ainda será capaz de fazer isso no final. Você deve ter algo parecido, Item (ItemID, descrição, preço) Você precisa dar um nome para a tabela do meio entre PurchaseOrder e Item. Neste pont
NET - C # - classe Helper Mailer par…