ITPub博客

首页 > 数据库 > Oracle > 再次回顾规范化和反规范化

再次回顾规范化和反规范化

原创 Oracle 作者:sembh 时间:2012-12-02 20:05:16 0 删除 编辑

1NF:每个元素,记录单值,若为多值,则分解

2NF,3NF:非键性元素都完全依赖于键,依赖于整个键,不再依赖于其他任何元素,若有非键性的元素部分依赖于整个键,则分解

BCNF:把2NF,3NF中的非键性元素替换为所有数据元素

4NF:主键中的3个或更多外键元素,不存在约束的,则分解

5NF:主键中的3个或更多外键元素,存在约束的实体,则分解为多对多关系

规范化的目的:消除冗余(重复信息),增加灵活性(拆分,独立建立实体),避免各类增删改异常,违反数据库ACID原则中的A和C。[A:原子性(事务) C:一致性 I:隔离性(锁,undo) D:持久性]

规范化一般涉及逻辑设计阶段,反规范涉及到物理设计。

反规范化有很多的风险,正确的方法考虑的方法:

关系类型,参与率,父实体的规模,占位符(将来会不会扩展应用增加元素),使用率等这些综合考虑因素得出是否进行反规范化。

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24214296/viewspace-1059846/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 20130117-20130126
请登录后发表评论 登录
全部评论

注册时间:2010-07-08

  • 博文量
    70
  • 访问量
    589243