说明: 1.函数依赖不是指关系模式R的某个或某些关系实例满足的 约束条件,而是指R的所有关系实例均要满足的约束条件。 2.函数依赖是语义范畴的概念。只能根据数据的语义来确定 函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人 的条件下成立 3.数据库设计者可以对现实世界作强制的规定。例如规定不 允许同名人出现,函数依赖“姓名→年龄”成立。所插入 的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组
说明: 1. 函数依赖不是指关系模式R的某个或某些关系实例满足的 约束条件,而是指R的所有关系实例均要满足的约束条件。 2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定 函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人 的条件下成立 3. 数据库设计者可以对现实世界作强制的规定。例如规定不 允许同名人出现,函数依赖“姓名→年龄”成立。所插入 的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组
函数依赖(续) 161: Student(Sno, Sname, Ssex, Sage, Sdept 假设不允许重名,则有 Sno→Ssex,Sno→Sage,Sno→ Sdept, Sno←→ Sname, Sname→SseX, Sname→Sage Sname→ Sdept 但 Ssex Sage 若Ⅹ→Y,并且Y→X,则记为X←→Y 若Y不函数依赖于X,则记为XY
函数依赖(续) 例: 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, 如果X→Y,但YX,则称X→Y是非平凡的函数依赖 若x→Y,但YcX则称X→Y是平凡的函数依赖 例:在关系Sc(Sno,Cno, Grade)中, 非平凡函数依赖:( Sno, cno)→ Grade 平凡函数依赖:(Sno,Cno)→Sno ( Sno, cno)→Cno
二、平凡函数依赖与非平凡函数依赖 在关系模式R(U)中,对于U的子集X和Y, 如果X→Y,但Y X,则称X→Y是 非平凡的函数依赖 若X→Y,但Y X, 则称X→Y是平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno
平凡函数依赖与非平凡函数依赖(续) 于任一关系模式,平凡函数依赖都是 必然成立的,它不反映新的语义,因 此若不特别声明,我们总是讨论非平 凡函数依赖
平凡函数依赖与非平凡函数依赖(续) ◼ 于任一关系模式,平凡函数依赖都是 必然成立的,它不反映新的语义,因 此若不特别声明, 我们总是讨论非平 凡函数依赖
、完全函数依赖与部分函数依赖 定义52在关系模式R(U)中,如果X→Y,并且对于 X的任何一个真子集X,都有 XY则称Y完全函数依赖于X,记作XrY。 若X→Y,但Y不完全函数依赖于X,则称Y部分函数 依赖于X,记作XPY
三、完全函数依赖与部分函数依赖 定义5.2 在关系模式R(U)中,如果X→Y,并且对于 X的任何一个真子集X’,都有 X’ Y, 则称Y完全函数依赖于X,记作X f Y。 若X→Y,但Y不完全函数依赖于X,则称Y部分函数 依赖于X,记作X P Y