做一些练习题,只是想知道我是否正确归一化。谢谢。
INVOICE [Invoice#(pk), InvoiceDate, Sales, Cust#,
(EquipClass, EquipClassDesc, Equip#, EquipDesc, EquipCharge, EquipQTY)]
INVOICE [Invoice#(pk), InvoiceDate, Sales, Cust#]
Equipment [ Invoice#(pk), Equip#,(pk), EquipClass, EquipClassDesc,
EquipDesc, EquipCharge, EquipQTY)]
INVOICE [Invoice#(pk), InvoiceDate, Sales, Cust#]
Equipment [Equip#,(pk), EquipClass, EquipClassDesc, EquipDesc, EquipCharge]
INVOICE_Equipment [Invoice#(pk) (FK), Equip# (pk) (FK), EquipQTY]
INVOICE [Invoice#(pk), InvoiceDate, Salesperson#(fk)]
Salesperson [Salesperson#(pk), SalespersonName]
Invoice_SalesPerson [Invoice#(pk)(fk), Salesperson#(pk)(fk), Cust#]
Equipment [Equip#,(pk), EquipClass(fk), EquipDesc, EquipCharge,]
Equipment_Class [EquipClass(pk), EquipClassDesc]
INVOICE_Equipment [Invoice#(pk) (FK), Equip# (pk) (FK), EquipQTY]
答案 0 :(得分:1)
由于非标准化,1NF和2NF表从未提及销售人员,因此当您在先前的模式中从2NF进展到3NF时,没有基础进行拆分和添加。
此外,发票更可能直接与客户和销售人员相关联(它将具有对客户表(在架构中未标识)和销售员表的独立FK引用)。 Invoice_SalesPerson表看起来很虚假,从Invoice中删除客户编号看起来很可疑。它可以按照你展示的方式完成,但是如果没有明确,冗长,有说服力地解释为什么那是必要的,我永远不会将其标记为正确(我仍然怀疑它是不必要的)。