您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關微豆瓣關注功能數據庫是怎么設計的的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
微豆瓣關注功能部分的數據庫是如何設計的,比如用戶A關注用戶B,是不是就在數據庫中生成一條關注記錄(估且不管它的關注表具體字段都有什么);還是說在A用戶表中修改關注用戶ID這么個字段(可能會存在,將關注的用戶Id,以逗號分隔的形式存在這個字段中),是這兩種方式中的哪一種呢,還是說是別的方式?
微豆瓣關注功能數據庫是如何設計的
一個字段記錄他所關注的好友信息,應該是json的,然后去數據庫查最新的就是更新就是。
微豆瓣代碼
-- 用戶表(如果這個表數據相當多,可以用分區表) 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); -- 用戶關注信息表(如果這個表數據相當多,可以用分區表): create table userattention ( userid number(38,0), -- 用戶ID attention_userid number(38,0), -- 被關注的用戶ID status number(18,0), -- 關注狀態(或者說關注等級,自己定義:0代表什么,1代表什么) cdate date default sysdate, -- 創建時間 udate date default sysdate -- 修改時間 -- 其他字段,自己添加 ); -- 為保持數據完整性:不管是“用戶ID”還是“被關注的用戶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對應該可能有N條記錄(而不像你說的:用一條記錄,其不同的attention_userid 用逗號隔開,這樣設置是不合理的)
-- 好比QQ號,我的QQ可以添加N個QQ好友,但我想:騰迅應該不會將我這N個QQ好友用字串連成一條記錄
感謝各位的閱讀!關于“微豆瓣關注功能數據庫是怎么設計的”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。