我有一張用戶表(ID,FNAME,LNAME,INTERESTS,...)加上另一張表來保存他們可以選擇的特定利益集合:電影,電視,廣播,舞臺,站立。商店的價值清單(如興趣)
他們可以有一個以上的興趣,所以如何將這些信息存儲在用戶權益的領域?或者什麼是實現這一目標的最佳替代方法?
我有一張用戶表(ID,FNAME,LNAME,INTERESTS,...)加上另一張表來保存他們可以選擇的特定利益集合:電影,電視,廣播,舞臺,站立。商店的價值清單(如興趣)
他們可以有一個以上的興趣,所以如何將這些信息存儲在用戶權益的領域?或者什麼是實現這一目標的最佳替代方法?
該最佳的解決方案是使用3個表(第三個用於存儲的利益useres連接):
user (id, name)
interest (id, description)
user_interest (user, interest)
閱讀關於database normalisation在您的MySQL書籍。這是一個重要的話題,所以關於它可能有很大的篇幅。
總之,你刪除interests
並用第三表而不是結束,如:
user_id | interest_id
--------+------------
1 | 1
1 | 2
2 | 1
3 | 4
這樣,您能夠多到多的關係。
這裏是數據庫規範化這讓我的視頻:https://youtu.be/UrYLYV7WSHM –
@ MattG:或者閱讀你的書:) –
這是一個多對多的關係。您可以通過輸入「連接表」來存儲這些數據。
Table Users:
-----------
UserID PK
Name
...
Table Interests
-------
InterestID PK
Description.
....
User_interest
-----------
UserID PK, FK
InterestID PK, FK
幫我:http://stackoverflow.com/questions/1009025/facebook-database-design –