天天看點

***社交網站的使用者關系資料是怎麼設計的,比如關注數,黑名單數,粉絲數等等

Q:

我見過一種設計,在資料庫裡面有一張使用者關系表,表結構如下

CREATE TABLE relation (

relation_id private key AUTO_INCREMENT,//關系id

relation_fans text,//粉絲資料

relation_black text,//黑名單資料

relation_action text//關注資料

);

這樣的設計有什麼用意,如果要取得使用者的關系資料 怎麼取得?

A:

<code>text</code>類型?是存些什麼東西呢?很好奇。另外 <code>private key</code> 是筆誤還是?

你列出的這個 demo 裡,我看不出來如何獲得使用者的關系資料。我自己設計時(當然也是我認為合理的方式)是這樣的(不完全照搬我自己的,是根據你的這個表改了一下):

拉黑/粉絲/關注,在資料庫裡,存的都是一個映射關系的數字。比如,拉黑是 1,粉絲/關注是一個東西,是 2。那麼,一條記錄裡的關鍵資料是:

<code>from_user_id</code> // 本條記錄是哪個使用者發起

<code>to_user_id</code> // 本條記錄的接受方是哪個使用者

<code>rel_type</code> // 發起者對接受者,做了什麼事情?存事情的類型

場景舉例:

使用者 A 關注使用者 B

插入資料:

使用者 A 的粉絲數:

黑名單同理。

這是按照你給出的表的方式處理的。我自己在做設計的時候,其實是給 關注/粉絲 建了一張表,黑名單又建一張表。按自己的需求和習慣來就好了,無所謂選哪種。

希望有用。

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/

繼續閱讀