# DBMS 中的函数依赖

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

当表的属性唯一地标识同一表的另一个属性时，表的属性被认为是彼此依赖的。

例如：假设我们有一个包含属性的学生表：`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`）。

### 函数依赖的类型

*   [平凡的函数依赖](https://beginnersbook.com/2015/04/trivial-functional-dependency-in-dbms/)
*   [非平凡的函数依赖](https://beginnersbook.com/2015/04/non-trivial-functional-dependency-in-dbms/)
*   [多值依赖](https://beginnersbook.com/2015/04/multivalued-dependency-in-dbms/)
*   [传递依赖](https://beginnersbook.com/2015/04/transitive-dependency-in-dbms/)