2015-06-09 34 views
0

如果只是打開和關閉一個基本功能,這應該沒問題?如何設計表格來存儲用戶設置?

USER_SETTINGS 
-Id 
-UserId 
-SettingId 
-IsEnabled 

的問題是一些設置需要各個領域......這可能是工作,但有一個更好的方式來做到這一點?

USER_SETTINGS 
-Id 
-UserId 
-SettingId 
-XMLSettings (XML data of settings) 
+0

使用EAV或XMLType。我會執行XML(至少如果你在EE上)。 – ibre5041

+0

建議不要使用EAV。 http://stackoverflow.com/questions/11779252/entity-attribute-value-table-design – sqluser

+0

XML可以工作,特別是如果你有一個XML支持良好的數據庫。其他方法也可以工作。 XML和其他方法也有缺點。這完全取決於你的「設置」是什麼以及你打算如何使用它們。沒有規範的答案。 – APC

回答

1

A.你可以使用嵌套表或對象,而不是XML在Oracle
B.您可以創建另一個表USER_SETTING_FIELD,其中有外鍵USER_SETTINGS
C.你可以使用簡單的字符串列與格式「field1:value1; field2:value2」
D.您可以爲每個字段使用額外的SettingId