MySQL数据库——多表关系介绍

目录

 

多表之间的关系

一对一

一对多(多对一)

多对多


多表之间的关系

多表之间总共存在着三种关系:一对一,一对多,多对多

一对一

如:人和身份证

分析:一个人只有一个身份证,一个身份证只能对应一个人

实现原则:一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键
                 其实实际开发中遇到的一对一的情况比较少,如果是一对一,还不如直接合为一张表,没必要拆分成两张表

这里重点是外键添加唯一特性,因为外键是可重复的,只有添加了唯一特性才能保证是一对一

一对多(多对一)

如:部门和员工

分析:一个部门有多个员工,一个员工只能对应一个部门

实现原则:在多的一方建立外键,指向一的一方的主键

多对多

如:学生和课程

分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择

原则:多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,将多对多的关系,拆成一对多的关系,中间表至少要有两个外键,这两个外键分别指向原来的那两张表的主键

通过中间表可以做到一个人可以选择多门课程,一门课程也可以被多个人选择,但是联合主键是唯一的,也就是说两个主键的组合方式是唯一的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值