关于数据库表与数据透视表/联结表的关系

时间:2010-09-03 21:39:54

标签: database relational-database foreign-key-relationship database-theory

在数据库中,可以通过创建第三个表来创建表之间的多对多关系,该表使用外键将两者映射在一起。第三个表和两个原始表之间的关系是什么?

例如,如果表A和表B具有多对多关系而表AB是数据透视表,则A-> AB关系始终是多对一关系,并且是B- > AB关系也总是多对一的关系?

2 个答案:

答案 0 :(得分:0)

我认为简短的回答是“是”。 :)

简单地说,外键关系必须将AB列映射到A中的单个列或B中的单个列。但由于AB的内容表示A和B之间的多对多关系,因此可以定义AB中的A键或B键的多个实例。同时,AB中的重复记录,即。多次表示相同的A-B关系,将会出错。

所以,是的:AB两边的一对多。

答案 1 :(得分:0)

挑剔,A-> AB和B-> AB是一对多关系,而不是多对一关系:A中的实体应该在A中出现一次,但在AB中可以出现多次(将它链接到几个B实例);并且B中的实体应该在B中出现一次,但在AB中可以多次出现(将其链接到几个A实例)。