我正在开发一个PHP应用程序,需要将各种设置存储在数据库中.客户端经常会询问是否可以添加或更改/删除某些内容,这会导致表格设计出现问题.基本上,我有很多布尔字段,只是表明是否为特定记录启用了各种设置.
为了避免乱用表,我正在考虑将数据存储为序列化数组.我已经读到这被认为是不好的做法,但我认为这是使用这种方法的合理案例.
有没有真正的理由避免这样做?
任何建议表示赞赏
谢谢.
phi*_*dah 10
真正的原因是规范化,你将通过这样做打破第一个正常形态.
但是,在许多情况下可以考虑违反正常形式.你在处理多少个领域,他们都是布尔人?
在数据库中存储序列化为字符串的数组将具有以下缺点(以及其他):
相反,您应该考虑选择创建另一个表,其中包含您需要的记录作为来自其他表的一对多关系.因此,您不会有30个空字段,而是您可以为每个偏离默认值的选项设置一行(请注意,此选项也有一些缺点,例如,如果更改默认值).
总之:我认为你应该避免序列化数组并将它们放入数据库,至少如果你只关心上述缺点.
| 归档时间: |
|
| 查看次数: |
6949 次 |
| 最近记录: |