【发布时间】:2013-04-14 22:36:19
【问题描述】:
我正在设计数据库架构。我有用户。用户提出订购请求。订单与付款相关联。付款完成后,我想为该用户生成贴纸。
贴纸有初始奖金(即 10 美元)。现在,管理员可以编辑贴纸奖品。因此,如果管理员更改贴纸奖品,则在管理员更改后订单将生成新奖品。
按数据库架构如下:
用户(ID、姓名、电子邮件、密码)
订单(id、user_id、no_of_sticker、sticker_prize、地址、状态)
付款(id、order_id、金额、日期)
贴纸(id、order_id、名称、内容)
贴纸信息(贴纸奖品)
现在,我的问题是 --- 只为一个属性创建新表是否很好。 该sticker_prize 仅供管理员编辑
请提出您宝贵的建议。
感谢您的建议。
【问题讨论】:
-
在我看来,您的sticker_info 表中缺少某些东西 - 它应该将贴纸的 id 作为外键,对吧?还是所有贴纸的价格都一样?那么这就是你所缺少的点,一个贴纸类别和相关的价格......
-
所有贴纸都有相同的奖品。没有不同类别的贴纸。
-
“贴纸”表的意义何在?为什么order_id存储在其中,尤其是sticker_id存储在orders表中?为什么管理员不能编辑订单表中的标价?
-
因为订单是由用户给出的。如果管理员及时更改它,我添加了 tag_prize 以记录先前订单的 tag_prize。如果设置了订单,则订单表将获得条目。要设置订单 tag_prize 必须事先存在于数据库中。希望你得到...
-
您是说在任何给定时间都有“当前贴纸奖”,并且当创建订单时,它会获得当时有效的贴纸奖?例如管理员将贴纸奖设置为 10 美元。用户A创建订单,奖金为10美元。用户 B 创建订单,奖金为 10 美元。管理员将奖金更改为 15 美元。用户 C 创建订单,奖金为 15 美元。等等。或者管理员是否更改现有订单的奖品金额?
标签: database database-design entity-relationship