首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL产品销售方案

MySQL产品销售方案
EN

Stack Overflow用户
提问于 2011-12-19 02:40:33
回答 1查看 1.5K关注 0票数 0

我正在创建一个网站的过程中,想要一些关于我的数据库模式的建议,因为我在该领域没有太多的经验。

假设我有一个网站,上面有两种产品在出售,product1和product2。

当用户购买任何一种产品时,他们都会获得一个用户帐户,该帐户具有用于访问其帐户的密钥。用户可以从其帐户页面下载他们的产品。然后,该用户可以在以后购买剩余的产品,该产品将被添加到他们的帐户,允许他们使用购买第一个产品时提供的密钥下载product1和product2。

还将存储付款信息(付款方式、交易id、时间戳等)。

我目前已经这样规划了我的模式:

我觉得我做的方式并不是最优的,还有更好的方法来组织它。有什么建议吗?

希望您能提前给予帮助和感谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-19 03:29:05

最好从标识您的模式将存储的对象开始。看起来候选组件可能是

  • user
  • (user data)
  • product
  • purchase

这些实体将是您开始时使用的表。适当地添加关系。

识别模式中的实体将(希望)防止您向外扩展表。例如,您不希望每次添加产品时都必须修改整个模式。同样,您也不希望每次都添加一个新表。

一旦确定了它们,就开始将它们放到normal form中。通常推荐使用第三范式。您可能会发现,正如您在模式中指出的那样,在purchase实体下有很多冗余的数据,将其分离到另一个表中会使模式更易于维护。

这将消除表中的冗余数据,这些数据稍后可能会失去同步,并有助于识别某些数据的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8553882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档