我正在创建一个网站的过程中,想要一些关于我的数据库模式的建议,因为我在该领域没有太多的经验。
假设我有一个网站,上面有两种产品在出售,product1和product2。
当用户购买任何一种产品时,他们都会获得一个用户帐户,该帐户具有用于访问其帐户的密钥。用户可以从其帐户页面下载他们的产品。然后,该用户可以在以后购买剩余的产品,该产品将被添加到他们的帐户,允许他们使用购买第一个产品时提供的密钥下载product1和product2。
还将存储付款信息(付款方式、交易id、时间戳等)。
我目前已经这样规划了我的模式:
我觉得我做的方式并不是最优的,还有更好的方法来组织它。有什么建议吗?
希望您能提前给予帮助和感谢:)
发布于 2011-12-19 03:29:05
最好从标识您的模式将存储的对象开始。看起来候选组件可能是
这些实体将是您开始时使用的表。适当地添加关系。
识别模式中的实体将(希望)防止您向外扩展表。例如,您不希望每次添加产品时都必须修改整个模式。同样,您也不希望每次都添加一个新表。
一旦确定了它们,就开始将它们放到normal form中。通常推荐使用第三范式。您可能会发现,正如您在模式中指出的那样,在purchase实体下有很多冗余的数据,将其分离到另一个表中会使模式更易于维护。
这将消除表中的冗余数据,这些数据稍后可能会失去同步,并有助于识别某些数据的位置。
https://stackoverflow.com/questions/8553882
复制相似问题