diff --git a/docs/dbms/32.md b/docs/dbms/32.md index d56a1087959225c56a5b9f415bcff4ba3d0425b4..d83098d640e37576f77d2a36248bcc1808ee9dfe 100644 --- a/docs/dbms/32.md +++ b/docs/dbms/32.md @@ -4,10 +4,11 @@ 当表的属性唯一地标识同一表的另一个属性时,表的属性被认为是彼此依赖的。 -例如:假设我们有一个包含属性的学生表:Stu_Id,Stu_Name,Stu_Age。这里 Stu_Id 属性唯一地标识学生表的 Stu_Name 属性,因为如果我们知道学生 ID,我们可以告诉与之相关的学生姓名。这被称为函数依赖,可以写成 Stu_Id-> Stu_Name,或者我们可以说 Stu_Name 在函数上依赖于 Stu_Id。 +例如:假设我们有一个包含属性的学生表:`Stu_Id`,`Stu_Name`,`Stu_Age`。这里`Stu_Id`属性唯一地标识学生表的`Stu_Name`属性,因为如果我们知道学生 ID,我们可以告诉与之相关的学生姓名。这被称为函数依赖,可以写成`Stu_Id -> Stu_Name`,或者我们可以说`Stu_Name`在函数上依赖于`Stu_Id`。 **正式**: -如果表的列 A 唯一地标识同一表的列 B,那么它可以表示为 A-> B(属性 B 在函数上依赖于属性 A) + +如果表的列`A`唯一地标识同一表的列`B`,那么它可以表示为`A -> B`(属性`B`在函数上依赖于属性`A`)。 ### 函数依赖的类型 diff --git a/docs/dbms/33.md b/docs/dbms/33.md index 0b5b0bbbadff862e9f2226ccaeef02c25dc1f076..b5284156fefa16405b99384d16f9b2608be0647d 100644 --- a/docs/dbms/33.md +++ b/docs/dbms/33.md @@ -2,14 +2,14 @@ > 原文: [https://beginnersbook.com/2015/04/trivial-functional-dependency-in-dbms/](https://beginnersbook.com/2015/04/trivial-functional-dependency-in-dbms/) -如果属性集包含该属性,则属性对一组属性的依赖性称为普通函数依赖性。 +如果属性集包含某属性,则该属性对一组属性的依赖性称为平凡函数依赖性。 -**符号**:如果 B 是 A 的子集,则 A - > B 是平凡的函数依赖。 +**符号**:如果`B`是`A`的子集,则`A -> B`是平凡的函数依赖。 -以下依赖性也是平凡的:A-> A& B->乙 +以下依赖也是平凡的:`A -> A`和`B -> B`。 -**例如**:考虑一个包含两列 Student_id 和 Student_Name 的表。 +**例如**:考虑一个包含两列`Student_id`和`Student_Name`的表。 -{Student_Id,Student_Name} - > Student_Id 是一个平凡的函数依赖,因为 Student_Id 是{Student_Id,Student_Name}的子集。这是有道理的,因为如果我们知道 Student_Id 和 Student_Name 的值,那么可以唯一地确定 Student_Id 的值。 +`{Student_Id, Student_Name} -> Student_Id`是一个平凡的函数依赖,因为`Student_Id`是`{Student_Id, Student_Name}`的子集。这是有道理的,因为如果我们知道`Student_Id`和`Student_Name`的值,那么可以唯一地确定`Student_Id`的值。 -另外,Student_Id - > Student_Id& Student_Name - > Student_Name 也是平凡的依赖关系。 \ No newline at end of file +另外,`Student_Id -> Student_Id`和`Student_Name -> Student_Name`也是平凡的依赖关系。 \ No newline at end of file diff --git a/docs/dbms/34.md b/docs/dbms/34.md index 1ac1b5abe18932fd9d52125efa07b24ac596ca23..6e60082cea4cc00603eac3b49cf63455f6afdc13 100644 --- a/docs/dbms/34.md +++ b/docs/dbms/34.md @@ -2,17 +2,23 @@ > 原文: [https://beginnersbook.com/2015/04/non-trivial-functional-dependency-in-dbms/](https://beginnersbook.com/2015/04/non-trivial-functional-dependency-in-dbms/) -如果函数依赖性 X-> Y 在 Y 不是 X 的子集的情况下成立,那么这种依赖性称为非平凡的函数依赖性。 +如果函数依赖`X -> Y`在`Y`不是`X`的子集的情况下成立,那么这种依赖性称为非平凡的函数依赖性。 **例如**: -具有三个属性的员工表:emp_id,emp_name,emp_address。 + +具有三个属性的员工表:`emp_id`,`emp_name`,`emp_address`。 + 以下函数依赖是非平凡的: -emp_id - > emp_name(emp_name 不是 emp_id 的子集) -emp_id - > emp_address(emp_address 不是 emp_id 的子集) -另一方面,以下依赖性是微不足道的: -{emp_id,emp_name} - > emp_name [emp_name 是{emp_id,emp_name}的一个子集] -参考:[平凡的函数依赖](https://beginnersbook.com/2015/04/trivial-functional-dependency-in-dbms/ "Trivial functional dependency in DBMS with example")。 ++ `emp_id -> emp_name`(`emp_name`不是`emp_id`的子集) ++ `emp_id -> emp_address`(`emp_address`不是`emp_id`的子集) + +另一方面,以下依赖性是平凡的: + ++ `{emp_id, emp_name} -> emp_name`(`emp_name`是`{emp_id, emp_name}`的一个子集) + +参考:[平凡的函数依赖](https://beginnersbook.com/2015/04/trivial-functional-dependency-in-dbms/)。 + +**完全非平凡 FD**: -**完全非平凡 FD** : -如果 FD X-> Y 在 X 交点 Y 为空的情况下保持为真,则该依赖性被认为是完全非平凡的函数依赖性。 \ No newline at end of file +如果 FD `X -> Y`在`X`交`Y`为空的情况下为真,则该依赖性被认为是完全非平凡的函数依赖。 diff --git a/docs/dbms/35.md b/docs/dbms/35.md index 0c8d0350918df8bf67b23fe43e8d87487a05d401..7f6834d524b69b82a8bbf94c48160473ca251868 100644 --- a/docs/dbms/35.md +++ b/docs/dbms/35.md @@ -15,7 +15,7 @@ | M2222 | 2009 | Black | | M2222 | 2009 | Red | -这里的列`manuf_year`和颜色彼此独立并依赖于`bike_model`。在这种情况下,这两列据说是多值的,取决于`bike_model`。这些依赖关系可以表示如下: +这里的列`manuf_year`和颜色彼此独立并依赖于`bike_model`。在这种情况下,这两列可以说是多值的,取决于`bike_model`。这些依赖关系可以表示如下: ``` bike_model ->> manuf_year diff --git a/docs/dbms/36.md b/docs/dbms/36.md index 79dda0c3ec8b1c8b27a99f7b0170b33ce4c5b6f8..305faa16b7ecab6eb9647105f842e5f5eac54b63 100644 --- a/docs/dbms/36.md +++ b/docs/dbms/36.md @@ -2,27 +2,27 @@ > 原文: [https://beginnersbook.com/2015/04/transitive-dependency-in-dbms/](https://beginnersbook.com/2015/04/transitive-dependency-in-dbms/) -如果函数依赖性由两个函数依赖性间接形成,则称其是可传递的。对于例如 +如果函数依赖性由两个函数依赖性间接形成,则称其是传递的。例如: -X - >如果以下三个函数依赖项成立,则 Z 是传递依赖: +`如果以下三个函数依赖项成立,则`X -> Z`是传递依赖: -* X-> Y -* Y 没有 - > X. -* Y-> Z +* `X -> Y` +* `Y !-> X` +* `Y -> Z` -**注意:**传递依赖只能在三个或更多属性的关系中发生。这种依赖性有助于我们在 3NF(3 <sup>rd</sup> Normal Form)中对数据库进行标准化。 +**注意:**传递依赖只能在三个或更多属性的关系中发生。这种依赖性有助于我们在 3NF(第三范式)中对数据库进行标准化。 **示例**:让我们举一个例子来更好地理解它: -| **书** | **作者** | **Author_age** | -| 权力的游戏 | 乔治 R.马丁 | 66 | -| 哈利波特 | JK 罗琳 | 49 | -| 死于光明 | George R. R. Martin | 66 | +| **Book** | **Author** | **Author_age** | +| Game of Thrones | George R. R. Martin | 66 | +| Harry Potter | J. K. Rowling | 49 | +| Dying of the Light | George R. R. Martin | 66 | -{书} - > {作者}(如果我们知道这本书,我们知道作者姓名) +`{Book} ->{Author}`(如果我们知道这本书,我们知道作者姓名) -{作者}没有 - > {书} +`{Author} !-> {Book}` -{作者} - > {} Author_age +`{Author} -> {Author_age}` -因此,根据**传递依赖的规则**:{Book} - > {Author_age}应该持有,这是有道理的,因为如果我们知道书名,我们就可以知道作者的年龄。 \ No newline at end of file +因此,根据**传递依赖的规则**:`{Book} -> {Author_age}`应该成立,这是有道理的,因为如果我们知道书名,我们就可以知道作者的年龄。 \ No newline at end of file