关系数据理论
1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、1NF、2NF、3NF、BCNF、多值依赖、4NF。
解析:解答本题不能仅仅把《概论》上的定义写下来。关键是真正理解和运用这些概念。
答:
函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于 R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称"X函数确定Y"或"Y函数依赖于X", 记作X→Y。
解析:
(1)函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。
(2)函数依赖是属性之间的一种联系, 体现在属性值是否相等。由上面的定义可以知道,如果X→Y,则r中任意两个元组,若它们在X上的属性值相同,那么在Y 上的属性值一定也相同。
(3)要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。
(4)函数依赖不是指关系模式R在某个时刻的关系(值)满足的约束条件,而是指R任何时刻的一切关系均要满足的约束条件。
答:
完全函数依赖、部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X' Y,则称Y对X完全函数依赖,记作:
若X→Y, 但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:
传递依赖:在R(U)中,如果X→Y,(Y,X),Y X,Y→Z,则称Z对X传递函数依赖。
候选码、主码:设K为R 中的属性或属性组合,若K→U (完全依赖)则K为R的候选码(Candidate key)。若候选码多于一个,则选运其中的一个为主码(Pdmary key)。