第一二三范式

1.概念定义

第一范式:如果关系模式R所有的属性均为简单属性,即每个属性都是不可分的,则称R属于第一范式,简记为1NF,记做R∈1NF。

第二范式:如果关系模式R∈1NF,且每个非主属性完全函数依赖于R的候选键,则称R属于第二范式,简记为2NF,记为R∈2NF。

第三范式:如果关系模式R∈2NF,并且每个非主属性不传递函数依赖于R的候选键,则称R属于第三范式,简记为3NF,记为R∈3NF。

2.学习心得

如加粗字体可见,每个范式都是对属性做出了一些限制,如果一个表中的属性,不满足某一范式的标准,则需要将其拆解成两张或者多张表结构。

第一范式所作出的规范是,行列无序,列不可再分,满足基本表的原子性。

第二范式所作出的规范是,要有唯一主键,其他非主属性,都要依赖于这个主属性。

第三范式所作出的规范是,不能有传递依赖的情况,即只有父子结构,不能出现父子孙的结构。

拿个例题来解释一下第二范式和第三范式:

有表Student(Sno,Sname,Sage,Sdept,Mname,Cno,Cname),其中Sno,Sname,Sage,Sdep为学生的基本信息,即学号、姓名、年龄、专业。Mname为导师。Cno,Cname分别是课程编号和课程名称。Sno、Cno分别是两个主键。

若要让此表满足第二范式,则需将连个主键划分到不同的表中。即添加Class表,Class(Cno,Cname),Student(Sno,Sname,Sage,Sdept,Mname)。

在Student表中有这样的结构Sno→Sdept→Mname,即Mname不是直接依赖于Sno,而是通过Sdept间接依赖于Sno。所以这不满足3NF。若要满足3NF,应新建表D(Mname,Sdept),将Mname从Student表中删除。

转载于:https://www.cnblogs.com/chlde/archive/2012/12/03/2799844.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值