📅  最后修改于: 2020-12-13 05:27:27             🧑  作者: Mango
定义:如果可以使用第二个FD集确定一组功能依赖关系的右侧,则可以使用两个或两个以上的功能依赖集来等效,而使用第二个FD集可以类似地确定第二个FD集的右侧第一个FD集。
P = {X→Y,XY→Z,W→XZ,W→V}和Q = {X→YZ,W→XV},使用FD集P和Q下列哪个选项正确?
→使用FD集的等价定义,让我们使用FD集Q确定P的FD集的右侧。
给定P = {X→Y,XY→Z,W→XZ,W→V}并且Q = {X→YZ,W→XV}
让我们使用FD Q查找P的每个FD左侧的闭合。
现在,将使用FD Q计算的每个X,XY,W和W的闭包与FD P的右侧进行比较。每个X,XY,W和W的闭包都具有每个属性的右侧P的FD。因此,我们可以说P是Q ———- 1的子集
→使用FD集的等价定义,让我们使用FD集P确定Q的FD集的右侧。
给定P = {X→Y,XY→Z,W→XZ,W→V}并且Q = {X→YZ,W→XV}
让我们使用FD P查找Q的每个FD左侧的闭合。
现在将使用FD P计算的每个X,W的闭包与FD Q的右侧进行比较。每个X和W的闭包都具有Q的每个FD右侧的所有属性。因此,我们可以说Q是P ———– 2的子集
从1和2我们可以说P = Q,因此选项C是正确的。
P = {A→B,B→C,C→D}和Q = {A→BC,C→D}使用FD集P和Q下列哪个选项正确?
→使用FD集的等价定义,让我们使用FD集Q确定P的FD集的右侧。
给定P = {A→B,B→C,C→D}并且Q = {A→BC,C→D}
让我们使用FD Q查找P的每个FD左侧的闭合。
现在将使用FD Q计算的每个A,B和C的闭包与FD P的右侧进行比较。闭包B是B,而在FD集P中,B→C(B决定C),因为B的闭包使用FD Q没有C。因此,我们可以说P不是Q ———- 1的子集
→使用FD集的等价定义,让我们使用FD集P确定Q的FD集的右侧。
给定P = {A→B,B→C,C→D}并且Q = {A→BC,C→D}
让我们使用FD P查找Q的每个FD左侧的闭合。
现在,将使用FD P计算的每个A和C的闭包与FD Q的右侧进行比较。每个A和C的闭包都具有Q的每个FD右侧的所有属性。因此,我们可以说Q是P ———– 2的子集
从1和2我们可以说只有Q是P的子集,因为违反了1的条件,因此选项B是正确的。
P = {X→Y,Y→Z,Z→X}和Q = {X→YZ,Y→X,Z→X},使用FD集P和Q以下哪个选项正确?
→使用FD集的等价定义,让我们使用FD集Q确定P的FD集的右侧。
给定P = {X→Y,Y→Z,Z→X}并且Q = {X→YZ,Y→X,Z→X}
让我们使用FD Q查找P的每个FD左侧的闭合。
现在将使用FD Q计算的每个X,Y,Z的闭包与FD P的右侧进行比较。每个X,Y,Z的闭包具有位于P的每个FD右侧的所有属性。因此,我们可以说P是Q ———- 1的子集
→使用FD集的等价定义,让我们使用FD集P确定Q的FD集的右侧。
给定P = {X→Y,Y→Z,Z→X}并且Q = {X→YZ,Y→X,Z→X}
让我们使用FD P查找Q的每个FD左侧的闭合。
现在将使用FD P计算的每个X,Y和Z的闭包与FD Q的右侧进行比较。每个X,Y和Z的闭包都具有Q的每个FD右侧的所有属性。因此,我们可以说Q是P ———– 2的子集
从1和2我们可以说P = Q,因此选项C是正确的。
结论:从针对FD的等价问题解决的以上三个问题中,我们注意到以下步骤:
步骤1:假设给出了两个FD集P和Q,分别将每个集合P和Q的FD写入。
步骤2:首先获取FD集P,然后使用FD集Q在P中找到FD左侧每个属性的闭合。
步骤3:现在将P的每个属性的闭合与P的FD的右侧进行比较。
步骤4:如果每个属性的闭包等于P的FD的右边,我们说P是Q的子集
步骤5:接下来取FD集Q,然后使用FD集P查找Q中FD左侧每个属性的闭合。
步骤6:现在将Q的每个属性的闭合与Q的FD的右侧进行比较。
步骤7:如果每个属性的闭包等于Q的FD的右边,我们说Q是P的子集
步骤8:如果P是Q的子集,而Q是P的子集,我们可以说P =Q。