2

我想管理销售,销售和产品之间存在多对多的关系,所以我通过在它们之间添加实体销售描述来打破它,现在这三个实体之间的关系如下。

在此处输入图像描述

“销售说明”实体具有由 customerId、customerName、日期、时间属性组成的复合主键,该属性应作为“产品”表中的外键。现在我很困惑,每当我添加产品时,我都必须添加客户 ID、客户名称、日期、时间,这在逻辑上似乎不正确。

请问我应该如何处理销售和产品之间的关系?

4

2 回答 2

1

我会通过将客户数据存储在客户表中来组织它。然后sales表使用customers表中的customerid作为外键。sale 表应该有自己的主键。该 saleid 键成为销售描述表中的外键。通过在销售描述表中包含 productid 作为外键来链接产品。所以你的表看起来像这样:

客户表
--customerid--
客户名
--客户地址

销售表
- saleid
- customerid(外键)
- datetime

产品表
-productid-
产品名称
-产品价格

销售描述表
-saleid(外键)-productid(外
键)
-数量

于 2011-06-17T16:57:51.817 回答
0

应该反过来。产品 ID 应该是 Sales Description 表中的外键。销售说明是销售和产品之间的关系。客户 ID 属于销售表,应该是客户表的外键。这样,单个客户可能有很多销售,而每次销售可能有很多产品。我在这里假设销售 == 订单。

于 2011-06-17T16:49:15.460 回答