永发信息网

什么是完全函数依赖

答案:2  悬赏:70  手机版
解决时间 2021-12-26 08:30
  • 提问者网友:太高姿态
  • 2021-12-25 10:09
什么是完全函数依赖
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-12-25 10:40
问题一:数据库中 完全函数依赖,部分函数依赖 传递函数依赖, 是什么? 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。
参考资料:数据库原理及应用问题二:部分函数依赖和完全函数依赖的区别 部分函数依赖和完全函数依赖的区别
部分函数依赖: 若x->y 并且,存在X的真子集x1,使得x1->y,则 y部分依赖于 x。
完全函数依赖:若x->y并且,对于x的任何一个真子集x1,都不存在x1->y 则称y完全依赖于x。
例子:{a,b}->{c} 同时{a}->{c}或者{b}->{c} 则{c}部分依赖于{a,b}问题三:数据库中“完全函数依赖,部分函数依赖 传递函数依赖”是什么? 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.传递函数依赖参考资料:数据库原理及应用问题四:函数依赖怎么理解 一、函数依赖概念
函数依赖是从数学角度来定义的,在关系中用来刻画关系各属性之间相互制约而又相互依赖的情况。函数依赖普遍存在于现实生活中,比如,描述一个学生的关系,可以有学号、姓名、所在系等多个属性,由于一个学号对应一个且仅一个学生,一个学生就读于一个确定的系,因而当“学号”属性的值确定之后,“姓名”及“所在系”的值也就唯一地确定了, 此时, 就可以称“姓名”和“所在系”函数依赖于“学号”,或者说“学号”函数决定“姓名”和“所在系”,记作:学号→姓名、学号→所在系。下面对函数依赖给出确切的定义。
定义:设U{A1,A2,…,An}是属性集合,R(U)是U上的一个关系,x、y是U的子集。若对于R(U)下的任何一个可能的关系, 均有x的一个值对应于y的唯一具体值,称y函数依赖于x,记作x→y。 其中x称为决定因素。进而若再有y→x,则称x与y相互依赖,记作x←→y。例如表1.2所示“系”关系中:如果系名值是唯一的,即各系名均不相同,那么有函数依赖集:
系代码→系名,系代码→系地址,系代码→系电话,系代码→系专业设置。
系名→系代码,系名→系地址,系名→系电话,系名→系专业设置。
可见,系名与系代码相互依赖,记作系名←→系代码。
函数依赖中还可细分为多种函数依赖,分别介绍如下:
二、部分函数依赖
设R(U)是属性集U上的关系,x、y是U的子集,x’是x的真子集,若x→y且x’→y,则称y部分依赖x,记作X→PY。显然,当且仅当x为复合属性组时,才有可能出现部分函数依赖。
例如表1.6中, 显然有课程号→课程名,课程号→开课教研室代码。从另一角度看,只要课程号一定,同时课程名确定,开课教研室也就唯一确定,因此课程号+课程名→开课教研室代码。 但它与前述课程号→开课教研室代码是不同的,因为{课程号,课程名}存在真子集:“课程号”,课程号→开课教研室代码,我们把课程号十课程名→开课教研室代码称为“开课教研室代码”部分函数依赖于课程号+课程名。
三、完全函数依赖
设R(U)是属性集U上的关系,x、y是U的子集,x’是x的真子集。若对于R(U)的任何一个可能的关系,有x→y但x’→y,则称y完全函数依赖于x,记作X→FY。
所谓完全依赖是说明在依赖关系的决定项(即依赖关系的左项)中没有多余属性,有多余属性就是部分依赖。
例如设关系模式R,R=R(学号,姓名,班号,课程号,成绩),易知:
“(学号,班号,课程号)→成绩”是R的一个部分依赖关系。 因此有决定项的真子集(学号,课程号),使得“(学号,课程号)→成绩”成立,且“学号→成绩”或“课程号→成绩”成立,“(学号,课程号)→ 成绩”是R的一个完全依赖关系。
四、传递函数依赖
设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。
例如在一个学校中,每门课均是某一位老师教,但有些老师可教多门课,则有关系“教学”如表3.1所示。
由以上关系不难分析,课程名→职工号、职工号→课程名,但职工号和其他属性的函数关系中都是决定因素,即职工号→老师名、职工号→职称,在这种情况下,老师名、职称传递函数依赖于课程名。
表3.1 教学表
课程名
职工号
老师名
性别
出生日期
职称英语
T1
张平

55.6.3
教授
......余下全文>>问题五:完全函数依赖的介绍 完全函数依赖(Full functional dependency):在一个关系中,若某个非主属性数据项依赖于全部关键字称之为完全函数依赖。问题六:函数依赖的函数依赖的说明 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, Ssex, Sage, Sdept)假设不允许重名,则有:Sno → Ssex, Sno → Sage , Sno → Sdept,Sno ←→ Sname, Sname → Ssex, Sname → SageSname → Sdept但Ssex -\→ 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) → Grade2.若 X → Y,但 Y 为 X 的子集, 则称 X → Y 是平凡的函数依赖平凡函数依赖: (Sno, Cno) → Sno ,(Sno, Cno) → Cno3.若 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(学号,系名,系主任),学号 → 系名,系名 → 系主任,并且 系名 -\→ 学号,所以 学号 → 系主任 为传递函数依赖问题七:函数依赖可分为哪三种 1.
部分函数依赖设R(U)是属性集U上的关系,x、y是U的子集,x’是x的真子集,若x→y且x’→y,则称y部分依赖x,记作X→PY。显然,当且仅当x为复合属性组时,才有可能出现部分函数依赖。
例如表1.6中, 显然有课程号→课程名,课程号→开课教研室代码。从另一角度看,只要课程号一定,同时课程名确定,开课教研室也就唯一确定,因此课程号+课程名→开课教研室代码。 但它与前述课程号→开课教研室代码是不同的,因为{课程号,课程名}存在真子集:“课程号”,课程号→开课教研室代码,我们把课程号十课程名→开课教研室代码称为“开课教研室代码”部分函数依赖于课程号+课程名。
2.
完全函数依赖设R(U)是属性集U上的关系,x、y是U的子集,x’是x的真子集。若对于R(U)的任何一个可能的关系,有x→y但x’→y,则称y完全函数依赖于x,记作X→FY。
所谓完全依赖是说明在依赖关系的决定项(即依赖关系的左项)中没有多余属性,有多余属性就是部分依赖。
例如设关系模式R,R=R(学号,姓名,班号,课程号,成绩),易知:
“(学号,班号,课程号)→成绩”是R的一个部分依赖关系。 因此有决定项的真子集(学号,课程号),使得“(学号,课程号)→成绩”成立,且“学号→成绩”或“课程号→成绩”成立,“(学号,课程号)→ 成绩”是R的一个完全依赖关系。
3.
传递函数依赖设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。
例如在一个学校中,每门课均是某一位老师教,但有些老师可教多门课,则有关系“教学”如表3.1所示。
由以上关系不难分析,课程名→职工号、职工号→课程名,但职工号和其他属性的函数关系中都是决定因素,即职工号→老师名、职工号→职称,在这种情况下,老师名、职称传递函数依赖于课程名。
全部回答
  • 1楼网友:由着我着迷
  • 2021-12-25 11:18
你的回答很对
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯