解释部分和完全功能依赖
如果非键attribute(s)依赖于候选键的一部分,则它是部分依赖,适用于主键具有多个属性的情况。如果一个非键attribute(s)依赖于整个候选键,那么它就是完全依赖。
示例1
让R(A,B,C)和AB=候选键。
A->C是部分依赖(其中C依赖于候选键的一部分)。
AB->C是完全依赖(其中c取决于整个候选键)。
函数依赖X->Y是部分依赖,如果,
X是候选键的一部分,并且
Y是一个非键attribute(s)。
示例2
R(ABCDE)
F:{AB->C,C->D,B->E}。找到部分依赖。
解决方案
AB+=ABCDC+=CDB+=BE
=>AB是唯一的候选键。
=>关键属性=A、B和
=>非关键属性=C、D、E。
关键属性也称为主要属性,非关键属性也称为非主要属性。
AB->C不是部分依赖//它是完全依赖。
C->D不是部分依赖//它是完全依赖。
B->E是部分依赖,因为B是候选键的一部分,而E是非键属性。
示例3
考虑下面给出的另一个例子-
StudentClass(CourseID,RollNoOfStudent,Score,StudentName,StudentAge);
上述关系中的CandidateKey是{CourseID,RollNoOfStudent}
该函数依赖是;{CourseID,RollNoOfStudent}—->{Score}
现在,分数完全取决于学生的课程id和rollno..
{RollNoOfStudent}--->{StudentName}
现在学生姓名是一个非主要属性,它仅取决于候选键的子集,而不是整体。