我对如何为电子商务网站设计数据库架构感到困惑。 我想为我的用户创建一个地址配置文件。
默认情况下,送货地址与帐单邮寄地址相同。 用户无法创建新的帐单邮寄地址,但他可以添加更多送货地址。 如果没有送货地址,那么它将使用帐单邮寄地址作为默认的shippign地址..
我的问题是,每当我更改我的送货地址或帐单地址时,我必须首先切换"有效"我的两个表格的字段("结算"和"发货)。
实施例
Billing Address 1. Miami Shipping Address 1. Miami -(active) 2. New York 3. Boston
当我将我的送货地址设置为纽约时,我不想将其余字段更新为0然后将纽约设置为1。
有更好的实施吗?我应该在我的用户表中创建另一个表示所选地址的字段吗?我应该合并两个地址表以仅形成一个地址集合吗?
架构 User = id,name
送货地址= id,user_id,complete_address,有效
结算地址= id,user_id,complete_address,有效
答案 0 :(得分:2)
Users
id, name, default_shipping_address_id, ...
BillingAddresses
id, user_id, street, ...
ShippingAddresses
id, user_id, street, ...
我是怎么做的。使用用户的最新帐单邮寄地址。还要确保存储所有元数据,如日期创建,日期修改等。