您好我一直在尝试学习一些数据库的基础知识,我的问题是理解规范化。
2nf和3nf在这样的事情上会是什么
CustNo(pk),CustBal,CustDiscount
OrdNo(pk),CustNo,ShipAddr,OrderDate
ItemNo(pk)ItemDesc
ItemNo(pk),PlantNo(pk),ReorderPoint,QtyOnHand
OrderNo(pk),ItemNo(pk),LineNo,QtyOrdered,QtyOutstanding
OrderNo(pk),LineNo(pk),ItemNo,QtyOrdered,QtyOutstanding
答案 0 :(得分:0)
规范化本身并不是目的。规范化是一项设计活动,取决于您所设计的要求。您正在对现实世界中存在的东西进行建模 - 在这种情况下是制造订单 - 并且您希望设计表示。
例如,考虑一下您定义的这两个关系:
是否为每个工厂的每个项目设置了ReorderPoint,或者是否存在库存规划人员为导致计算ReorderPoint的项目设置的策略?有可能:
需求定义了您想要建模的内容,并且可以从中进行规范化。也可能过度标准化,这会对性能产生负面影响。