数据库术语问题

数据库术语问题

有人能告诉我,当你在数据库中存储字段和值时,用逗号分隔的这种技术叫什么吗?我见过有人使用这种技术,但不确定它叫什么。

id | options
1 | option1=this, option2=that, option3=other
2 | option1=this, option2=that, option3=other
3 | option1=this, option2=that

答案1

这叫做以逗号分隔的属性值对列表并且是完全合法的做法...
...在罕见和特殊情况

答案2

我同意保罗的观点,“愚蠢”是我脑海中浮现的第一个词。

答案3

顺便说一句,之所以说这是“愚蠢的”或“愚蠢的”或“一个非常糟糕的想法”,是因为最好将其作为一个单独的表来完成,其中外键字段指向第一个表中的 id 字段、“键”字段和“值”字段。这允许对键/值对进行单独索引、搜索和操作(添加、删除、更新)。

即便如此,这也仅在某些情况下有用 - 给定记录可能与自身相关联的未知/任意数量的键。如果事先知道键的名称和数量,则有更好的方法来处理它。

维基百科上有几篇关于数据库和数据库规范化的优秀介绍文章,值得一读。首先从数据库模型数据库规范化

答案4

我称之为违反第一范式。

相关内容