主键的具体定义
能够唯一标识一个事物的一个字段或多个字段的组合
附注:
- 含有主键的表称为主键表
- 主键通常都是整数,不建议使用字符串(除非用于集群式服务—用户一个请求需要用不同数据库才能完成:跨行转账)
- 主键的值都不允许修改,除非本记录被删除
- 主键不要定义成id,而要定义成表名_id
- 要用代理主键,不要用业务主键(任何一张表,强烈建议不要使用有业务含义的字段充当主键,通常都是在表中单独添加一个整型的编号充当主键字段)
外键的具体定义
定义:
如果一个表中的若干个字段是来自另外若干个表的主键或唯一键,则这若干个字段就是外键。
注意:外键通常来自另外表的主键而不是唯一键,因为唯一键可能为null;外键也可能来自本表。