對於使用MySQL一個項目,我有一個分貝,看起來像這樣:數據庫設計:冗餘列VS未使用的列
表#1:列A,列B,列C,列D
表#2:列A,列B,列E,柱F.
正如你可以看到列A和B是冗餘通過表(相同類型,相同類型的信息爲每個表) 。
有人建議我一個桌子底下重組一切:
表#1:列A,列B,列C,柱d,E欄,F欄
的問題是我的一些項目使用列C和D和其他一些使用E和F,因此對於某些行,這些列將始終爲NULL。
這裏推薦的做法是什麼?是否有標準設計要遵循?性能和資源(數千行和~10個表)如何?
一種情況有冗餘列,另一種情況有未使用列。
或者,也許我可能分裂表,並創建一個關係,所以它給像:
表1:列A,B列
表#2:列A (外鍵),柱C,列D
表#3:列A(外鍵),E欄,F欄
我有點不知所措。這對我來說是新的。感謝您的任何意見。
沒有標準。只有對你有用的東西。 –
您應該使用最適合您業務需求的設計。由於我們不符合這些要求,因此爲您推薦解決方案相當困難。 – Shadow
爲什麼你只需要C,D和Type來表示它是CD還是EF類型的記錄呢?空位消失了,你有4列1桌。 (假設記錄不能是CD和EF)但是 – xQbert