数据表的创建(一对多,多对多)

前言

项目开发过程中,数据库表会出现很多映射关系,不只有一对多,还有一对多,多对多。则数据库实体间有三种对应关系:一对一,一对多,多对多。

一、实例

一对一关系实例:

一个学生对应一个学号。

一对多关系实例:

一个学生只属于一个班,但是一个班级有多名学生。

多对多关系实例:

一个学生可以选择多门课,一门课也有多名学生。

二、关系处理:

1.一对一:

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

2.一对多:

在这里插入图片描述
班级是1端,学生是多端,结合面向对象的思想,1端是父亲,多端是儿子,所以多端具有1端的属性,也就是说多端里面应该放置1端的主键,那么学生表里面应该放置班级表里面的主键,则只需在 学生表 中多添加一个班级号的ID。

3.多对多:

在这里插入图片描述
对于多对多关系,需要转换成1对多关系,那么就需要一张中间表来转换,这张中间表里面需要存放学生表里面的主键和课程表里面的主键,此时学生与中间表示1对多关系,课程与中间表是1对多关系,学生与课程是多对多关系;所以对于多对多表,通过关系表就建立起了两张表的联系!多对多表时建立主外键后,要先删除约束表内容再删除主表内容。
简单来来说就是在两张表之间建立关系表:
在这里插入图片描述

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值