软件设计师考试——关系数据库的规范化——啥是函数依赖,数据库概论——函数依赖理解

数据库概论——函数依赖理解

 

什么是函数依赖/u>

形式化定义

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

若对于R(U)的任何一个可能的关系r,

r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,

则称X函数确定Y或Y函数依赖于X,记作X→Y

非形式化理解

一个关系内部属性与属性之间的一种约束关系。

 

首先,什么是函数依赖/p>

通俗来说,函数依赖指的是在数据库中,各种不同属性(或者属性集合)关系间的一种“约束”,也可以看作属性之间的一种映射,也是一种“依赖性”,存在“当且仅当”的前提。

给定一个属性集U上的关系R, 假设X,Y为U的子集,若X属性集可以被看作通过某种函数来决定Y属性集,则我们写作

 

部分函数依赖

假设 ,

一个例子,给定一个tableux,存在以下关系:

(学 ,姓名,学生宿舍)

(学 ,姓名)→学生宿舍 (通过学 和姓名可以找到学生宿舍)

学 ,姓名分别是(学 ,姓名)的两个真子集。

(学 →学生宿舍)(通过学 可以得出学生宿舍)

(姓名→学生宿舍)(通过姓名也可以得出学生宿舍)

说明学生宿舍部分依赖于学 +姓名。

 

完全函数依赖

假设

再举个例子,考试成绩:

(学 ,课程,分数)

(学 ,课程)→分数

但是单独知道学 或者课程两者中的一个,是无法知道具体分数的。说明分数完全依赖于学 +课程。

 

传递函数依赖

可以把传递依赖看作一个单向链,

 

比如通过学 ,我们可以知道姓名、性别、班级,间接可以知道班主任是谁(反过来推,如果一个班主任不只负责一个班级,那么从班主任→班级是得不到一个确定结果的)。

所以(学 →班级)(班级→班主任)

班主任传递依赖于学 。

 

以上是在下粗浅易懂的理解,望有帮助。

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树内置函数其它函数31836 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月13日
下一篇 2021年3月14日

相关推荐