我对如何为电子商务网站设计数据库架构感到困惑。 我想为我的用户创建一个地址配置文件。
默认情况下,送货地址与帐单地址相同。 用户无法创建新的帐单地址,但可以添加更多送货地址。 如果没有送货地址,那么它将使用帐单地址作为默认送货地址。
我的问题是,每当我更改送货地址或帐单地址时,我必须首先切换两个表的“事件”字段(“帐单”和“送货”)。
示例
Billing Address 1. Miami Shipping Address 1. Miami -(active) 2. New York 3. Boston
当我将送货地址设置为纽约时,我不喜欢将其余字段更新为 0,然后将纽约设置为 1。
有更好的实现吗?我是否应该在用户表中创建另一个字段来指示所选地址?我是否应该合并两个地址表以仅形成一个地址集合?
架构 用户 = id, 姓名
送货地址 = id、user_id、complete_address、有效
帐单地址 = id、user_id、complete_address、事件
最佳答案
Users
id, name, default_shipping_address_id, ...
BillingAddresses
id, user_id, street, ...
ShippingAddresses
id, user_id, street, ...
我会怎么做。使用用户最新的帐单地址。还要确保您存储了所有元数据,例如创建日期、修改日期等。
关于mysql - 用户地址关系 MySQL - 数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25017124/