我正在创建一个网站,并希望对我的数据库架构提出一些建议,因为我在该领域没有太多经验。
假设我有一个网站,其中有2个产品可供出售,product1和product2。
当用户购买任一产品时,他们会获得一个带有密钥的用户帐户来访问其帐户。用户可以从他们的帐户页面下载他们的产品。然后,该用户可以在以后购买剩余的产品,并将产品添加到他们的帐户中,以便他们在购买第一个产品时使用提供给他们的密钥下载product1和product2。
还将存储付款信息(付款方式,交易ID,时间戳等)。
我目前的架构计划如下:
我觉得我这样做的方式不是最优的,有更好的方法来组织它。有什么建议吗?
希望你能提前帮助和感谢:)
答案 0 :(得分:0)
最好先确定架构将存储的对象。看起来候选组件可能是
这些实体将是您开始使用的表格。适当地添加关系。
识别模式中的实体将(希望)阻止您向外扩展表。例如,每次添加产品时,您都不希望修改整个架构。同样,您不希望每次都添加新表。
一旦确定了这些,就开始将它们放入normal form。通常建议使用第3种正常形式。您可能会发现,正如您在架构中指出的那样,有许多冗余数据属于购买实体,将其分离到另一个表会形成更易维护的架构。
这将消除表格中的冗余数据,这些数据可能会在以后失去同步,并有助于确定某些数据不合适的位置。