问十三:说说数据库范式?

 

 

1NF:强调的是列的原子性,即一个列不能再分成其它几列

2NF:首先强调必须满足1NF,其次满足:一是表必须包含主键;而是非主键的列不能部分依赖主键,必须完全依赖。

3NF:首先遵循前面两个范式,同时任何非主属性不依赖其它非主属性(即非主属性之间不能相互依赖)

 

范式化设计的优点:

避免数据库冗余(在范式化设计中一个数据只出现一次,相反在反范式设计中数据可能会被冗余存储在不同的表中)

减少数据库的空间且范式级别越高数据冗余越少。

注:所谓的减少数据冗余是指通过新建一张表来代替原来那些数据重复出现的冗余字段。

 

缺点:

等级越高设计出的表就越多,这样查询时就可能出现多表联合查询使得查询性能降低。

 

反范式化:

就是不满足范式化的模型,可以有适当的数据冗余,减少联合查询,实际就是使用空间来换取时间

    缺点

    除了数据冗余外,还有插入删除问题,即如果要修改某个冗余字段同步修改其它表相同的冗余字段,这个操作比较麻烦(其实就是更新操作代价大,需要更新多个表中的冗余信息)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值