数据库

来自Shiyin's note
Shen讨论 | 贡献2023年3月19日 (日) 08:34的版本 (创建页面,内容为“==PK(主键)和外键(FK)== ===主键=== 主键:在一个表中,能唯一的表示一个事物(或者一条记录)的字段,我们称之为主键 *主…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

PK(主键)和外键(FK)

主键

主键:在一个表中,能唯一的表示一个事物(或者一条记录)的字段,我们称之为主键

  • 主键的设置可以不只是用一个字段,也可以用若干个字段的组合,但主键必须是唯一的;
  • 主键一般情况下都用整数,在这里不建议用字符转当做主键。
  • 主键通常不允许修改,除非该表中的该条记录被删除,我们可以删除主键。
  • 对于主键的命名问题,不建议直接用ID来命名主键,建议用表名Id 或者 表名_Id来命名主键名
  • 不允许使用业务(表中有功能)字段来当做主键,我们要使用代理主键,即在表中创建一个没有业务功能的字段来当做主键,这样可以避免很多的问题,便于对表的维护。

外键

通俗的说法叫做“来自”,若一个表中的若干个字段是来自另外的(一个或者多个)表中的主键或者唯一键,则这个字段就是外键

  • 外键通常是来自另外的表中的主键,而不是唯一键,因为唯一键可能为NULL
  • 外键不一定来自另外的表,也可能来自这个表本身;