1NF:每个元素,记录单值,若为多值,则分解
2NF,3NF:非键性元素都完全依赖于键,依赖于整个键,不再依赖于其他任何元素,若有非键性的元素部分依赖于整个键,则分解
BCNF:把2NF,3NF中的非键性元素替换为所有数据元素
4NF:主键中的3个或更多外键元素,不存在约束的,则分解
5NF:主键中的3个或更多外键元素,存在约束的实体,则分解为多对多关系
规范化的目的:消除冗余(重复信息),增加灵活性(拆分,独立建立实体),避免各类增删改异常,违反数据库ACID原则中的A和C。[A:原子性(事务) C:一致性 I:隔离性(锁,undo) D:持久性]
规范化一般涉及逻辑设计阶段,反规范涉及到物理设计。
反规范化有很多的风险,正确的方法考虑的方法:
关系类型,参与率,父实体的规模,占位符(将来会不会扩展应用增加元素),使用率等这些综合考虑因素得出是否进行反规范化。
[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24214296/viewspace-1059846/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24214296/viewspace-1059846/