多对多介绍
定义
多对多关系是关系数据库中两个表之间的一种关系, 该关系中第一个表中的一个行可以与第二个表中的一个或多个行相关。第二个表中的一个行也可以与第一个表中的一个或多个行相关。
举例:
比如在常见的订单管理数据库当中“产品”表和“订单”表之间的关系。单个订单中可以包含多个产品。另一方面,一个产品可能出现在多个订单中。因此,对于“订单”表中的每条记录,都可能与“产品”表中的多条记录对应。此外,对于“产品”表中的每条记录,都可以与“订单”表中的多条记录对应。这种关系称为多对多关系,因为对于任何产品,都可以有多个订单,而对于任何订单,都可以包含许多产品。请注意,为了检测到表之间的现有多对多关系,务必考虑关系的双方。
要表示多对多关系,您必须创建第三个表,该表通常称为联接表,它将多对多关系划分为两个
一对多关系
。将这两个表的主键都插入到第三个表中。因此,第三个表记录关系的每个匹配项或实例。例如,“订单”表和“产品”表有一种多对多的关系,这种关系是通过与“订单明细”表建立两个一对多关系来定义的。一个订单可以有多个产品,每个产品可以出现在多个订单中。