【问题标题】:How can I find candidate key using FD.S?如何使用 FD.S 找到候选键?
【发布时间】:2016-12-21 15:01:44
【问题描述】:

大众->XYZ, Z->W, Y->大众

是函数依赖关系S{V,W,X,Y,Z}。候选键是'Y'?? 或其他?? 我有个问题。为什么 Z->W 打破正常形式?什么类型是破坏范式?

【问题讨论】:

    标签: dependencies candidate-key


    【解决方案1】:

    关系有三个候选键:

    1. Y
    2. VW
    3. VZ
    

    您可以通过计算它们每个的闭包来验证这一点。

    关系不是 Boyce-Codd 范式 (BCNF),因为在依赖项 Z → W 中,行列式 (Z) 不是超键(而在其他两个依赖项中,行列式是键)。

    最后,请注意关系是第三范式 (3NF),因为 W 是主要属性(即,是候选键的属性)。

    【讨论】:

    • 感谢您的回复。但是,候选键意味着最小+唯一。因为它,我认为 vw,vz 不是候选键,不是吗??
    • @analog_by,它们最小的,因为最小的意思是“没有其他属性可以删除而不丢失暗示表的所有属性的属性”(它确实不是的意思是“由单个属性构成”!)。所以,vwvz 是最小的,因为你不能从它们中删除任何属性而不会失去作为键的事实(vwz 单独不是键) .
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多