关系型数据库表与表之间的三种关系

发布时间:2025-05-23 06:30

一、一对一关系:

定义:有两个表,在第一个表中的某一行只与第二个表中的一行相关,同时第二个表中的某一行,也只与第一个表中的一行相关,我们称这两个表为一对一关系。

例如:

第一张表:

ID 姓名 国籍 贡献

1001 王大锤 中国 万万没想到1002 吉泽明步 日本 动作艺术片1003 刀锋女王 未知 计划生育

第二张表:

ID 出生日期 逝世日期

1001 1988 NULL1002 1984 NULL1003 未知 3XXX

这里的第一张表的每一行只与第二张表的一行相对应。

提示:一对一关系是比较少见的关系类型。但在某些情况下,还是会需要使用这种类型。

情况一:一个表包含了太多的数据列

情况二:将数据分离到不同的表,划分不同的安全级别。

情况三:将常用数据列抽取出来组成一个表

二、一对多关系:

定义:有多张表,第一个表中的行可以与第二个表中的一到多个行相关联,但是第二个表中的一行只能与第一个表中的一行相关联。

例如:

第一张表:

ID 姓名 国籍

1001 王大锤 中国1002 吉泽明步 日本1003 刀锋女王 未知

第二张表:

1001 100011001 100021003 100031003 10004

第三张表:

10001 万万没想到10002 报告老板10003 星际210004 英雄联盟

这里的第一张表的一行可以与第二张表的多行相对应;第二张表的一行与第三张表的一行相对应。

提示:一对多关系是最常见的关系类型。

三、多对多关系:

定义:有两个表,第一个表的一行可以与第二个表中的一到多个行相关联,同时,第二个表中的一行可以与第一个表中的一到多个行相关联。

例如:

第一张表:

ID 姓名 国籍

1001 王大锤 中国1002 吉泽明步 日本1003 刀锋女王 未知

第二张表:

1001 100011001 100021003 100031003 10004

第三张表:

10001 万万没想到10002 报告老板10003 星际210004 英雄联盟

在第一张与第三张表之间,一个人可以参加多个节目,一个节目也可以有多个人参加。例如王大锤参加了《万万没想到》和《报告老板》。而《万万没想到》中有王大锤和吉泽明步。这种是多对多的关系。

网址:关系型数据库表与表之间的三种关系 http://www.mxgxt.com/news/view/1373331

相关内容

如何查看mysql数据库表之间的关系
国产数据库常见的关系型数据库
mysql怎么建表关系图,数据库表关系怎么建
主流的关系型数据库有哪几种类型
mysql数据库表关系图怎么生成
数据库中的表关系:主键、外键和关联
数据库系统原理——ER模型与关系模型
Azure – 非关系/关系数据库上的数据库
数据库关联关系图如何画
数据库与后台什么关系

随便看看