函数依赖是什么(什么是函数依赖)
本文目录
- 什么是函数依赖
- “函数依赖”怎么理解
- 数据库问题:什么是函数依赖的逻辑蕴含
- 部分函数依赖是什么意思
- 数据库问题:什么是多值函数依赖
- 如何写出函数依赖、判断范式级别
- 什么是依赖关系什么是函数关系
- 函数依赖与多值依赖的关系是什么
- 数据库问题:什么是非平凡函数依赖
什么是函数依赖
函数依赖简单点说就是:某个属性集决定另一个属性集时,称另一属性集依赖于该属性集。
“函数依赖”怎么理解
函数依赖是从数学角度来定义的,在关系中用来刻画关系各属性之间相互制约而又相互依赖的情况。
函数依赖普遍存在于现实生活中,比如,描述一个学生的关系,可以有学号、姓名、所在系等多个属性,由于一个学号对应一个且仅一个学生,一个学生就读于一个确定的系,
因而当“学号”属性的值确定之后,“姓名”及“所在系”的值也就唯一地确定了, 此时, 就可以称“姓名”和“所在系”函数依赖于“学号”,或者说“学号”函数决定“姓名”和“所在系”,
记作:学号→姓名、学号→所在系。下面对函数依赖给出确切的定义。
定义:设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所示“系”关系中:如果系名值是唯一的,即各系名均不相同,那么有函数依赖集:
数据库问题:什么是函数依赖的逻辑蕴含
其实你不必限定为数据库中的函数依赖,函数依赖只是数学上的函数关系的一种特殊应用。函数:X → Y;表示:当 X 取值 “确定” 时,Y 的取值也是 “确定” 的;蕴含:P =》 Q;表示:当 P 取值 “为真” 时,Q 的取值也是 “为真” 的; (1)函数所讨论的是 “任意变量”;蕴含只讨论 “命题变量”;(2)函数和蕴含都表达了两个变量之间的一种关系:前一个变量的取值(至少是某些取值) “决定” 了后一个变量的取值;但是:(3)函数中的 “决定”,是对前一个变量(自变量)在一定论域(定义域)内的所有取值均适用的;而在蕴含中,只有在前一个变量(条件)为真时,另一个变量(结论)才有确定的取值——真。仅此一条,就足以说明:蕴含不是函数。(4)利用函数自变量和因变量的取值,可以构造出命题变量,然后就可以建立蕴含关系了:对任意函数:Y = F(X);其任意的自变量 x0,可以构造两个命题:P:X = x0;Q:Y = F(x0); 显然:P =》 Q;即对任意函数的任意一个自变量及其函数值,都可以构造一个蕴含关系。这也算是函数与蕴含之间的一种联系吧!
部分函数依赖是什么意思
部分函数依赖是一个数学用语。在关系模式R(U)中,如果X→Y,并且存在X的一个真子集X0,使得X0→Y,则称Y对X部分函数依赖。
设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于RR(U)的任意一个可能的关系 r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
一般只能根据语义来确定一个函数依赖。例如,姓名一年龄这个函数依赖只有在没有同名人的条件下成立,如果允许有相同名字,则年龄就不再函数依赖于姓名了。设计者也可以对现实世界作强制的规定。
例如不允许同名人出现,因而使姓名→年龄函数依赖成立,若发现有同名人存在,则拒绝装入该元组,这在一般情况下是不合情理的。函数依赖不是指关系模式R的某个或某些关系满足的约束条件。而是指R的一切关系均要满足的约束条件。
例如,学生选课SC(SNO,CNO,GRADE)关系模式,假定在当前的记载中,每个学生都选了一门课程,当前每人只选一门课这一事实并不限定他只能选一门课,只有当制度规定每人只能选一门课时,上述论断才真正构成一个数据依赖。
函数依赖的属性关系:
属性之间有三种关系,但并不是每一种关系都存在函数依赖。设R(U)是属性集U上的关系模式,X、Y是U的子集。
1、如果X和Y之间是1∶1关系(一对一关系),如学校和校长之间就是1∶1关系,则存在函数依赖X→Y和Y→X。
2、如果X和Y之间是1∶n关系(一对多关系),如年龄和姓名之间就是1∶n关系,则存在函数依赖Y→X。
3、如果X和Y之间是m∶n关系(多对多关系),如学生和课程之间就是m∶n关系,则X和Y之间不存在函数依赖。
数据库问题:什么是多值函数依赖
函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y"或“Y函数依赖于X",记作X→Y。*解析:1)函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。2)函数依赖是属性之间的一种联系,体现在属性值是否相等。由上面的定义可以知道,如果X→Y,则r中任意两个元组,若它们在X上的属性值相同,那么在Y上的属性值一定也相同。3)我们要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。4)函数依赖不是指关系模式
如何写出函数依赖、判断范式级别
可能有点复杂,希望你认真看。设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。 X称为这个函数依赖的决定属性集(Determinant)。 Y=f(x) 说明: 1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。 2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立 3. 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。 例: Student(Sno, Sname, Ssex, Sage, Sdept) 假设不允许重名,则有: Sno → Ssex, Sno → Sage , Sno → Sdept, Sno ←→ Sname, Sname → Ssex, Sname → Sage Sname → 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) → 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(学号,系名,系主任), 学号 → 系名,系名 → 系主任,并且 系名 -\→ 学号,所以 学号 → 系主任 为传递函数依赖
什么是依赖关系什么是函数关系
依赖关系包括数据依赖和函数依赖两种,函数依赖又分好多种,函数关系是一种依赖关系,依赖关系不一定是函数关系,因为它也可能是数据依赖关系。
函数依赖与多值依赖的关系是什么
多值依赖:Y-》-》X 且X存在t通俗点讲:"多值依赖"说白了就是"一夫多妻"制 一个男人就是两个人或者多个"函数依赖"就是"一夫一妻"制一个男人只能有老婆但是只能是一个人由上可理解"一夫一妻"制也是"一夫多妻"的一种因为"一夫多妻"你可以只能娶一个老婆"函数依赖"就是"多值依赖"的特殊情况
数据库问题:什么是非平凡函数依赖
所谓函数依赖是指关系中一个或一组属性的值可以决定其它属性的值。函数依赖正象一个函数y=f(x)一样x的值给定后,y的值也就唯一地确定了。举几个例子,在学生表中(学号,姓名,年级),(学号,姓名)可以推出学号和姓名其中的任何一个,这就是平凡函数依赖.通过(学号,姓名)可以推出这个学生所在的年级,这是非平凡函数依赖.((学号,姓名)就是一个x,学号或者姓名就是一个x’)通过属性学号就可以推出年级,说明年级完全依赖于学号,这就是完全函数依赖.而(学号,姓名)虽然也可以推出年级,但是它的真子集姓名却推不出年级,这就是部分函数依赖,也叫不完全函数依赖.
本文相关文章:
cesium的datasource(Cesium快速上手9-Camera和Scene中的其他函数使用)
2024年9月9日 18:01
day函数是什么意思(函数DAY($A$3)*4-4 代表什么意思)
2024年9月8日 10:45
递归算法解决八皇后问题(用递归函数设计八皇后问题的回溯算法C++代码)
2024年9月8日 09:01
c语言lseek函数的用法(问一个关于lseek函数的效率问题)
2024年9月7日 14:45
python递归函数考试题(python题目:要求用递归、递推和Lambda三种方式编写power(n,x)函数)
2024年9月6日 03:40
c语言中函数abs 和 fabs有什么区别?C语言中fabs表示什么意思
2024年9月4日 08:10
matlablength函数用法(如何使用MATLAB作出如下函数ns关于x变化的函数,x的取值范围为0到10)
2024年9月1日 04:40
php截取字符串以特定的字符分割(PHP怎么用substr函数截取字符串中的某部分)
2024年9月1日 03:45
small函数相反的函数(excel中small函数有什么作用)
2024年9月1日 01:40
easyx安装教程(【C语言】如何在VC++6.0中使用TC2.0特有的函数呢)
2024年8月31日 06:40
更多文章:
camera raw官网下载(camera raw怎么安装)
2024年5月29日 17:37
手机扩音器软件(我用的是小米手机,请问在哪里能下载一款软件,能把手机当麦克风连接到音箱上,可以用手机软件直接唱歌)
2024年5月1日 22:44
求《KERORO军曹》里面的全部的主题曲名?刺激战场年兽大作战怎么暴伤害高
2024年5月4日 01:02
鳄鱼小顽皮爱洗澡3(鳄鱼小顽皮爱洗澡全攻略,全的,好的加分)
2024年7月18日 11:35
草莓丝瓜向日葵黄瓜榴莲ios(草莓香蕉榴莲黄瓜丝瓜茄子站长推荐)
2024年7月14日 12:24
极品时刻表不能用了吗(为什么我的电脑不能使用极品列车时刻表)
2024年7月23日 17:24
oracle数据库下载(oracle数据库linux系统预安装包在哪下载没有咋办)
2024年6月2日 12:28
程序配置不正确(提示应用程序配置不正确怎么办所有程序都不能用)
2024年2月29日 14:00
如何分辨I9000的翻新机I9020和I9020是不是同一台机注:要详细!?i9000跟i9020谁好
2024年5月17日 23:33