我想在我的web應用程序上實現Facebook更新(用戶操作和通知)。我正在使用LAMP。我應該創建一個數據庫表來存儲重複數據,還是應該調用不同的表來顯示用戶的更新。像功能的Facebook更新
有沒有更好的方法來做到這一點。
例如:當有人對用戶的個人資料發表評論時,那麼他的更新也會出現。當有人對用戶的個人資料發表評論時,這會存儲在評論表中。有很多這樣的功能需要在更新中捕獲。
我想在我的web應用程序上實現Facebook更新(用戶操作和通知)。我正在使用LAMP。我應該創建一個數據庫表來存儲重複數據,還是應該調用不同的表來顯示用戶的更新。像功能的Facebook更新
有沒有更好的方法來做到這一點。
例如:當有人對用戶的個人資料發表評論時,那麼他的更新也會出現。當有人對用戶的個人資料發表評論時,這會存儲在評論表中。有很多這樣的功能需要在更新中捕獲。
我想說兩個表
Action = {id, type_id, details, user_id}
ActionTypes={id, name}
但它真的很難是特異性的,因爲你不提供大量的信息,你需要做的正是
到目前爲止什麼做到這一點的最簡單方法是將其非規範化。把所有的消息/通知/任何東西放到一張表中並查詢。可以認爲它與用戶的「收件箱」類似。
我說無論您預計在將在您的供稿報告的動作成長這取決於,而且無論您希望能夠建立在這些行動和搜索/排序/鏈接/與之互動。
如果不關心擴展它們,我會說使用非規範化的做法,馬特格蘭德建議。
如果您希望能夠輕鬆地進行篩選,排序和擴展,比正常化任何你不得不在後續變化的興趣。 「發佈者」操作可以具有名稱,圖標,而「操作」可以只是包含鏈接的字符串。 real問題是你想要這個功能做什麼,你和你的用戶將如何與它進行交互?
我正在做我的社交網絡上的這個過程,目前我的網站有用戶公告,但我正在轉換到web 2.0動作類型,所以我基本上會有你提到的相同的東西,但我的是要複雜得多,因爲我只會顯示你是你朋友的用戶的行爲。我總是樂於接受有關改進此性能的建議,因爲它需要JOINS等僅顯示朋友而不是所有用戶的近期活動