成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql - 類似QQ的好友關(guān)系表是怎么設(shè)計(jì)的?

瀏覽:116日期:2022-06-21 17:24:54

問(wèn)題描述

請(qǐng)問(wèn)一下類似QQ的好友關(guān)系表是怎么設(shè)計(jì)的?難道只是簡(jiǎn)單的id,userId,friendId嗎?

問(wèn)題解答

回答1:應(yīng)該還有一個(gè)分組字段回答2:

其實(shí)沒(méi)有必要把事情想得太復(fù)雜了,按照需求慢慢遞進(jìn)就可以了。

這是我做關(guān)注功能的表結(jié)構(gòu),可以參考一下。

UserRelationship: type: object properties: id:type: integerdescription: Id user_id:type: integerdescription: 用戶Id target_user_id:type: integerdescription: 目標(biāo)用戶Id回答3:

非關(guān)系型數(shù)據(jù)庫(kù)

回答4:

我這邊做設(shè)計(jì)的時(shí)候,是考慮了群組的功能的,所以將兩個(gè)人的好友關(guān)系也轉(zhuǎn)換為了群組

整個(gè)應(yīng)該會(huì)出現(xiàn)三張表

一個(gè)是用戶表一個(gè)是群組表一個(gè)是用戶-群組對(duì)應(yīng)關(guān)系表

通過(guò)三張表來(lái)確定的

回答5:

據(jù)我所知,微博的關(guān)注就是這么設(shè)計(jì)的

回答6:

之前看過(guò)一個(gè)面試題,就是表設(shè)計(jì)問(wèn)題,好友關(guān)系表如何設(shè)計(jì),在用戶表用一個(gè)字段以逗號(hào)分隔存儲(chǔ)還是雙表關(guān)聯(lián)存儲(chǔ)的,貌似兩種都可行

回答7:

這樣夠用就可以了

回答8:

不過(guò)查詢起來(lái)也是個(gè)問(wèn)題 redis不是很適合干這個(gè)事情嘛

回答9:

或許可以再加一個(gè)是否雙向好友的標(biāo)志字段

回答10:

應(yīng)該是多對(duì)多關(guān)系。1個(gè)用戶可以有多個(gè)好友。也可以被多個(gè)用戶加為好友。多對(duì)多關(guān)系,在關(guān)系型數(shù)據(jù)庫(kù)里面,一般使用中間表來(lái)實(shí)現(xiàn)。這時(shí)候中間表一般只存用戶ID和好友ID。但是便于業(yè)務(wù)實(shí)現(xiàn),可以在中間表加上是否驗(yàn)證通過(guò)、好友分組ID、排序編號(hào)等、這個(gè)多對(duì)多中間表和一般多對(duì)多不同的地方在于,這個(gè)的關(guān)聯(lián)表是自身。也就是user表對(duì)user表的多對(duì)多關(guān)聯(lián)。

標(biāo)簽: qq
相關(guān)文章: