此 table 的非平凡函数依赖性
Non-trivial Functional Dependency of this table
下列 table 中哪些非平凡的函数依赖关系成立?
谁能一步一步解释一下规则?
A B C
------------
a1 b2 c1
a2 b1 c6
a3 b2 c4
a1 b2 c5
a2 b1 c3
a1 b2 c7
首先声明我对函数依赖的了解仅限于 Wikipedia article 中解释的内容,并且我目前没有必要也没有意愿去研究进一步。
但是,由于 OP 要求澄清,我将尝试澄清我是如何获得我在评论中发布的看似正确的答案的。
首先,这是维基百科的定义:
Given a relation R, a set of attributes X in R is said to
functionally determine another set of attributes Y, also in R,
(written X → Y) if, and only if, each X value is associated with
precisely one Y value; R is then said to satisfy the functional
dependency X → Y.
此外,维基百科指出:
A functional dependency FD: X → Y is called trivial if Y is a
subset of X.
根据这些定义,我得到了给定关系的以下两个非平凡的函数依赖关系:
- A→B
- C → {A, B}
识别这些是一个完全归纳的过程。我没有应用一系列规则、公式和计算,而是查看了提供的数据并搜索了满足上述定义的约束条件。
在这种情况下:
- A→B
A 有三个可能的值:a1、a2 和 a3。查看 B 的对应值,您会发现以下组合:a1 → b2、a2 → b1,以及 a3 → b2。或者,A 的每个值都与一个 B 值关联,符合定义。
- C → {A, B}
同样的推理也适用于这种依赖。在这种情况下,识别它会稍微容易一些,因为 C 的值在此关系中是唯一的。从这个意义上说,C可以被认为是一个key。在数据库术语中,candidate key 就是:唯一标识每个元组的最小属性集。
毫无疑问,有一种方法可以从数据中数学推导出函数依赖关系,但对于像这样的简单情况,归纳过程似乎工作得很好。
所以,上述 table 中的非平凡函数依赖是:
1. A->B
2. A,C->B
3. B,C->A
4. C->A,B
下列 table 中哪些非平凡的函数依赖关系成立? 谁能一步一步解释一下规则?
A B C
------------
a1 b2 c1
a2 b1 c6
a3 b2 c4
a1 b2 c5
a2 b1 c3
a1 b2 c7
首先声明我对函数依赖的了解仅限于 Wikipedia article 中解释的内容,并且我目前没有必要也没有意愿去研究进一步。
但是,由于 OP 要求澄清,我将尝试澄清我是如何获得我在评论中发布的看似正确的答案的。
首先,这是维基百科的定义:
Given a relation R, a set of attributes X in R is said to functionally determine another set of attributes Y, also in R, (written X → Y) if, and only if, each X value is associated with precisely one Y value; R is then said to satisfy the functional dependency X → Y.
此外,维基百科指出:
A functional dependency FD: X → Y is called trivial if Y is a subset of X.
根据这些定义,我得到了给定关系的以下两个非平凡的函数依赖关系:
- A→B
- C → {A, B}
识别这些是一个完全归纳的过程。我没有应用一系列规则、公式和计算,而是查看了提供的数据并搜索了满足上述定义的约束条件。
在这种情况下:
- A→B
A 有三个可能的值:a1、a2 和 a3。查看 B 的对应值,您会发现以下组合:a1 → b2、a2 → b1,以及 a3 → b2。或者,A 的每个值都与一个 B 值关联,符合定义。 - C → {A, B}
同样的推理也适用于这种依赖。在这种情况下,识别它会稍微容易一些,因为 C 的值在此关系中是唯一的。从这个意义上说,C可以被认为是一个key。在数据库术语中,candidate key 就是:唯一标识每个元组的最小属性集。
毫无疑问,有一种方法可以从数据中数学推导出函数依赖关系,但对于像这样的简单情况,归纳过程似乎工作得很好。
所以,上述 table 中的非平凡函数依赖是:
1. A->B
2. A,C->B
3. B,C->A
4. C->A,B