一对一关系

  • 实际开发中应用不多,因为一对一可以建成一张表
  • 两种建表原则:

    • 外建唯一:主表的主键和从表的外建(唯一),形成主外键关系,外建唯一unique。
    • 外建是主键:主表的主键和从表的主键,形成主外键关系。

      一对多关系

  • 常用

  • 一对多原则:在从表创建一个字段,字段作为外键指向主表的主键

    多对多关系

  • 常用

  • 多对多原则:需要创建第三张表,中间表至少有两个字段,这两个字段分别作为外键指向各自一方的主键

**

外键约束

举例说明:分类表category称为主表,cid是主键,商品表products称为从表,category_id是外键。我们通过主表的主键和从表的外键来描述多表关系,呈现一对多关系。

外键特点:**

  • 从表外键的值是主表主键的引用。
  • 从表外键类型必须与主表主键类型一致。

声明外键约束:

  1. alter table 从表名 add [constraint 外键名] foreign key(从表外键名) references 主表(主表主键);

外键名称:用于删除外键约束使用,一般建议“_fk”结尾

删除外键:
alter table 从表 drop foreign key 外键名称;

存在关系的表,删除数据时先删从表,再删主表。
图示:
image.png