比如在常见的订单管理数据库当中“产品”表和“订单”表之间的关系。单个订单中可以包含多个产品。另一方面,一个产品可能出现在多个订单中。因此,对于“订单”表中的每条记录,都可能与“产品”表中的多条记录对应。此外,对于“产品”表中的每条记录,都可以与“订单”表中的多条记录对应。这种关系称为多对多关系,因为对于任何产品,都可以有多个订单,而对于任何订单,都可以包含许多产品。
请注意,在数据模型设计时,应该对多对多关系进行规范化,否则会发生数据冗余、更新错误等问题。规范化的基本原则是,将两个实体分别对应一个关系模型,然后用第三个关系来表达两个实体之间的联系,该关系模型一般包含两个实体的主键。它将多对多关系划分为两个一对多关系。可以建立一个“订单明细”表来链接两个实体。