溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微豆瓣關(guān)注功能數(shù)據(jù)庫是怎么設(shè)計的

發(fā)布時間:2021-03-05 09:24:06 來源:億速云 閱讀:149 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)微豆瓣關(guān)注功能數(shù)據(jù)庫是怎么設(shè)計的的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

  微豆瓣關(guān)注功能部分的數(shù)據(jù)庫是如何設(shè)計的,比如用戶A關(guān)注用戶B,是不是就在數(shù)據(jù)庫中生成一條關(guān)注記錄(估且不管它的關(guān)注表具體字段都有什么);還是說在A用戶表中修改關(guān)注用戶ID這么個字段(可能會存在,將關(guān)注的用戶Id,以逗號分隔的形式存在這個字段中),是這兩種方式中的哪一種呢,還是說是別的方式?

  微豆瓣關(guān)注功能數(shù)據(jù)庫是如何設(shè)計的

  一個字段記錄他所關(guān)注的好友信息,應(yīng)該是json的,然后去數(shù)據(jù)庫查最新的就是更新就是。

  微豆瓣代碼

 -- 用戶表(如果這個表數(shù)據(jù)相當多,可以用分區(qū)表)
  create table userinfo
  ( userid number(38,0), -- 可以用序列遞增值也成,自己看著辦
    username varchar2(60),
    phone varchar2(20),
    address varchar2(20),
    sex char(1),
    cdate date default sysdate
    -- 其他字段,自己添加
  );
    
  alter table userinfo add constraints pk_userinfo primary key(userid);
    
  -- 用戶關(guān)注信息表(如果這個表數(shù)據(jù)相當多,可以用分區(qū)表):
  create table userattention
  ( userid number(38,0),           -- 用戶ID
    attention_userid number(38,0), -- 被關(guān)注的用戶ID
    status number(18,0),           -- 關(guān)注狀態(tài)(或者說關(guān)注等級,自己定義:0代表什么,1代表什么)
    cdate date default sysdate,    -- 創(chuàng)建時間
    udate date default sysdate     -- 修改時間
    -- 其他字段,自己添加
  );
    
  -- 為保持數(shù)據(jù)完整性:不管是“用戶ID”還是“被關(guān)注的用戶ID”其ID必須在userinfo表中存在!
  alter table userattention add constraints pk_userattention primary key(userid,attention_userid);
  alter table userattention add constraints fk_userattention_userid foreign key (userid) references userinfo(userid);
  alter table userattention add constraints fk_userattention_att_userid foreign key (attention_userid) references userinfo(userid);

  userattention表中一個userid對應(yīng)該可能有N條記錄(而不像你說的:用一條記錄,其不同的attention_userid 用逗號隔開,這樣設(shè)置是不合理的)

  -- 好比QQ號,我的QQ可以添加N個QQ好友,但我想:騰迅應(yīng)該不會將我這N個QQ好友用字串連成一條記錄

感謝各位的閱讀!關(guān)于“微豆瓣關(guān)注功能數(shù)據(jù)庫是怎么設(shè)計的”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI