# DBMS 中的外键

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

**定义**：外键是表的列，指向另一个表的[主键](https://beginnersbook.com/2015/04/primary-key-in-dbms/)。它们充当表之间的交叉引用。

**例如**：

在下面的例子中，`Course_enrollment`表中的`Stu_Id`列是外键，因为它指向`Student`表的主键。

`Course_enrollment`表：

| `COURSE_ID` | `Stu_Id` |
| --- | --- |
| C01 | 101 |
| C02 | 102 |
| C03 | 101 |
| C05 | 102 |
| C06 | 103 |
| C07 | 102 |

`Student`表：

| `Stu_Id` | `Stu_Name` | `Stu_Age` |
| --- | --- | --- |
| 101 | Chaitanya | 22 |
| 102 | Arya | 26 |
| 103 | Bran | 25 |
| 104 | Jon | 21 |

**注意**：实际上，外键与另一个表的主键标签无关，如果它指向另一个表的唯一列（不一定是主键），那么它将是一个外键。因此，外键的正确定义是：外键是表的列，指向另一个表的[候选键](https://beginnersbook.com/2015/04/candidate-key-in-dbms/)。