主键: 主键用于确保特定列中的数据是唯一的。它是一个不能有 NULL 值的列。它要么是现有的表列,要么是数据库根据定义的顺序专门生成的列。
例子:STUD_NO
和 STUD_PHONE
都是关系 STUDENT
的候选键,但 STUD_NO
可以选择为主键(许多候选键中只有一个)。
外键:外键是关系数据库表中的一列或一组列,它提供了两个表中数据之间的链接。它是引用另一个表的列(通常是主键)的一列(或多列)。
例子:
STUDENT_COURSE
中的 STUD_NO
是 STUDENT
关系中 STUD_NO
的外键。
下面来看看主键和外键之间的区别:
编号 | 主键 | 外键 |
---|---|---|
1 | 主键用于确保特定列中的数据是唯一的。 | 外键是关系数据库表中的一列或一组列,它提供了两个表中数据之间的链接。 |
2 | 主键唯一标识关系数据库表中的一条记录。 | 外键指的是一个表中的字段,它是另一个表的主键。 |
3 | 一个表中只允许有一个主键。 | 一个表中允许有多个外键。 |
4 | 主键是 UNIQUE 和 Not Null 约束的组合。 | 外键可以包含重复值和关系数据库中的表。 |
5 | 主键不允许 NULL 值。 | 外键还可以包含 NULL 值。 |
6 | 主键的值不能从父表中删除。 | 外键的值可以从子表中删除。 |
7 | 主键约束可以在临时表上隐式定义。 | 外键不能在本地或全局临时表上定义它的约束。 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/266906.html