MySQL:多表关系设计(一对多 / 多对多 / 一对一)

<0> 多表关系概述

  实际开发中,一个项目通常需要很多张表才能完成。

  例如:一个商城项目就需要分类表(category)、 商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系,接下来我们一起 学习一下多表关系设计方面的知识

 

表与表之间的三种关系
一对多关系:最常见的关系:学生对班级 , 员工对部门
多对多关系:学生与课程 , 用户与角色
一对一关系:使用较少,因为一对一关系可以合成为一张表

 

<1> 一对多关系 (常见)

    例如: 班级和学生, 部门和员工, 客户和订单, 分类和商品

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

             

 

 <2>多对多关系 (常见)

    例如:老师和学生, 学生和课程, 用户和角色

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

    

 

 

<3>  一对一关系(了解)

    在实际开发中应用不多,因为一对一可以创建成一张表

    建表原则: 外键唯一, 主表的主键和从表的唯一外键,形成主外键关系, 外键唯一用UNIQUE修饰

    

 

posted @ 2021-07-15 17:22  Jasper2003  阅读(2759)  评论(0编辑  收藏  举报