300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 微博相互关注互粉mysql表实现_新浪微博的“关注功能”数据库是如何设计的

微博相互关注互粉mysql表实现_新浪微博的“关注功能”数据库是如何设计的

时间:2024-03-09 11:29:55

相关推荐

微博相互关注互粉mysql表实现_新浪微博的“关注功能”数据库是如何设计的

展开全部

你好。方法有二个:

我觉得是这样设计的e69da5e887aa62616964757a686964616f31333335343362

一个字段记录他所关注的好友信息

应该是json的

然后去数据库查最新的就是更新就是

uchome就是这么干的--用户表(如果这个表数据相当多,可以用分区表)

createtableuserinfo

(useridnumber(38,0),--可以用序列递增值也成,自己看着办

usernamevarchar2(60),

phonevarchar2(20),

addressvarchar2(20),

sexchar(1),

cdatedatedefaultsysdate

--其他字段,自己添加

);

altertableuserinfoaddconstraintspk_userinfoprimarykey(userid);

--用户关注信息表(如果这个表数据相当多,可以用分区表):

createtableuserattention

(useridnumber(38,0),--用户ID

attention_useridnumber(38,0),--被关注的用户ID

statusnumber(18,0),--关注状态(或者说关注等级,自己定义:0代表什么,1代表什么)

cdatedatedefaultsysdate,--创建时间

udatedatedefaultsysdate--修改时间

--其他字段,自己添加

);

--为保持数据完整性:不管是“用户ID”还是“被关注的用户ID”其ID必须在userinfo表中存在!

altertableuserattentionaddconstraintspk_userattentionprimarykey(userid,attention_userid);

altertableuserattentionaddconstraintsfk_userattention_useridforeignkey(userid)referencesuserinfo(userid);

altertableuserattentionaddconstraintsfk_userattention_att_useridforeignkey(attention_userid)referencesuserinfo(userid);

userattention表中一个userid对应该可能有N条记录(而不像你说的:用一条记录,其不同的attention_userid用逗号隔开,这样设置是不合理的)

--好比QQ号,我的QQ可以添加N个QQ好友,但我想:腾迅应该不会将我这N个QQ好友用字串连成一条记录(这也太吝啬啦)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。