# DBMS 中的传递依赖

> 原文： [https://beginnersbook.com/2015/04/transitive-dependency-in-dbms/](https://beginnersbook.com/2015/04/transitive-dependency-in-dbms/)

如果函数依赖性由两个函数依赖性间接形成，则称其是传递的。例如：

`如果以下三个函数依赖项成立，则`X -> Z`是传递依赖：

*   `X -> Y`
*   `Y !-> X`
*   `Y -> Z`

**注意：**传递依赖只能在三个或更多属性的关系中发生。这种依赖性有助于我们在 3NF（第三范式）中对数据库进行标准化。

**示例**：让我们举一个例子来更好地理解它：

| **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} -> {Author_age}`

因此，根据**传递依赖的规则**：`{Book} -> {Author_age}`应该成立，这是有道理的，因为如果我们知道书名，我们就可以知道作者的年龄。