函数依赖,数学术语之一

更新时间:2022-10-26 11:21:35 阅读: 评论:0

简介

设R(U)是一个属性集U上的关系模式,X和Y是U的子集。

若对于R(U)的任意两个可能的关系r1、r2,若r1[x]=r2[x],则r1[y]=r2[y],或者若r1[y]不等于r2[y],则r1[x]不等于r2[x],称X决定Y,或者Y依赖X。

上面一段话是某些教材上的话,比较不好理解。比如在设计学生表时,一个学生的学号能决定学生的姓名,也可称姓名属性依赖于学号,对于现实来说,就是如果知道一个学生的学号,就一定能知道学生的姓名,这种情况就是姓名依赖于学号,这就是函数依赖,函数依赖又分为非平凡依赖,平凡依赖;从性质上还可以分为完全函数依赖、部分函数依赖和传递函数依赖。

Y=f(x)

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。

说明

概念

1.函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。

2.函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。

例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立

3.数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在,则拒绝装入该元组。

属性关系

属性之间有三种关系,但并不是每一种关系都存在函数依赖。设R(U)是属性集U上的关系模式,X、Y是U的子集:

●如果X和Y之间是1:1关系(一对一关系),如学校和校长之间就是1:1关系,则存在函数依赖X→Y和Y→X。

●如果X和Y之间是1:n关系(一对多关系),如年龄和姓名之间就是1:n关系,则存在函数依赖Y→X。

●如果X和Y之间是m:n关系(多对多关系),如学生和课程之间就是m:n关系,则X和Y之间不存在函数依赖。

案例分析

例:Student(Sno,Sname,Sx,Sage,Sdept)

假设不允许重名,则有:

Sno→Sx,Sno→Sage,Sno→Sdept,

Sno←→Sname,Sname→Sx,Sname→Sage

Sname→Sdept

但Sx-→Sage

若X→Y,并且Y→X,则记为X←→Y。

若Y不函数依赖于X,则记为X-→Y。

在关系模式R(U)中,对于U的子集X和Y,

1.如果X→Y,但Y不为X的子集,则称X→Y是非平凡的函数依赖

例:在关系SC(Sno,Cno,Grade)中,

非平凡函数依赖:(Sno,Cno)→Grade。

2.若X→Y,但Y为X的子集,则称X→Y是平凡的函数依赖

平凡函数依赖:(Sno,Cno)→Sno,(Sno,Cno)→Cno。

3.若x→y并且,存在x的真子集x1,使得x1→y,则y部分依赖于x。

例:学生表(学号,姓名,性别,班级,年龄)关系中,

部分函数依赖:(学号,姓名)→性别,学号→性别,所以(学号,姓名)→性别是部分函数依赖。

4.若x→y并且,对于x的任何一个真子集x1,都不存在x1→y则称y完全依赖于x。

例:成绩表(学号,课程号,成绩)关系中,

完全函数依赖:(学号,课程号)→成绩,学号-→成绩,课程号-→成绩,所以(学号,课程号)→成绩是完全函数依赖。

5.若x→y并且y→z,而y-→x,则有x→z,称这种函数依赖为传递函数依赖。

例:关系S1(学号,系名,系主任),

学号→系名,系名→系主任,并且系名-→学号,系主任-→系名,所以学号→系主任为传递函数依赖。

本文发布于:2022-10-26 11:21:35,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/83/380379.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数依赖
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图