客户有多个送货地址,每个订单可以有不同的地址

时间:2013-03-19 12:17:50

标签: database database-design

您好我正在尝试为项目构建数据库。

目前,所有orders必须有customercustomersaddress,然后他们有shipto address。最多可添加10个shipto addressesorder。每个address都可以发送到customer的其他Orders ------ ID customerID (referencing ID from customers) other rubbish Customers --------- ID Address Email Phone other rubbish Shipto ------ ID CustomerID (referencing ID from customers) Address other address related stuff

有人知道我应该如何建模吗?

{{1}}

如何将所有这些联系起来?

*编辑 只是在想,客户应该属于订单吗?或者订单是否属于客户?

2 个答案:

答案 0 :(得分:2)

您和客户地址之间似乎有一个直接的1:N关系,可以用后者的FOREIGN KEY表示,引用前者(正如您已经注意到的那样)。

但是,无论您是否有多个地址,您仍需要记住发货时的的送货地址和产品价格,即使用户稍后更改了地址或有更改在价格。因此,仅将Order中的FK添加到Shipto是不可行的。

要了解如何应对这些问题,请查看:

答案 1 :(得分:0)

我的模型看起来很好,我会在shipto_id表中添加Orders 通过这种方式,您可以知道哪个订单已发送到哪里。