日期:2014-05-16  浏览次数:20503 次

关于数据库设计的三范式。
我的理解:
第一范式:原子性,即每列都不可再分。
第二范式:非主关键字完全依赖于主关键字,即不能依赖于主关键字的一部分。对于非联合主键,天然的符合第二范式。
第三范式:非主关键字直接依赖于主关键字。即不存在传递依赖。
------------------------------------------------------
有个问题,下面这个表设计的,不符合那个范式要求?
orderId   count  price  totalPrice
这里的totalPrice=count*price.


------解决方案--------------------
你这个第一范式都不满足,totalprice明显可以再分
------解决方案--------------------
这个totalPrice 其实是间接依赖于主键。

这个也有可能是反规范化的方式,可以提高性能,虽然没有满足3NF
------解决方案--------------------
这个显然是违反第一范式呢,
totalprice是一个复合属性。