关系型数据库表与表之间的三种关系
一、一对一关系:
定义:有两个表,在第一个表中的某一行只与第二个表中的一行相关,同时第二个表中的某一行,也只与第一个表中的一行相关,我们称这两个表为一对一关系。
例如:
第一张表:
ID |
姓名 |
国籍 |
贡献 |
1001 |
王大锤 |
中国 |
万万没想到 |
1002 |
吉泽明步 |
日本 |
动作艺术片 |
1003 |
刀锋女王 |
未知 |
计划生育 |
第二张表:
ID |
出生日期 |
逝世日期 |
1001 |
1988 |
NULL |
1002 |
1984 |
NULL |
1003 |
未知 |
3XXX |
这里的第一张表的每一行只与第二张表的一行相对应。
提示:一对一关系是比较少见的关系类型。但在某些情况下,还是会需要使用这种类型。
情况一:一个表包含了太多的数据列
情况二:将数据分离到不同的表,划分不同的安全级别。
情况三:将常用数据列抽取出来组成一个表
二、一对多关系:
定义:有多张表,第一个表中的行可以与第二个表中的一到多个行相关联,但是第二个表中的一行只能与第一个表中的一行相关联。
例如:
第一张表:
ID |
姓名 |
国籍 |
|
1001 |
王大锤 |
中国 |
|
1002 |
吉泽明步 |
日本 |
|
1003 |
刀锋女王 |
未知 |
|
ID |
节目ID |
1001 |
10001 |
1001 |
10002 |
1003 |
10003 |
1003 |
10004 |
第三张表:
节目ID |
节目名称 |
10001 |
万万没想到 |
10002 |
报告老板 |
10003 |
星际2 |
10004 |
英雄联盟 |
这里的第一张表的一行可以与第二张表的多行相对应;第二张表的一行与第三张表的一行相对应。
提示:一对多关系是最常见的关系类型。
三、多对多关系:
定义:有两个表,第一个表的一行可以与第二个表中的一到多个行相关联,同时,第二个表中的一行可以与第一个表中的一到多个行相关联。
例如:
第一张表:
ID |
姓名 |
国籍 |
|
1001 |
王大锤 |
中国 |
|
1002 |
吉泽明步 |
日本 |
|
1003 |
刀锋女王 |
未知 |
|
ID |
节目ID |
1001 |
10001 |
1001 |
10002 |
1003 |
10003 |
1003 |
10004 |
第三张表:
节目ID |
节目名称 |
10001 |
万万没想到 |
10002 |
报告老板 |
10003 |
星际2 |
10004 |
英雄联盟 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix