1.范式化和反范式化

  1. 范式化
    所谓的范式化,就是一系列设计数据库模型的规则,范式化的目的是减少数据冗余,提高数据完整性。

  2. 反范式化
    所谓反范式化,是一种对范式化设计的数据库的性能优化策略,通过在表中增加冗余或重复的数据来提供数据库的读取性能。
    没有冗余的数据库不一定是最好的数据库,有时为了提高查询效率,就必须降低范式标准,适当保留冗余数据。具体操作就是在一个表中增加别一个表的冗余字段,减少了两个表查询时的关联,从而提高查询效率。

  3. 三范式
    第一范式:是对属性的原子性约束,要求属性具有原子性,不可再分解。
    第二范式:是对记录的唯一性约束,要求记录有唯一标识,即实体的唯一性。
    第三范式:是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。

  4. 范式化优缺点
    1)范式的优点

    1. 数据库更新起来更加快;
    2. 可以只修改更少的数据;
    3. 更少的 distinct、group by 语句;
    4. 表更少,可以在内存中执行;

    2)范式的缺点

    1. 范式化没有冗余数据,查询会产生较多关联,并且不能建议复合索引,所以查询性能会大大降低。
  5. 反范式优缺点
    1)反范式化的优点

    1. 可以避免关联查询;
    2. 可以设计 有效的索引;
    3. 可以提高查询速度;
      2)反范式的缺点
    4. 表内如果有冗余字段,删除被冗余表的数据时候会造成冗余表有些有用的信息丢失。
  6. 数据库设计时怎么使用范式?
    在设计数据库时,不一定强制要求使用标准范式化设计,可以进行一定的调整。
    一般的设计是混用范式化和反范式化,适度进行数据冗余,以提高查询性能。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值