我对数据范式的理解!

原创 2004年06月25日 10:06:00

第一范式(1NF):

如果关系模式R的每个关系都是r的属性值不可分割的原子值,则称关系R是第一范式的模式.

不满足第一范式的情况:
关系R(name,address,phone)
----------------------------------------------------------------------
name       address     phone

 AA        湖南长沙    2204446
 AA        湖南长沙    8350524
----------------------------------------------------------------------
说明:phone可以再分(可以分为phone1和phone2).

*************************************************************************************

第二范式(2NF):

1):局部依赖:
对于依赖关系 W->A (A依赖于W),如果存在X归属于W,且X->A(A依赖于X),那么称W->A是局部依赖;否则称W->A是完全依赖.
比如:
关系模式R(sno,cno,grade,tname,taddr)
sno:学生学号;cno:课程编号;grade:成绩;tname:老师姓名;taddr:老师住址
(sno,cno)->(tname,taddr)(sno,cno决定于tname以及cno)是局部依赖,因为cno->(tname,taddr).

2):二范式定义:
如果关系模式R满足第一范式,且每个非主属性完全依赖于侯选键,则称R满足第二范式.

不满足第二范式的情况:
关系模式R(sno,cno,grade,tname,taddr)
sno:学生学号;cno:课程编号;grade:成绩;tname:老师姓名;taddr:老师住址
----------------------------------------------------------------------
sno         cno          grade          tname        taddr

101         001           100           张老师       湖南长沙....
102         001           95            张老师       湖南长沙....
103         001           98            张老师       湖南长沙....
104         002           95            李老师       湖南常德....
105         003           90            刘老师       湖南衡阳....
----------------------------------------------------------------------
说明:出现相同的tname,taddr三次
消除方法:分解关系模式R
----------------------------------------------------------------------
R1(sno,cno,grade)

sno         cno          grade         

101         001           100
102         001           95
103         001           98
104         002           95
105         003           90


R2(cno,tname,taddr)

cno        tname          taddr

001        张老师         湖南长沙....
002        李老师         湖南常德....
003        刘老师         湖南衡阳....
----------------------------------------------------------------------

*************************************************************************************

第三范式(3NF):

1):传递依赖:如果X->Y,Y->A,且Y不依赖X和A不是Y的子集,那么称X->A是传递依赖.(A传递依赖于X)

2):三范式定义:
如果关系模式R是1NF,且每个非主属性都不依赖于R的侯选键,那么称R满足第三范式.

不满足第三范式的情况:
关系模式R2(cno,tname,taddr)是2NF模式,如果在R2中存在cno->tname,tname->taddr,那么cno->taddr就是个传递依赖,及不满足第三范式.
----------------------------------------------------------------------
cno        tname          taddr

001        张老师         湖南长沙....
002        李老师         湖南常德....
003        刘老师         湖南衡阳....
004        张老师         湖南长沙....
005        张老师         湖南长沙....
----------------------------------------------------------------------
说明:张老师开设了3门课程,上面就出现了3个元组,教师地址重复了3次.
消除方法:分解关系模式R2
----------------------------------------------------------------------
R3(cno,tname)

cno        tname         

001        张老师
002        李老师
003        刘老师
004        张老师
005        张老师

R4(tname,taddr)

tname          taddr

张老师         湖南长沙....
李老师         湖南常德....
刘老师         湖南衡阳....
----------------------------------------------------------------------

 

数据库范式通俗理解

基础概念  要理解范式,首先必须对知道什么是关系数据库,如果你不知道,我可以简单的不能再简单的说一下:关系数据库就是用二维表来保存数据。(可以参看我给你发的数据库方面的资料)然后你应该理解以下概念...
  • Kaiwii
  • Kaiwii
  • 2012年03月18日 09:45
  • 6775

关于大数据的一些个人理解

前几天商学院的校友问了我几个关于大数据的问题,一看都是非常专业且典型的问题, 相信大家听这个词听得太多了也有很多疑问,于是我总结了下自己的理解,欢迎一起讨论。 1. 现在大数据很时髦,多大的数...
  • witforeveryang
  • witforeveryang
  • 2014年12月23日 20:02
  • 1083

数据库三大范式最简单的解释

关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)...
  • andywuchuanlong
  • andywuchuanlong
  • 2014年05月15日 20:33
  • 4093

浅谈对软件工程的理解

SA17225439 阳晴 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006 在学习《软件工程(C编码实践...
  • qq_28946537
  • qq_28946537
  • 2017年11月08日 19:02
  • 277

对关系型数据库五个范式的理解

复习了一下数据库的五个范式,这里不用公式,用尽可能少的术语说说理解。 之所以使用范式,往往是设计不规范的数据库表可能造成大量的数据冗余,也可能在发生插入、删除、修改操作后出现各种各样的不合理的问题。...
  • huzhaomu945
  • huzhaomu945
  • 2016年10月15日 10:56
  • 2124

L1范式和L2范式

L0范数是指向量中非0的元素的个数。 L1范数是指向量中各个元素绝对值之和。 既然L0可以实现稀疏,为什么不用L0,而要用L1呢?个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是...
  • findsd1989
  • findsd1989
  • 2015年06月09日 21:15
  • 4989

我对管理和领导的理解

关于管理或者领导,一直来我觉得这两个词没什么不一样,以前一听到这个词我想到的就是,命令、权力、心思缜密、发号施令、一脸严肃、好斗争、内心极度压抑、官僚、受贿、上巴结下掠夺等等。因此,我从内心上极度不愿...
  • CatherineJChen
  • CatherineJChen
  • 2015年11月09日 15:46
  • 348

谈谈我对计算机专业的理解

记得填报志愿的时候,为了能够更多的接触电脑,我毅然选择了自己本不熟悉的计算机,谈不上喜欢,就是好奇。 结果这么一学,也许就定格了人生,大学四年浑浑噩噩,不是自己没有目标,而是目标太多了,没有重点、没...
  • zi_jun
  • zi_jun
  • 2012年03月08日 00:11
  • 5357

简单的理解数据库三范式

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中...
  • z1002137615
  • z1002137615
  • 2016年03月09日 16:34
  • 707

第一二三范式的简单理解

第一范式(无重复的列) 定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性 通俗解释:一个字段只存储一项信息 ...
  • qq_15037231
  • qq_15037231
  • 2017年03月12日 19:49
  • 1190
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我对数据范式的理解!
举报原因:
原因补充:

(最多只允许输入30个字)