数据库建表,一对一、一对多、多对多关系

 
数据库一对一、一对多、多对多关系
 
bylin
1.一对一放同一张表,一个主键id
2.一对多,多的一方(儿子)放1(父亲)的主键
3.多对多,新➕一张中间表(需要转换成1对多关系,那么就需要一张中间表来转换), 中间表放另俩表的主键
==============================================================
 
本来数据库一对一、一对多、多对多关系并不复杂,但是最近在理解的时候感觉又感觉多了写新意,所以现在在来总结一下吧
一、首先给出三种关系的实例
1、一对一关系实例
   * 一个人对应一张身份证,一张身份证对应一个人
2、一对多关系实例
   * 一个班级拥有多个学生,一个学生只能够属于某个班级
3、多对多实例
   * 一个学生可以选修多门课程,一个课程可以被多个学生选修
 
二、一对一关系
一对一关系是最好理解的一种关系,在数据库建表的时候可以将人表的主键放置与身份证表里面,也可以将身份证表的主键放置于人表里面
 
三、一对多关系
 
  • 班级是1端,学生是多端,结合面向对象的思想,1端是父亲,多端是儿子,所以多端具有1端的属性,也就是说多端里面应该放置1端的主键,那么学生表里面应该放置班级表里面的主键

四、多对多关系

对于多对多关系,需要转换成1对多关系,那么就需要一张中间表来转换,这张中间表里面需要存放学生表里面的主键和课程表里面的主键,此时学生与中间表示1对多关系,课程与中间表是1对多关系,学生与课程是多对多关系

四、总结

总而言之,最重要的关系就是1对多关系,根据面向对象思想在建表的时候将1端主键置于多端即可。

原文地址:https://www.cnblogs.com/alex-13/p/13784956.html