如果我錯誤地使用了「數據模式」,我表示歉意。這裏有一些背景。我將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
您的意思是「全部在一張桌子上」嗎? –