我认为没有足够的时间来关注原始文章中提出的架构注意事项。 因此,这是任何新手都应考虑的事项。
假设您继续构建了此解决方案。 您的所有重要值都集中为一个值,并存储在数据库中。 实际上,您确实在数据库中节省了一点空间,并节省了一些时间编码。
现在,让我们考虑一下,您必须执行频繁且轻松的任务,即在当前复选框3和4之间添加新的复选框。您的开发经理,客户,不管这是什么简单的更改。
因此,您可以将复选框添加到UI(简单部分)。 不管有多少个复选框,您的循环代码都已将这些值连接起来。 您还认为数据库字段只是varchar或其他字符串类型,因此也应该很好。
当客户或您尝试查看更改前的数据时会发生什么? 您实际上是从左到右进行序列化。 但是,现在3之后的值全都减少了1个字符。 您将如何处理所有现有数据? 您要编写一个应用程序,将其全部从数据库中拉出,对其进行处理以添加新问题位置的默认值,然后将其全部存储回数据库中吗? 当您每周或每月相隔几个新值时会发生什么? 如果您移动位置并且jQuery以不同的顺序处理这些位置怎么办? 您的所有数据均已清理完毕,必须再次进行重新整理。
不提供紧密的键-值关系的整个概念是可笑的,并且很快就会使您陷入麻烦。 对于那些考虑这一点的人,请不要。 关于架构更改的其他建议也很好。 使用子表,主表中的更多字段,问答表等。当数据结构发生更改时,请勿存储未标记的数据。