我有一個相當常見的情況,用戶可以從一組屬性中進行選擇。用戶界面中的屬性由複選框表示。建模是數據庫中的屬性
例如:
組件:硬盤(Y/N),CPU(Y/N),監視器(Y/N),鍵盤(Y/N),等....
在過去,我已經爲藍本,這種情況下是這樣的:
"PCs" 1:M "PC Components" M:1 "Components"
另一種方法是使「屬性」爲Y/N字段中的「電腦」表。
例如
PCs (table)
-----------
PCId(PK)
Harddrive(y/n)
CPU(y/n)
etc...
在過去,我的理論基於用戶是否可以輸入新的屬性。如果答案是肯定的,那麼我會選擇第一個選項,如果答案是否定的,那麼我通常會使用y/n屬性。
但是現在我有一個場景,其中有大約20個屬性分爲多個類別。在創建ERD之後,它看起來「錯誤」,並且該表具有荒謬的列數。
我的問題是,有沒有一個標準/正確的方式來建模?如果是這樣,它是否有名字?
Thx for response。如果我有大約50個這些屬性,你會建議什麼?讓他們在同一張桌子上?該表格將具有大約100個屬性。或移動到1-1? – 2009-08-21 20:35:59
我建議根據規範化規則對數據庫進行建模,除非它成爲可度量的性能瓶頸。 – 2009-08-21 20:39:14
當我看到這些很多列時,它就是那些「設計氣味」之一,但數據是正常化的。感謝EPA對所有這些屬性.. – 2009-08-21 21:11:52