mysql一级范二级范_MySQL数据库基础-2范式

数据库结构设计

范式

设计数据库的规范 第12345范式,凡是之间有依赖关系。

关系模型的发明者埃德加·科德最早提出这一概念,并于1970

年代初定义了第一范式、第二范式和第三范式的概念

设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,不同的规范要求被称为不同范

式,各种范式呈递次规范,越高的范式数据库冗余越小

第一范式 1NF

没有重复的列,每一列都是不可分割的基本数据项

同一列里不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性,确保每一列的原子性。

说明:第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库

多个主键组合起来的,称为复合主键

复合主键违反了第二范式

第二范式

属性完全依赖于主键,

第二范式必须先满足第一范式,

要求表中的每个行必须可以被唯一地区分,

通常为表加上每行的唯一标识PK,

非PK的字段需要与整个PK有直接相关性 重点在整个!

第三范式

属性不依赖于其它非主属性,满足第三范式必须先满足第二范式。

第三范式要求一个数据表中不包含已在其它表中已包含的非主关键字信息

非PK的字段间不能有从属关系

范式得意义

好处

1.范式越多,数据库设计约严谨

2.范式越多,空间越节约

带来的问题

1.复杂性越高

2.效率越低

达到第三范式生产中就够用了,第四第五范式生产中很少用到

学习范式就是为了违反范式,追求高性能,故意违反范式

第四范式

巴斯-科德范式(BCNF)

Boyce-Codd Normal Form(巴斯-科德范式)

在3NF基础上,任何非主属性不能对主键子集依赖(在3NF基础上消除对主码子集的依赖)

巴斯-科德范式(BCNF)是第三范式(3NF)的一个子集,即满足巴斯-科德范式(BCNF)必须满足第三范式(3NF)。通常情况下,巴斯-科德范式被认为没有新的设计规范加入,只是对第二范式与第三范式中设计规范要求更强,因而被认为是修正第三范式,也就是说,它事实上是对第三范式的修正,使数据库冗余度更小。这也是BCNF不被称为第四范式的原因。某些书上,根据范式要求的递增性将其称之为第四范式是不规范,也是更让人不容易理解的地方。而真正的第四范式,则是在设计规范中添加了对多值及依赖的要求。

第五范式

第五范式是指关系模式R依赖均由R候选码所隐含。 这都开始不说人话了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值