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


<0> 多表关系概述

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

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

 

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

 

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

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

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

             

 

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

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

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

    

 

 

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

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

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

    

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM