如何在数据库列中存储列表:为什么传统方法仍然是最好的
尽管可以在数据库列中存储列表通过序列化或 XML/CSV 的数据库列,经验丰富的 SQL 开发人员强烈建议不要使用这些方法。关系数据库设计用于每列一个值的存储。将列表存储在单列中违反了第一范式,破坏了数据库规范化。
第一范式通过消除逻辑不一致和潜在的损坏来确保数据完整性。它要求:
通过将列表存储在列中,您就违反了第三条规则。虽然对于函数表来说它似乎很有效,但它可能会导致以后出现麻烦。您会遇到非标准方法变得不合适的情况,从而妨碍您编写高效查询的能力。
不要将列表存储在列中,而是创建另一个表来保存列表元素并将它们链接到主表。这种方法更简单,可确保数据完整性,并允许 LINQ to SQL 自动为您的列表提供面向对象的接口。
简而言之,虽然非常规方法可能很诱人,但遵守既定的数据库设计原则将最终节省您的时间,提高数据可靠性,并允许与 LINQ to SQL 等 ORM 无缝集成。
以上是我应该将列表存储在单个数据库列中,还是单独的表总是更好?的详细内容。更多信息请关注PHP中文网其他相关文章!