给定关系模式R(U,F),U={A₁,A₂,A₃,A4}, F={A₁→A₂A₃, A₂A₃→A4},那么在关系R中(有1个候选关键字A1)。以下说法错误的是(根据F中"A₂A₃→A4",可以得出"A₂→A4,A₃→A4")。
候选键的判定可通过属性闭包法完成:计算目标属性或属性组的属性闭包,若闭包能覆盖关系的全部属性,且该属性组不存在任何真子集能达到此效果,那它就是候选键;候选键是能唯一标识关系中元组且无冗余的属性集合,一个关系的候选键数量可能为一个或多个。而Armstrong公理体系是推导与验证函数依赖的核心依据,包含分解律、增广律、传递律及伪传递规则:分解律是若X→YZ,则可推导出X→Y、X→Z,需注意该规则仅作用于函数依赖的右部,不能对左部的联合属性随意拆分,比如XY→Z无法推出X→Z或Y→Z,这是常见的认知误区;增广律指若X→Y,则XZ→YZ成立;传递律指若X→Y、Y→Z,则X→Z,伪传递规则则是X→Y、YW→Z时,可推导出XW→Z;属性闭包的计算也需要借助这些公理来推导所有能确定的属性。
本题考察的是候选键判定与Armstrong公理(分解、增广、传递等)的应用。
对候选键的判断可通过属性闭包快速完成:检验某属性(或属性组)的闭包是否覆盖全部属性,且是否极小。
问题 1:
对 A₁ 做闭包:A₁⁺ = {A₁},由 A₁→A₂A₃ 得 {A₂, A₃},再由 A₂A₃→A₄ 得 {A₄},因此 A₁⁺ = {A₁, A₂, A₃, A₄},A₁ 能决定全体属性且无真子集,A₁为候选键。
A选项有1个候选键 A₁:与上面分析一致,正确。
B选项有1个候选键 A₂A₃:A₂A₃⁺ = {A₂, A₃, A₄},无法推出 A₁,不能决定全体属性,不是候选键,错误。
C选项有2个候选键 A₂ 和 A₃:A₂⁺ 或 A₃⁺ 均无法推出其它全部属性,不是候选键,错误。
D选项有2个候选键 A₁ 和 A₂A₃:A₂A₃并非候选键,错误。
因此本小题正确选项为 A。
