【发布时间】:2020-01-08 05:43:09
【问题描述】:
我将使用这个数据库来构建一个使用 Laravel 框架的网站。
【问题讨论】:
-
发布带有一些示例数据的 DBfiddle 会更好。 db-fiddle.com 只是查看它,您有一些冗余数据,数据库的主要目标是规范化数据,因此如果您有一对一,那么您实际上并不需要单独的表(除非您需要单独的引擎) ,如 InnoDB 和 MyIsam),(如收货地址)。那么状态可以是一个 ENUM 字段,您将拥有多少状态以及它们多久更改一次。它们可能永远不会改变,你可能只有 4 或 5 个。
-
这样的问题存在一个问题:没有上下文,如果某事有意义与否,很难给出建议。至少如果您的问题不仅仅是关于您是否遵守正常形式。根据您所需的业务逻辑,可能会有所改进的是使付款详细信息成为用户可以存储以供以后使用的永久内容。此外,类别系统感觉有点奇怪,您可能应该为此使用递归表(这使您在子类别的深度方面具有更大的灵活性)。但如前所述,很难在没有上下文的情况下给出建议。
-
我不喜欢分类系统,我更喜欢使用标签系统。一方面它是扁平的,另一方面你可以拥有无限的标签。我也同意付款细节需要一些工作,
payment_details和user_payment_details之间没有关系 -
@ArtisticPhoenix 感谢您的回答我尝试使用 DBfiddle (www.db-fiddle.com) 但我遇到了很多错误,因为我使用 dbdesigner (dbdesigner.net) 只是为了设计数据库,我不是现在正在处理查询。我知道数据库中有很多一对一的关系,当我创建网页时,我正在使用这些表来填充表单中的选择标签
-
你创建了表,你可以做
SHOW CREATE TABLE tablename,结果将是sql创建表。在 PHPmyAdmin 中,您必须单击“显示全文”才能看到整个内容。