码迷,mamicode.com
首页 > 其他好文 > 详细

10-外键的变种 三种关系

时间:2020-06-13 23:39:46      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:重点   表之间   书籍   code   col   src   http   mamicode   for   

 

本节重点:

  • 如何找出两张表之间的关系
  • 表的三种关系

 

一、介绍

因为有foreign key的约束,使得两张表形成了三种了关系:

  • 多对一
  • 多对多
  • 一对一

二、重点理解如果找出两张表之间的关系

技术图片
分析步骤:
#1、先站在左表的角度去找
是否左表的多条记录可以对应右表的一条记录,如果是,则证明左表的一个字段foreign key 右表一个字段(通常是id)

#2、再站在右表的角度去找
是否右表的多条记录可以对应左表的一条记录,如果是,则证明右表的一个字段foreign key 左表一个字段(通常是id)

#3、总结:
#多对一:
如果只有步骤1成立,则是左表多对一右表
如果只有步骤2成立,则是右表多对一左表

#多对多
如果步骤1和2同时成立,则证明这两张表时一个双向的多对一,即多对多,需要定义一个这两张表的关系表来专门存放二者的关系

#一对一:
如果1和2都不成立,而是左表的一条记录唯一对应右表的一条记录,反之亦然。这种情况很简单,就是在左表foreign key右表的基础上,将左表的外键字段设置成unique即可
技术图片

 

三、表的三种关系

(1)书和出版社

  一对多(或多对一):一个出版社可以出版多本书。看图说话。

  关联方式:foreign key

 技术图片

 

技术图片 书和出版社(多对一)

 

(2)作者和书籍的关系

  多对多:一个作者可以写多本书,一本书也可以有多个作者,双向的一对多,即多对多。看图说话。

  关联方式:foreign key+一张新的表

技术图片

 

 

技术图片 作者与书籍关系(多对多)

 

 

(3)用户和博客

  一对一:一个用户只能注册一个博客,即一对一的关系。看图说话

  关联方式:foreign key+unique

 

技术图片

 

 

技术图片 用户和博客(一对一)

10-外键的变种 三种关系

标签:重点   表之间   书籍   code   col   src   http   mamicode   for   

原文地址:https://www.cnblogs.com/Selbst/p/13122046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!