【问题标题】:Combinations of attributes that can form a key for a relation with functional dependencies?可以形成具有功能依赖关系的键的属性组合?
【发布时间】:2015-07-04 14:45:19
【问题描述】:

我有一个我应该做的家庭作业问题。问题是,我读过或看过的任何教程似乎都无法让我准备好解决这个问题:

Consider the relation R(A,B,C,D,E,F) with FD's:
CDE -> B
ACD -> F
BEF -> C
B   -> D
Which combination of attributes can form a key for R?

我真的不知道如何开始。从教程中,它告诉我制作这样的表格:

Left | Middle | Right
----------------------
AE   | BCDF   |

其中“Left”是指只出现在依赖的左侧,“middle”是指同时出现在左右两边。

从那里我应该找到AEAE 的闭包,看看哪个闭包可以让我找到ABCDEF。但是,我找不到这样的关闭。

有没有人有任何技巧可以解决这个问题,或者对如何解决这个问题有更好的想法?

【问题讨论】:

  • 每本关于关系数据库的教科书都包含至少一种算法,用于确定关系 R 的每个候选键。你的教科书是怎么说的?

标签: database functional-dependencies


【解决方案1】:

“Left”属性应该在任何键中。但是,由于您指出 AE 的闭包本身就是 AE 本身,因此您需要添加更多属性来扩展 AE 并使其成为键。

让我们从添加B 开始,即考虑ABE。由于B -> DABE 的关闭是ABDE。由于仍有我们无法覆盖的属性(CF),我们需要继续添加更多属性。让我们添加C 并考虑ABCE。那么,ABCE 的闭包是ABCDEF,因为B->DACD->F。因此,ABCE 是一个超级键。请注意,此参数并不意味着 ABCE 是候选键(在这种情况下恰好是),因为它仍然可能包含冗余属性。

此外,这并不意味着ABCE 是唯一的。例如,我们可以添加F,而不是添加C,并获得ABEF,这也是一个超级键。或者,我们可以选择不同的属性,而不是首先添加B。考虑下图

AE (AE)+ is not equal to (ABCDEF) hence add attributes:
Option 1: Add B. (ABE)+ = (ABDE), not equal to (ABCDEF) hence add attributes:
        Option 1.1 Add C. (ABCE)+ = (ABCDEF), report (ABCE) as a superkey
        Option 1.2 Add F. (ABEF)+ = (ABCDEF), report (ABEF) as a superkey 
Option 2: Add C. (ACE)+ = (ACE), not equal to (ABCDEF) hence add attributes:
        Option 2.1 Add B. This step is not needed since we have already discussed (ABCE) in 1.1
        Option 2.2 Add D. (ACDE)+ = (ABCDEF), report (ACDE) as a superkey 
        Option 2.3 Add F. (ACEF)+ = (ACEF), not equal to (ABCDEF) hence add attributes:
            Option 2.3.1. Add B. (ABCEF) contains (ABCE) already considered in 1.1, hence is a superkey.
            Option 2.3.2. Add D. (ACDEF) contains (ACDE) already considered in 2.2, hence is a superkey.
Option 3. Add D.
       ... 
Option 4. Add F.  
       ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2019-12-05
    相关资源
    最近更新 更多