- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.2函数依赖.ppt
6.2 函数依赖 ; 属性间的联系可分为以下三类:
1. 一对一关系(1∶1)
以职工模式为例: 职工(职工号,姓名,职称,部门),如果该企业(或单位)中职工无重名,则属性职工号与姓名之间是1∶1关系。 一个职工号唯一地决定一个姓名,一个姓名也可决定唯一的职工号。
设X、 Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中至多有一个值与之对应,且反之亦然,则称X、 Y两属性间是一对一关系。
; 2. 一对多关系(1∶m)
职工模式中,职工号和职称间是一对多关系。 一个职工号只对应一种职称(如胡一民只能对应工程师),但一种职称却可对应多个职工号(如工程师可对应多名职工)。
设X、 Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中至多有一个值与之对应,而Y中的一个值却可以和X中的n个值(n≥0)???对应,则称Y对X是一对多关系。 ; 3. 多对多关系(m∶m)
在职工模式中,职称和部门之间是多对多关系。 一种职称可分布在多个部门中(如每一个部门中均可有工程师),而一个部门中也可有多个职称。
设X、 Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中有m(m≥0)个值与之对应,而Y中的一个值也可以和X中的n个值(n≥0)相对应,则称Y对X是多对多关系。
; 上述属性间的三种关系实际上是属性值之间相互依赖又相互制约的反映,称为属性间的数据依赖。 数据依赖是现实世界属性间相互联系的抽象,是世界内在的性质,是语义的体现。
数据依赖共有三种: 函数依赖(Functional Dependency,简称FD)、 多值依赖(Multivalued Dependency,简称MVD)和连接依赖(Join Dependency,简称JD),其中最重要的是函数依赖和多值依赖。
; 6.2.2 函数依赖
函数依赖是属性之间的一种联系。 假设给定一个属性的值,就可以唯一确定(查到)另一个属性的值。 例如,知道职工号的值,可以得出其对应的职称的值。 如果这种情况成立, 就可以说职称函数依赖于职工号。
定义 1 所谓函数依赖是指在关系R中,X、 Y为R的两个属性或属性组,如果对于R的所有关系r都存在: 对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。 ; 或者说,属性X函数决定属性Y,记作X→Y。 其中X叫决定因素,Y叫被决定因素。
此定义可简单表述为: 如果属性X的值决定属性Y的值,那么属性Y函数依赖于属性X。 换一种说法是,如果知道X的值,就可以获得Y的值。
(1) 若Y函数不依赖于X,记作X→Y。
(2) 若X→Y,Y→X,记作XY。
前面讨论的属性间的三种关系,并不是每一种关系中都存在函数依赖。
; (1) 如果两属性集X、 Y间是1∶1关系,则存在函数依赖: XY。 如职工关系模式中,如果不允许同名职工存在,则有: 职工号姓名。
(2) 如果两属性集X、 Y间是1∶m关系,则存在函数依赖: X→Y。 如: 职工号→职称,职工号→部门。
(3) 如果两属性集X、 Y间是m∶n关系,则不存在函数依赖。 如职称与部门之间即如此。
; 我们再以关系模式学生课程为例,来说明属性间的函数依赖。
设关系模式为: 学生课程(学生号,课程号,成绩,教师,教师办公室),在该关系中,成绩要由学生号和课程号共同确定,但教师和教师办公室由课程号决定,所以此关系中包含了以下四种函数依赖关系: (学生号,课程号)→成绩; 课程号→教师; 课程号→教师办公室; 教师→教师办公室注意,属性间的函数依赖不是指R的某个或某些关系满足上述限定条件,而是指R的一切关系都要满足定义中的限定。 只要有一个具体关系r不满足定义中的条件,就破坏了函数依赖,使函数依赖不成立。 ; 6.2.3 码的定义
在前面章节中我们已对码进行了直观的定义,下面用函数依赖的概念对码作出较为精确的形式化的定义。
定义 2 设K是关系模式R(U,F)中的属性或属性组,K′是K的任一真子集。 若K→U,
文档评论(0)