这个作业属于哪个课程 | https://edu.cnblogs.com/campus/uzz/cs3 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/uzz/cs3/homework/13106 |
这个作业的目标 | 函数依赖定义、函数依赖类型 |
1.函数依赖
函数依赖分为完全函数依赖,部分函数依赖和传递函数依赖。
函数依赖是关系模式中属性之间的一种逻辑依赖关系。在一个表里面,属性X可以映射到属性Y,也就是说知道了X就能确定Y,称X为决定因素。
一个特定的X决定一个特定的Y(是一对一的关系)
例如:
有一个关系模式S(Sno,Sname,Sage)
如果知道了一个学生的学号Sno,那我就能确定他的姓名Sname和年龄Sage。
知道了一个学生的姓名也是可以确定其他属性的,这也是满足函数依赖关系的。(前提示学生的姓名没有重名的情况,否则就不是函数依赖了)
2.完全函数依赖
如果我想知道某位学生的某一门课的成绩Grade,那我必须得同时知道他的学号Sno和课程号Cno。
但如果我只知道一部分信息,比如他的Sno或者Cno可以吗?答案是不行的!此时称Y[Grade]完全依赖于X[Sno,Cno]。
3.部分函数依赖
如果我想知道某位学生的姓名Sname,那我知道他的学号Sno就可以了。也就是说Y[Sname]只函数依赖于X[Sno,Cno]中的子集x[Sno],此时称Y部分函数依赖于X。