MySql教程

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

本文主要是介绍MySQL:多表关系设计(一对多 / 多对多 / 一对一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

<0> 多表关系概述

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

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

 

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

 

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

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

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

             

 

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

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

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

    

 

 

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

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

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

    

 

这篇关于MySQL:多表关系设计(一对多 / 多对多 / 一对一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!