您的位置:首页 > 数据库

数据库中表关系(一对多,多对多,一对一)

2016-03-08 11:41 471 查看



一对多关系

一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,
publishers
titles
表之间具有一对多关系:每个出版社出版很多书,但是每本书名只能出自一个出版社。

只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。


多对多关系

在多对多关系中,A 表中的一行可以匹配 B 表中的多行,反之亦然。要创建这种关系,需要定义第三个表,称为结合表,它的主键由 A 表和 B 表的外部键组成。例如,
authors
titles
表具有多对多关系,这是由于这些表都与
titleauthors
表具有一对多关系。
titleauthors
表的主键是
au_id
列(
authors
表的主键)和
title_id
列(
titles
表的主键)的组合。


一对一关系

在一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。

这种关系并不常见,因为一般来说,按照这种方式相关的信息都在一个表中。可以利用一对一关系来:

分割具有多列的表。

由于安全原因而隔离表的一部分。

保存临时的数据,并且可以毫不费力地通过删除该表而删除这些数据。

保存只适用于主表的子集的信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: