与外键的关系开始

时间:2017-07-15 03:43:50

标签: mysql database

我从MySQL数据库关系开始,我有一个问题 我要提出一个例子:

Table A = customer  
Table B = products  
Table C = sales

我想知道如何与这些表格建立关系,其中“销售”只有一个客户和多个产品。
“销售”表不能包含具有两个外键的主键,因为它将具有多个产品 我可以创建一个'assale',但我如何构建表来接收多个产品?
谢谢。

2 个答案:

答案 0 :(得分:1)

客户与销售人员之间存在ONE-TO-MANY关系。您可以在Sales表

上添加customer引用
Table sales
- id PK
- customers_id FK

销售和产品之间存在MANY-TO-MANY关系。您将需要一个新表来映射此关系

Table sales_has_products
- sales_id FK
- products_id FK

答案 1 :(得分:0)

我建议创建第四个表,让我们称之为productSale,它有自己的主键,以及外键,销售ID和产品ID。然后,Sale将只有一个ID和客户ID的外键(当然还有您想要的任何其他信息)。 这样,销售可以包含同一产品的多个项目(因为所有productSale行都具有唯一ID),并且可以通过查询productSale来查找销售中包含的所有项目销售ID。