数据库一对一,一堆多,多对多理解

一、首先给出三种关系的实例
1、一对一关系实例
   * 一个人对应一张身份证,一张身份证对应一个人
2、一对多关系实例
   * 一个班级拥有多个学生,一个学生只能够属于某个班级
3、多对多实例
   * 一个学生可以选修多门课程,一个课程可以被多个学生选修

二、一对一关系

一对一关系是最好理解的一种关系,在数据库建表的时候可以将人表的主键放置与身份证表里面,也可以将身份证表的主键放置于人表里面

三、一对多关系


班级是1端,学生是多端,结合面向对象的思想,1端是父亲,多端是儿子,所以多端具有1端的属性,也就是说多端里面应该放置1端的主键,那么学生表里面应该放置班级表里面的主键

四、多对多

 

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

原文地址:https://www.cnblogs.com/wupeng88/p/11841392.html