关系型数据库 多对多(many to many)关系 三表还是两表

关系型数据库 多对多关系 三表还是两表 ?

多对多一般都是三张表,两张各自的单个信息表,一张表明关系的连接表。

student//学生基本信息表   id name ...
course//课程基本信息表    id name  teacher...
sc//选课表,每一条表明哪个学生选哪一门课,  可以只有两个字段  学生id或学号     课程id或课程号    表id有时候不是信息的id,如学号,方便删除

两张表的多对多会有冗余信息

student//学生基本信息表   id name ...
course//课程基本信息表    id name  teacher...  stu_id学生id

这样课程表就会冗余学生信息(两条记录同课程信息只有学生id不同),才能表明一堂课多个学生,删除课程信息就会同时删除课程信息科,以及学生课堂关系信息,如果只是删除课程,把以前的选课关系改为新的课就没法做了

三表还是两表看需求

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值