数据库三大范式(简单浅显,面试应急)

设计数据库的三大范式

主要参考这篇文章,侵权请联系

本人做了一些简单的总结:

1、第一范式(不可再分)
任意一个列【字段】都不可再分
举例:
假设有一个字段叫【联系电话】,真实业务场景【联系电话】有2大类:【办公联系电话】、【私人联系电话】。
所以,若要满足第一范式,【联系电话】这个字段应该改为【办公联系电话】+【私人联系电话】。

2、第二范式(完全依赖于主键)
非主键列要 完全 依赖于主键列

举例:
假设有一个联合主键为:{【订单号】+【客户号】}
其他的非主键列为:【订单金额】、【客户地址】、【折扣力度】
我们假设【折扣力度】是根据:客户下了何种订单以及客户的身份决定的,那么【折扣力度】完全依赖于【联合主键】
我们假设【客户地址】只与【订单号】有关,那么【客户地址】就不完全依赖于【联合主键】,它只 部分 依赖于主键,此时便不满足第二范式

3、第三范式(直接依赖于主键)
非主键列要 直接 依赖于主键列

举例:
主键为A,非主键B,非主键C
C先依赖于B建立了关系,B依赖于A建立了关系
由此,C 间接 依赖于A建立了关系
A与C的依赖关系是通过B间接形成的,所以就不符合第三范式

PS:满足第二范式,必须先满足第一范式;满足第三范式,必须先满足第二范式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值