mysql关系模式 学生表_MySQL——表与表之间的关系

本文介绍了MySQL中表与表之间的三种关系:一对一、一对多和多对多,并通过示例详细解释了如何建立这些关系。对于一对一关系,通过在从表的外键上添加唯一约束实现;一对多关系中,一方表不变,另一方表添加外键字段;多对多关系则需要创建一个关系表来存储双方的关联。
摘要由CSDN通过智能技术生成

1.表关系分类:

总体可以分为三类: 一对一 、一对多(多对一) 、多对多

2.如何区分表与表之间是什么关系?

#分析步骤:

#多对一/一对多

#1.站在左表的角度去看右表(情况一)

如果左表中的一条记录,对应右表中多条记录.那么他们的关系则为 一对多 关系.约束关系为:左表普通字段, 对应右表foreignkey字段.

注意:如果左表与右表的情况反之.则关系为 多对一 关系.约束关系为:左表foreignkey字段, 对应右表普通字段.

#一对一

#2.站在左表的角度去看右表(情况二)

如果左表中的一条记录 对应 右表中的一条记录. 则关系为 一对一关系.

约束关系为:左表foreign key字段上 添加唯一(unique)约束, 对应右表 关联字段.

或者:右表foreign key字段上 添加唯一(unique)约束, 对应右表 关联字段.

#多对多

#3.站在左表和右表同时去看(情况三)

如果左表中的一条记录 对应 右表中的多条记录,并且右表中的一条记录同时也对应左表的多条记录. 那么这种关系 则 多对多 关系.

这种关系需要定义一个这两张表的[关系表]来专门存放二者的关系

3.建立表关系

1.一对多关系

例如:一个人可以拥有多辆汽车,要求查询某个人拥有的所有车辆。

分析:人和车辆分别单独建表,那么如何将两个表关联呢?有个巧妙的方法,在车辆的表中加个外键字段(人的编号)即可。

* (思路小结:’建两个表,一’方不动,’多’方添加一个外键字段)*

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

//建立人员表CREATE TABLEpeople(

idVARCHAR(12) PRIMARY KEY,

snameVARCHAR(12),

ageINT,

sexCHAR(1)

);INSERT INTO people VALUES('H001','小王',27,'1');INSERT INTO people VALUES('H002','小明',24,'1');INSERT INTO people VALUES('H003','张慧',28,'0');INSERT INTO people VALUES('H004','李小燕',35,'0');INSERT INTO people VALUES('H005','王大拿',29,'1');INSERT INTO people VALUES('H006','周强

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值