以下数据库表设计是否有任何名称:
基本上我们有代表键/值对的通用列。
编号 | k1 | v1 | k2 | v2 | k3 | v3 | ……
1 | 姓名 | 山姆 | 姓氏| 史密斯 | 空 | 空 | ...
在我的应用程序中,我有许多只有一行的表,我想将它们合并到一个通用表中,该表有 X 列,每行代表单个表行。
提前致谢。
以下数据库表设计是否有任何名称:
基本上我们有代表键/值对的通用列。
1 | 姓名 | 山姆 | 姓氏| 史密斯 | 空 | 空 | ...
在我的应用程序中,我有许多只有一行的表,我想将它们合并到一个通用表中,该表有 X 列,每行代表单个表行。
提前致谢。
实体-属性-值。 也称为“名称-值表”或“开放模式”。
这是一个SQL 反模式。它不符合关系数据库设计的许多规则,并且难以维护。我建议反对。
在我对“产品表,多种产品,每个产品都有很多参数”的问题的回答中,可以看到更多我对 EAV 的想法。
馊主意。基本上,您应该将关系数据库用作关系数据库。
键/值对通常不是建议的存储方法,但至少具有单个键和单个值的单行是“正确的”。
如果将多对放在一行中,则会引发许多问题:
将您的实体建模为具有已知属性的实体。这就是数据库的用途。