三范式总结
所谓的范式,其实就是我们设计数据库时应该遵守的一种规范
-
第一范式: 强调列应该是最小单元,不能再分
如下: 不属于第一范式。contact列不是最小单元还能再分
拆分第一范式为:
-
第二范式: 强调必须要有主键,并且非主键列必须完全依赖主键列,不能出现部分依赖!
如下:订单表不属于第二范式。主键为(OrderID,ProductID),但存在部分依赖,UnitPrice,ProductName依赖于主键里的ProductID
拆分第二范式为:
-
第三范式: 强调非主键列必须完全依赖主键列,不能出现传递依赖的情况!
如下:用户订单表属于第三范式。存在传递依赖,UserName依赖于UserID,UserID依赖于主键OrderId,属于传递依赖
拆分第三范式为: