SQL基础(巧记范式)

第一范式介绍:

如果关系模式R中的所有属性都是基本属性,即每个属性都是不可分的,那么R属于第一范式
例:表中的高级职称人数(含有“教授”和“副教授”这两个基本属性组成),所以它不是基本属性,所有不属于第一范式。

 

第二范式简介:

如果R属于第一范式,且每个非主属性完全依赖于主码,就属于第二范式

例:score表中的(sno,cno,grade),主键由sno,cno 共同组成,grade完全依赖于主键,所以score表属于第二范式

S-L-C(sno,sname,ssex,sdept,sloc,cno,grade) 由于sname依赖于sno 而不是依赖于sno和cno的联合主键,所以S-L-C表不符合第二范式

分解主键,然后将只有主键构成的子集删除

S-L-C(sno,sname,ssex,sdept,sloc,cno,grade)
分解:
(sno,sname,ssex,sdept,sloc)
(cno)
(sno,cno,grade)

去除只有主键的子集
得:
(sno,sname,ssex,sdept,sloc)
(sno,cno,grade)

第三范式简介:

如果关系模型属于第二范式,且每个非主属性都不传递依赖于主码 ,则该关系模型R属于第三范式
例如:S-L(sno,sname,ssex,sdept,sloc)
其中 sdept依赖于sno,sloc依赖于sdept,所以存在传递依赖
固进行分解:
(sno,sname,ssex,sdept)
(sdept,sloc)
(sno,cno,grade)

 

BC范式简介:

这是一种为了解决第三范式的冗余性问题和更新的问题提出的


例子:
csz(city,street,zip)
城市,街道,邮编
zip依赖于(city、street)
city依赖于zip
所以进行分解
ZC(zip,city)
SZ(street,city)

转载于:https://www.cnblogs.com/Stakes-ds/p/8443341.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值