数据库设计五个范式

1NF:数据库表中的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

2NF:关系模型R满足INF,消除部分依赖,每一个非主属性完全依赖于任何一个候选码。举个例子,选课关系表(学号,课程号,分数,学分),其中(学号,课程号)是关键码,但是存在学分依赖于课程号这样部分依赖的关系就不符合第二范式的要求。

3NF:关系模型R满足第二范式,消除非主属性传递依赖,每个非主属性既不部分依赖也不传递依赖于主码。

BCNF:关系模型满足第二范式,消除所有属性传递依赖(包括主属性)。例如:(S,J)->T,(S,T) ->J,T -> J, (S,J)、(S,T)、T三个都是候选码,但是其中存在传递依赖,所以不属于BCNF

4NF:符合BCNF,消除多值依赖。例如,职工表(职工编号,职工孩子姓名,职工选修课程),在这个表中,同一个职工可能会有多个职工孩子姓名,同样,同一个职工也可能会有多个职工选修课程,即这里存在着多值事实,不符合第四范式。如果要符合第四范式,只需要将上表分为两个表,使它们只有一个多值事实,例如职工表一(职工编号,职工孩子姓名),职工表二(职工编号,职工选修课程),两个表都只有一个多值事实,所以符合第四范式。

 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值