映射多对多关系(可视化数据库工具)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例分析平台系统(PDW)

通过多对多关系,可以将一个表中的每一行与另一个表中的多个行相关联,反之亦然。 例如,可以在 authors 表和 titles 表之间创建多对多关系,以匹配每个作者的所有书籍,并将每本书与所有作者匹配。 从任一表中创建一对多关系会错误地指示每本书只能有一个作者,或者每个作者只能写一本书。

在数据库中,通过连接表来处理表之间的多对多关系。 联接表包含要关联的两个表的主键列。 然后,从这两个表的主键列与交接表中的匹配列创建关系。 在 pubs 数据库中,titleauthor 表是一个连接表。

在表之间创建多对多关系

  1. 在数据库关系图中,添加要创建多对多关系的表。

  2. 通过右键单击关系图并选择快捷菜单中 “新建表” 来创建第三个表。 这将成为交界表。

  3. “选择名称”对话框中,更改系统分配的表名称。 例如,titles 表和 authors 表之间的交接表现在命名为 titleauthors

  4. 将其他两个表中的主键列复制到交接表。 可以将其他列添加到此表,就像可以添加到任何其他表一样。

  5. 在交汇表中,将主键设置为包含来自其他两个表的所有主键列。 有关详细信息,请参阅 如何:创建主键

  6. 定义两个主表与连接表之间的一对多关系。 连接表应位于您创建的两个关系的"多"端。 有关详细信息,请参阅 如何:在表之间创建关系

    注意

    在数据库关系图中创建交接表不会将数据从相关表插入到交接表中。 有关将数据插入表中的信息,请参阅 创建插入结果查询(Visual Database Tools)

另请参阅

处理数据库图形(Visual Database Tools)