我有一個表foo
。在foo
中有4列:id
,barTypeA
,barTypeB
,barTypeC
。唯一的候選關鍵是id
。 barTypeA
,B
,C
都是非主要屬性。這些屬性在技術上不僅僅是一個列表;一個bar
是A,B或C類型的事實並不是微不足道的。但是,barTypeA
,B
和C
可以爲空。一對一或一對多關係模式
我可以讓這個表分成三個表(例如foo
,fooToBar
和barType
)從foo
到fooToBar
一個一對多的關係,但我很好奇,如果/原始設計如何違反了數據庫設計標準或正常形式。
我認爲這很有趣 - 如果這不是抽象的,對於每個潛在的學生id,說一個150列的班級信息,你會很快看出爲什麼這是一個糟糕的設計。出於某種原因,因爲這隻有3個項目,你覺得你的設計是好的 – Hogan
我的2美分:如果你的系統預計不會包含更多的棒類型,然後保持原來的設計。有這樣的東西過度規範化。 –
我認爲@ZoharPeled是完全正確的,如果有東西被實現並且正在工作,那麼可能沒有理由去改變它 - 另一方面規範化規則和技術的存在是有原因的...... – Hogan