我做错了什么? (从表中查找FD)

时间:2017-02-15 20:19:38

标签: database functional-dependencies

这是表收入: enter image description here

以下是我的回答:

costumer - >城市

costumer - >人口

价格 - >产品

价格 - >负荷消费

价格 - >城市

价格 - >人口

city - >人口

人口 - >城市

但实际答案是:

(产品,客户) - >价

costumer - >城市

city - >人口

costumer - >人口

我做错了什么?我一直使用他的方法:https://www.youtube.com/watch?v=ddOP5D4fagg

1 个答案:

答案 0 :(得分:0)

我们说FD(功能依赖性)S - > T具有属性S的“决定性”和属性T的“确定的”。它表示S的给定子元值出现在给定关系中(值或者变量)总是具有相同的T的子组值。当S - > {A}我们说S - >甲

我们说FD“持有”表或“在”表中或“满足”表或表“当FD表示对表格是真的时”具有FD。

我们可以找到所有FD S - >通过将属性集的每个子集检查为S并将每个属性子集作为T来保存在表中.Ts其中S是T的超集必须保持并被称为“平凡”。

我们可以找到所有FD S - >通过检查属性集的每个子集作为S来保存在表中,每个属性为T.还有算法。

以下是一些快捷方式:一套确定自己。如果S - >;然后,T的每个超集确定T的每个子集。如果S不确定T,那么S的任何子集都不确定T的任何超集。如果一个集合在每个元组中具有不同的值子行,则每个集合确定它&它决定了每一套。

鉴于一些持有的FD,阿姆斯特朗的公理会产生所有持有的FD。持有的所有FD的集合称为“闭包”。产生特定闭包的一组FD称为“覆盖”。当从其中移除任何FD时,封面是“最小的”或“不可简化的”,从而提供不是封面的集合。每个行列式独特的最小/不可减少的封面是“规范的”。通常我们不会被要求关闭,我们被要求给出规范的封面。

您只列出了持有一个决定因素和一个确定属性的FD;您没有列出任何具有较大决定因素的FD。但是如果你想得到正确答案,那么你需要告诉我们完全的问题。 (请确认正确的答案是完全。)