MYSQL范式

一、第一范式(1 Normal Form ) 

        数据库表中的字段都是单一属性的,即属性应该是不可再分的。

二、第二范式(2Normal Form)

        在1NF的基础上,非码属性必须完全依赖于码(候选码 可以根据候选码确定表中其他所有属性的属性,码可以有多个,一般会选择一个主码)。

三、第三范式(3Normal Form)

        即在2NF基础上,任何非主属性不依赖于其它非主属性。(所有非主属性必须直接依赖于主键,而不能通过其他非主属性间接依赖主键。)

BC范式(巴斯-科德范式 、BCNF范式、BC范式)

        在3NF的基础上,消除主属性对于候选键的部分函数依赖和传递函数依赖。(主属性不能与其他主属性子集存在依赖)

四、第四范式(4Normal Form)

        在BC范式的基础上,消除属性间非平凡且非函数依赖的多值依赖(多值依赖是指表中的字段之间存在一对多的关系,也就是一个字段的具体值会由多个字段来决定),如果存在多个独立的多值依赖关系,则必须将这些依赖关系分解成单独的关系模式。每个分解后的模式都应只包含一组相关的数据,以减少数据冗余并提高数据的一致性和完整性。

五、第五范式(5Normal Form)

        在4NF的基础上,关系模型R依赖均由R候选码所隐含,是指在连接时,所连接的属性均为候选码。(消除关系中的所有冗余)

反范式

        范式的优点是明显的,它避免了大量的数据冗余,节省了存储空间,保持了数据的一致性。但是在有些业务场景优化时,反范式也是一种优化思路,可以通过在数据表中增加冗余字段来提高数据库的读性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何心而为殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值