2013-09-27 82 views
0

我想製作一個用戶和電影的數據庫。然後,我想讓用戶點擊一部電影並將其標記爲「已觀看」。MySQL - 數據庫結構,不知道該怎麼做

什麼是最好的方式去構建這個。我的意思是,我是否可以簡單地擁有一個名爲「Watched」的表格,並將UserId鏈接到該表格中的MovieId,以表示用戶已經觀看了該特定電影。這意味着每個正在觀看的電影實例都需要在表格中記錄,對吧?它似乎最終會佔用數據庫中的大量空間。

有沒有更簡單的方法來做到這一點?對不起,如果它聽起來有點模糊。我正在考慮類似Facebook上的「朋友」。會不會有一張桌子,某個地方的友情出現的每個實例都被記錄爲一條記錄,或者有沒有一種方法可以簡單地查找朋友列表,或者是什麼,我不知道......非常感謝任何幫助,謝謝!

回答

2

您的建議是正確的,使用稱爲「監視」的表,並將該用戶ID簡單地鏈接到表中的MovieId。

通過這種方式,您將在「電影」和「用戶」表中擁有一個標準化數據庫,兩側都有一對多的關係。

當您的數據庫變得非常大時,它也可以節省您的性能成本。

0

您需要一個用戶表,電影臺,friendship_match表,如果你想記錄哪部電影在此期間看了,一看錶(這一個,你也可以顯示監視用戶的歷史)

你有建立友誼表,因爲它也會包含請求。如果某人添加某人,這並不意味着其他人會接受。除此之外,如果您查詢整個用戶表,則需要很長時間。