假设您需要在编辑器应用中使用宽度和高度,将它们作为字符串(JSON让我们说)在一个列中是错误的吗?
字符串值如下所示: {宽度:100,高度:100}
宽度和高度都不会在UI中单独显示或编辑,也不能按任何一种进行排序或过滤。
这是不对的,我是否对此过于疯狂,我应该只有两个单独的栏目? 一般来说,这是一种不好的做法吗?
答案 0 :(得分:5)
是的,这是不好的做法。让数据库执行它设计的目的,即存储原始数据。您如何解释或查看数据取决于您的应用程序/报告/等。
答案 1 :(得分:1)
您认为现在不需要过滤,但经验表明最终您需要过滤。在一个字段中存储多条信息是一种不好的做法。这违反了第一种正常形式的数据库设计,是数据库设计中最简单,最基本的规则。
答案 2 :(得分:1)
除了在同一属性中存储街道号码和街道名称违反第一范式之外,必然违反第一范式。普通表单是基于您对数据施加的规则的规则。 Codd博士在发明规则时对你的数据一无所知。如果你“保证”永远不会出于任何原因拆分字段,那么按照你的定义,字段是原子的,你可以实现第一个普通形式。
答案 3 :(得分:0)
是的,它的错误原因会违反第一范式
每个属性的域只包含原子(不可分割)值,每个属性的值只包含该域中的一个值。