黑马程序员 数据库 函数依赖

原创 2013年12月04日 14:02:27
---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------



候选码就是唯一决定关系模式中某一记录的属性组;主码就是从候选码中挑选一个作为主码,主码的简称为码


1.数据依赖
在计算机科学中,数据依赖是指一种状态,当程序结构导致数据引用之前处理过的数据时的状态。其中最重要的是函数依赖和多值依赖。


2.函数依赖
设X,Y是关系R的两个属性集合,当任何时刻R中的任意两个元组中的X属性值相同时,则它们的Y属性值也相同,则称X函数决定Y,或Y函数依赖于X。(函数依赖简单点说就是:某个属性集决定另一个属性集时,称另一属性集依赖于该属性集。函数依赖就是确定一(主键:主键=主码!=主属性)对一(非主键属性)的关系)


3.平凡函数依赖
当关系中属性集合Y是属性集合X的子集时(Y不包含于X),存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。


4.非平凡函数依赖
当关系中属性集合Y不是属性集合X的子集时,存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖。


5.完全函数依赖
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。


6.部分函数依赖
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。


7.传递函数依赖
设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。


8.多值依赖
设R(U)是属性集U上的一个关系模式。X、Y、Z是U的子集,并且Z=U-X-Y。关系模式R中多值依赖X→→Y成立,当且仅当对于R的任一关系r,给定的一对(x,z)值,有一组y的值,这组值仅仅决定于x值而与z值无关。




范式


1NF
原始定义:关系模式的所有属性为不可在分的原子类型时,则关系为1NF


2NF
相当于在1NF的前提下消除部分函数依赖
原始定义:若关系模式R∈1NF,并且每个非主属性都完全函数依赖于R的码,则R∈2NF


3NF
相当于1NF的前提下消除部分函数依赖的同时,消除传递函数依赖
原始定义:如果关系模式R<U,F>不存在候选码X,属性组Y,以及非主属性Z(Z不包含于Y),使得X→Y,(X不函数依赖于Y),Y→Z成立,则R∈3NF


BCNF
相当于1NF的前提下消除部分函数依赖,消除传递函数依赖,消除主属性对码的部分依赖
设关系模式
原始定义:关系模式R<U,F>∈1NF,若X→Y且Y不包含于X时,X必含有码,则R<U,F>∈BCNF


4NF
相当于BCNF的前提下消除多值依赖


原始定义:关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y不包含于X)X都含有码,则R∈4NF


解决办法:分解此关系模式为多个表,然后再确定关系




5NF(请百度)


个人总结:最好每个为要操作的对象创建一个基本表,然后他们之间只建立两两之间的多对多表,对于多于两个实体之间的关系,用两两实体间的关系建立间接关系。



---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net

【数据库】函数依赖和规范化

函数依赖        在数据库中,关系模式中的属性值之间会发生联系。譬如每个学生只有一个姓名,每门课程只能有一个任课老师。这类联系就称为函数依赖(functional dependency...
  • Gnd15732625435
  • Gnd15732625435
  • 2016年11月01日 16:51
  • 1491

数据库函数依赖和范式理论学习总结

平凡函数依赖: 如果X→Y,但Y  X,则称X→Y是非平凡的函数依赖; 若X→Y,但Y Í X,   则称X→Y是平凡的函数依赖。 在关系SC(Sno, Cno, Grade)【学号,课程号,成...
  • wu020708
  • wu020708
  • 2016年08月31日 22:42
  • 712

数据库范式及函数依赖

关系数据库设计范式介绍   .1 第一范式(1NF)无重复的列   所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重...
  • qiumm
  • qiumm
  • 2010年09月10日 21:19
  • 13719

【数据库复习】函数依赖

如果我们要设计关系型数据库的表模式,则很有可能会出现冗余,为了避免这种情况,我们需要一些规则,这些规则称为依赖。 函数依赖简单地说就是属性集A推导出属性集B,比如 给定这些规则之后,如果某个关...
  • xiazdong
  • xiazdong
  • 2012年04月27日 21:03
  • 35768

函数依赖及数据库范式

1、函数依赖   (1)简介     定义:设U{A1,A2,…,An}是属性集合,R(U)是U上的一个关系,x、y是U的子集。若对于R(U)下的任何一个可能的关系,   均有x的一个值对应于...
  • fightfaith
  • fightfaith
  • 2016年02月16日 12:21
  • 978

数据库函数依赖思路整理

由于这一知识点看的有点费劲,所以在此整理一下自己的思路。 定义 简单来看就是:一个属性集的值可以决定另一个属性集的值,当某个属性集的值确定以后另一个属性集的值也就确定了。 逻辑蕴涵 ...
  • u013030441
  • u013030441
  • 2014年09月14日 20:24
  • 1100

数据库基础1—函数依赖 多值依赖

在数据库知识中有讲到数据库的函数依赖,
  • xietingcandice
  • xietingcandice
  • 2014年09月16日 13:47
  • 5556

【数据库学习】 之 函数依赖及其公理/定理

思维导图一、总概括(1)函数依赖====习题-1====(1.1)函数依赖的特性====习题-2====(1.2)部分或完全函数依赖====习题-3====(1.3)传递函数依赖====习题-4===...
  • fanfan4569
  • fanfan4569
  • 2016年12月28日 17:18
  • 878

数据库 - 关系模式函数依赖

关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式 数据库逻辑设计的工具──关系数据库的规范化理论 关系模式由五部分组成,即它是一个五元组: ...
  • wangzi11322
  • wangzi11322
  • 2015年05月07日 09:09
  • 3426

关系型数据库、范式、函数依赖

重拾旧梦——关系数据库 第一节:基本概念 1、关系模型:采用基本的二维表的概念来组织、管理、存储数据。包括的小概念:(1)关系名:也就是我们常用的表名、(2)属性名:表中列名、(3)关系模式(Sche...
  • chenghuaying
  • chenghuaying
  • 2013年10月07日 20:15
  • 5553
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员 数据库 函数依赖
举报原因:
原因补充:

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