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/