您好我正在尝试为项目构建数据库。
目前,所有orders
必须有customer
,customers
有address
,然后他们有shipto address
。最多可添加10个shipto addresses
个order
。每个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}}
如何将所有这些联系起来?
*编辑 只是在想,客户应该属于订单吗?或者订单是否属于客户?
答案 0 :(得分:2)
您和客户地址之间似乎有一个直接的1:N关系,可以用后者的FOREIGN KEY表示,引用前者(正如您已经注意到的那样)。
但是,无论您是否有多个地址,您仍需要记住发货时的的送货地址和产品价格,即使用户稍后更改了地址或有更改在价格。因此,仅将Order
中的FK添加到Shipto
是不可行的。
要了解如何应对这些问题,请查看:
答案 1 :(得分:0)
我的模型看起来很好,我会在shipto_id
表中添加Orders
通过这种方式,您可以知道哪个订单已发送到哪里。