微博相互关注互粉mysql表实现_新浪微博的“关注功能”数据库是如何设计的
展开全部
你好。方法有二个:
我觉得是这样设计的e69da5e887aa62616964757a686964616f31333335343362
一个字段记录他所关注的好友信息
应该是json的
然后去数据库查最新的就是更新就是
uchome就是这么干的-- 用户表(如果这个表数据相当多,可以用分区表)
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好友用字串连成一条记录(这也太吝啬啦)
微博相互关注互粉mysql表实现_新浪微博的“关注功能”数据库是如何设计的相关推荐
- 微博相互关注互粉mysql表实现_相互关注互粉mysql实现
关注关系产生的四种关系状态 关注 粉丝 双向关注(互粉) 无关系 用词follower表示粉丝 -- 追随者 用词following表示关注 -- 追随 设计的结构必须能满足以下功能: 查询关注列表 ...
- 微博相互关注互粉mysql表实现_数据库设计实现用户关注、被关注、互粉
关系型数据库虽然存储用户的关系很简单,但是要求出用户关注被关注和互粉这种这块特别的麻烦,特别是用户A的粉丝与用户B的粉丝之间的关系,或者用户A的关注者与用户A自己的粉丝直接的关系等. 下面是一个要求: ...
- 微博相互关注互粉mysql表实现
关注关系产生的四种关系状态 关注 粉丝 双向关注(互粉) 无关系 用词follower表示粉丝 -- 追随者 用词following表示关注 -- 追随 设计的结构必须能满足以下功能: 查询关注列表 ...
- mysql异地双活架构,银行跨数据中心数据库双活架构设计:五大难点攻克
银行跨数据中心数据库双活架构设计:五大难点攻克 发布时间:2018-12-09 10:21, 浏览次数:327 数据库双活技术已成为企业重点关注的对象,社区最近组织了交流活动,以帮助大家更好的明确理解 ...
- mysql slave 配置_【mysql5.6】 数据库主从(Master/Slave)配置记录
freddon 发表于2018-04-01 阅读 661 | 评论 0 前一段时间迫于服务器的捉急内存,将redis数据库停掉了,鉴于redis的主从配置,在centos配置下mysql记录下过程. ...
- 建站助手配置mysql远程权限_建站助手设置数据库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 设计mysql表实现 好友列表、昵称设置、好友分组
今天在实现功能时遇到设计mysql表格实现 好友列表,本来感觉好友之间关系互相关联不好设计,后来把思路理清后实现了此功能,包括好友列表.昵称设置.好友分组,基本可以满足各个项目中关于好友列表设计的需求 ...
- 建立商城商品关联属性表实现单商品多规格功能
在电子商城项目开发中, 会存在同一种商品存在不同规格的情况, 如图某型号手机在售卖时用户可以选择的不同规格: 这里商品的库存量单位(SKU)便不再是该商品, 而是到具体属性组合出的规格, 每种规格可能 ...
- 深度搜索和广度搜索领接表实现_数据结构与算法--图的搜索(深度优先和广度优先)...
数据结构与算法--图的搜索(深度优先和广度优先) 有时候我们需要系统地检查每一个顶点或者每一条边来获取图的各种性质,为此需要从图的某个顶点出发,访遍图中其余顶点,且使得每一个顶点只被访问一次,这个过程 ...
最新文章
- HDU 2573 HDOJ 2573 Typing ACM 2573 IN HDU
- 【C语言】数字在排序数组中出现的次数(改动)
- python基础知识四——局部作用域和//运算符
- MYSQL小函数大用途之-------FIND_IN_SET
- IO之流程与buffer 图
- python统计学生平均成绩和及格人数_SQL 查询:查询学生平均成绩
- MW6MaxiCode ACX溢出
- SELinux 宽容模式、 强制模式、关闭模式转换
- 基因编辑最新研究进展(2022年3月)
- 力扣 179. 最大数
- 怎么打印加密的PDF文件?
- Emm_V4.2步进闭环驱动器说明书Rev1.1
- java 模拟登录58同城,Java项目实战之同城信息网站(类似58同城)开发
- L - 非常可乐——HDU-1495(bfs->优化bfs->数论)
- 提取文件内容需要什么工具?
- CISCO认证中文书籍全集和CCIE实验全集网盘打包
- textRank杂谈
- 【网友选08感动中国十大动物 猪坚强夺冠(组图)~~】
- Linux系统USB驱动目录,Linux那些事儿之我是USB 目录
- 聚焦Android之proguard混淆工具的使用