如果我错误地使用了“数据模式”,我表示歉意。这里有一些背景。我将Access数据库移植到基于Web的MYSQL应用程序。以下是我们正在追踪的内容。针对多列相同数据模式的数据库设计
我们有一台最多16个机头的机器。每个头都有三个与其相关的项目,其中两个是整数,一个是短文本字符串。每个生产订单至少使用一个头。有些使用全部16个,有些仅使用一个。如果使用多个头,我们会跟踪它们的使用顺序。每个生产订单都有几个短到中等长度的字段,另外还存储这些字段。绝大多数生产运行使用不到给定头的一半。
当前数据位于Access数据库中,该数据库将所有内容存储在一个表中,因此每行存储6 +(16 * 3)48个字段,总共包含54列。唯一的搜索字段是第二个,它们是整数。
id|workorder|partnumber|note|machine|reference|head1spec1|head1spec2|head1spec3|head2spec1|head2spec2|head2spec3|
...等,以头16
我知道有很多的死亡空间在那里,因为每一行包含16种元素,可以被分解成一个单独的表,并加入了显示效果。它已经获得了大约10年的数据,现在Access数据库的文件大小为60.8 MB
这是我的问题。在这种情况下,是否有任何真正的世界优势来规范化(可能不正确的用法),因为没有这些数据用于搜索,并且将它全部放在一列中对于该信息来说是一种自然状态?
如果花费10年时间才能达到60mb,那么为了节省空间,我并不担心优化。在100年内它仍然适合5美元的USB驱动器。 – bumperbox
每个头的三个属性是不变的? (它们只取决于head_number吗?),还是可以根据per_order的不同而变化? – wildplasser
您的意思是“全部在一张桌子上”吗? –