4.2.4FD和关键码的联系 令定义4.5设关系模式R的属性集是∪,X是U的一个子集。如果X→U在R上成立 那么称X是R的一个超键。如果X→U在R上成立,但对于X的任一真子集X1都有 Ⅹ1_U不成立,那么称是R上的一个候选键。本章的键都是指候选键。 例4.6在学生选课、教师任课的关系模式中 R(S#, SNAME, C#, GRADE, CNAME, TNAME, TAGE) 如果规定:每个学生每学一门课只有一个成绩;每个学生只有一个姓名;每个课 程号只有一个课程名;每门课程只有一个任课教师。 根据这些规则,可以知道(S#,C#)能函数决定R的全部属性,并且是一个候 选键。虽然(S#, SNAME,C#, TNAME)也能函数决定R的全部属性,但相 比之下,只能说是一个超键,而不能说是候选键,因为其中含有多余属性
4.2.4 FD和关键码的联系 ❖ 定义4.5 设关系模式R的属性集是U,X是U的一个子集。如果X→U在R上成立, 那么称X是R的一个超键。如果X→U在R上成立,但对于X的任一真子集X1都有 X1→U不成立,那么称X是R上的一个候选键。本章的键都是指候选键。 例4.6 在学生选课、教师任课的关系模式中: R(S#,SNAME,C#,GRADE,CNAME,TNAME,TAGE) 如果规定:每个学生每学一门课只有一个成绩;每个学生只有一个姓名;每个课 程号只有一个课程名;每门课程只有一个任课教师。 根据这些规则,可以知道(S#,C#)能函数决定R的全部属性,并且是一个候 选键。虽然(S#,SNAME,C#,TNAME)也能函数决定R的全部属性,但相 比之下,只能说是一个超键,而不能说是候选键,因为其中含有多余属性
42.5属性集的闭包 令定义46设F是属性集U上的FD集,Ⅹ是U的子集 么(相对于F)属性集X的闭包用X+表示,它是 个从F集使用FD推理规则推出的所有满足Ⅹ→A的属 性A的集合:X+={属性A|X→A在F+中 今定理44Ⅹ_Y能用FD推理规则推出的充分必要条 件是YX+。 令例4.7属性集U为ABCD,FD集为{A→B,B→C, D→B}。则用上述算法,可求出A+=ABC,(AD) +=ABCD,(BD)+=BCD,等等
4.2.5 属性集的闭包 ❖ 定义4.6 设F是属性集U上的FD集,X是U的子集, 那么(相对于F)属性集X的闭包用X+表示,它是一 个从F集使用FD推理规则推出的所有满足X→A的属 性A的集合:X+={ 属性A | X→A在F+中 } ❖ 定理4.4 X→Y能用FD推理规则推出的充分必要条 件是YX+。 ❖ 例4.7 属性集U为ABCD,FD集为{ A→B,B→C, D→B }。则用上述算法,可求出A+=ABC,(AD) +=ABCD,(BD)+=BCD,等等
4.2.5FD推理规则的完备性 令推理规则的正确性是指“从FD集F使用推理 规则集推出的FD必定在F+中”,完备性是指 “F+中的FD都能从F集使用推理规则集导 出”。也就是正确性保证了推出的所有FD是 正确的,完备性保证了可以推出所有被蕴涵 的FD。这就保证了推导的有效性和可靠性 冷定理4.5FD推理规则A1,A2,A3}是完备的
4.2.5 FD推理规则的完备性 ❖ 推理规则的正确性是指“从FD集F使用推理 规则集推出的FD必定在F+中”,完备性是指 “F+中的FD都能从F集使用推理规则集导 出”。也就是正确性保证了推出的所有FD是 正确的,完备性保证了可以推出所有被蕴涵 的FD。这就保证了推导的有效性和可靠性。 ❖ 定理4.5 FD推理规则{A1,A2,A3}是完备的
4.2.6FD集的最小依赖集(一) 令定义47如果关系模式R(U)上的两个函数依赖集F和G, 有F+=G+,则称F和G是等价的函数依赖集 令定义48设F是属性集U上的FD集。如果Fmin是F的一个最 小依赖集,那么Fmin应满足下列四个条件 (1)F+min =F+: (2)每个FD的右边都是单属性; (3)Fmin中没有冗余的FD(即F中不存在这样的函数依赖 Ⅹ→→Y,使得F与F—{Ⅹ→Y}等价); (4)每个FD的左边没有冗余的属性(即F中不存在这样的函数 依赖Ⅹ→Y,Ⅹ有真子集W使得F一{X→Y}U(W→Y} 与F等价)
4.2.6 FD集的最小依赖集(一) ❖ 定义4.7 如果关系模式R(U)上的两个函数依赖集F和G, 有F+=G+,则称F和G是等价的函数依赖集。 ❖ 定义4.8 设F是属性集U上的FD集。如果Fmin是F的一个最 小依赖集,那么Fmin应满足下列四个条件: ⑴ F+min =F+; ⑵ 每个FD的右边都是单属性; ⑶ Fmin中没有冗余的FD(即F中不存在这样的函数依赖 X→Y,使得F与F-{ X→Y }等价); ⑷ 每个FD的左边没有冗余的属性(即F中不存在这样的函数 依赖X→Y,X有真子集W使得F-{ X→Y }∪{ W→Y } 与F等价)
4.2.6FD集的最小依赖集(二) 例4.8设F是关系模式R(ABC)的FD集,F={A→BC, B→C,A→B,AB→C},试求Fmin ①先把F中的FD写成右边是单属性形式: F={A→B,A→C,B→C,A→B,AB→C 显然多了一个A→B,可删去。得F={A→B,A→C,B→C, AB→C} ②F中A→C可从A→B和B→C推出,因此A→C是冗余的, 可删去。得F={A→B,B→C,AB→C ③F中AB→C可从A→B和B→C推出,因此AB→→C也可删去。 最后得F={A→B,B→C},即所求的Fmin
4.2.6 FD集的最小依赖集(二) 例4.8 设F是关系模式R(ABC)的FD集,F={ A→BC, B→C,A→B,AB→C },试求Fmin。 ① 先把F中的FD写成右边是单属性形式: F={ A→B,A→C,B→C,A→B,AB→C } 显然多了一个A→B,可删去。得F={ A→B,A→C,B→C, AB→C } ② F中A→C可从A→B和B→C推出,因此A→C是冗余的, 可删去。得F={ A→B,B→C,AB→C } ③ F中AB→C可从A→B和B→C推出,因此AB→C也可删去。 最后得F={ A→B,B→C },即所求的Fmin