2011-03-15 65 views
1

我目前正在開發一個使用MYSQL數據庫InnoDB格式的Web應用程序,並且需要我的首選項數據庫設計的一些幫助。需要優先表數據庫設計的幫助

基本上我需要有一個偏好表來確定用戶汽車的品牌偏好。

BMW 0或1 TOYOTA 0或1 HONDA 0或1 MERCEDES 0或1 HOLDEN 0或1 FORD 0或1(0表示不喜歡和1裝置等)

我用來存儲所有的答案都在一張桌子上,但當我添加新的汽車品牌時很難保持。所以我需要使它變得動態,所以當我添加更多汽車品牌時,我不必修改數據庫列。

因此,我係統中的每個用戶都有自己的用戶的汽車偏好配置文件。

所以我的新設計,它有一個用戶表,偏好表和UserPreference表

UserPreference table 

providerId 
preferenceId 
response 

我的問題是如何填充用戶偏好檔案數據庫中行(默認全部爲0)一次新用戶註冊?

或者我應該使我的UserPreference表如下所示,所以我不必填充用戶偏好配置文件行?只有當用戶喜歡汽車品牌時,才能在用戶偏好設置表中創建一行。

哪種方法更好?

UserPreference table 

    providerId 
    preferenceId 

非常感謝!

回答

1

我認爲第二種方法是最好的選擇,只添加人們明確選擇的偏好。這樣,您可以假設在處理數據時一切都爲0,除非表中存在首選項以顯示其他情況。