【发布时间】:2025-12-01 05:45:01
【问题描述】:
想象一个带有一组复选框的 Web 表单(可以选择其中的任何一个或全部)。我选择将它们保存在以逗号分隔的值列表中,这些值存储在数据库表的一列中。
现在,我知道正确的解决方案是创建第二个表并正确规范化数据库。实施简单的解决方案更快,我希望快速获得该应用程序的概念验证,而不必花费太多时间。
我认为在我的情况下节省时间和更简单的代码是值得的,这是一个合理的设计选择,还是我应该从一开始就对其进行规范化?
更多上下文,这是一个小型内部应用程序,它实质上替换了存储在共享文件夹中的 Excel 文件。我也在问,因为我正在考虑清理程序并使其更易于维护。里面有些东西我不太满意,其中之一就是这个问题的主题。
【问题讨论】:
-
在这种情况下,为什么要打扰数据库?,保存在文件中就可以了。
-
同意@thavan。为什么还要保存数据以进行概念验证?完成证明后,请正确添加数据库。做轻量级的概念证明你很好,只是不要做你以后必须取消的东西。
-
在 Postgres 中,数组列应该优先于逗号分隔的列表。这至少确保了正确的数据类型,在区分分隔符和实际数据方面没有问题,并且可以有效地对其进行索引。
标签: database database-design database-normalization