CREATE TABLE relation (
id PRIMARY KEY AUTO_INCREMENT, //主键,自增
from_user_id big integer, // 用户 A 的 id to_user_id big integer,// 用户 B 的 Id rel_type enum(1,2) //关注数据 );

拉黑/粉丝/关注,在数据库里,存的都是一个映射关系的数字。比如,拉黑是 1,粉丝/关注是一个东西,是 2。那么,一条记录里的关键数据是:

  • from_user_id // 本条记录是哪个用户发起

  • to_user_id // 本条记录的接受方是哪个用户

  • rel_type // 发起者对接受者,做了什么事情?存事情的类型

场景举例:

用户 A 关注用户 B

插入数据:

INSERT INTO relation (rel_type, from_user_id, to_user_id) VALUES(2, A.id, B.id)

用户 A 的粉丝数:

select COUNT(*) from relation
where rel_type=2 and to_user_id=A.id;

转载于:https://www.cnblogs.com/lnas01/p/5352245.html

粉丝关注数据库表的设计相关推荐

  1. 数据库表的设计什么时候可以存在冗余?

    数据库表的设计什么时候可以存在冗余? 这个是今天的一个面试题,一般我们在设计表的时候至少需要满足第二范式,全满足第三范式可能会有很多表,在一个大型系统中,表的设计肯定是需要做冗余的但是什么时候做冗余呢 ...

  2. MySQL之数据库表的设计

    MySQL之数据库表的设计 一.表与表关系分类 1.一对多 2.多对多 3.一对一 二.表与表关系设计 1.创建四张表 2.表间关系分析: 3.设计例子 三.数据库范式 1.什么是范式? 2.函数依赖 ...

  3. 旅游项目之数据库表的设计

    一.数据库表的设计思路 1.从业务出发 不应该针对整个系统进行数据库表的设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计:不同组件间对应的数据库表之间的关联尽可能 ...

  4. 关于数据库表冗余设计的优缺点

    优点就是:可以快速查询(很多冗余就是为了避免多表链查),缺点就是:可能出现数据不同步问题. 为了方便大家理解举个例子(查询上海的用户20名 ) 有1000个用户 需要做地址address省份排序. 一 ...

  5. 程序员面试之MySQL数据库表的设计

    如果要选择一门程序员必备的技能,那答案无疑是数据库,而MySQL是首选.很多企业在面试过程中会提问MySQL数据库表设计要注意什么,接下来小千就给大家讲解一下. MySQL相较于MSSQL SERVE ...

  6. 怎么用java实现一二级菜单,以及对应的数据库表怎么设计?

    一.引言     怎么实现首页中一二级菜单联动效果?在我们开发过程中经常看到有菜单的出现,一般菜单也是有分类的.一般来说一级菜单下有N个二级菜单,在我们做管理系统的时候菜单是必不可免的.那我们应该怎么 ...

  7. 对于数据库进行设计在PHP,关于数据库表的设计

    如图所示 我的项目需要将已经爬取的coursera数据导入数据库,以备后续工作使用,如php等 现在数据已经爬取完毕,如图格式存在文件夹中,图片所示属于一个目录,我是一个数据菜鸟,不知道如何设计数据库 ...

  8. 支付业务的数据库表的设计

    一.数据表 数据库中的数据表是整个核心逻辑的载体说在,所有的记账逻辑.以及与支付前台交互的数据都是在这里 进行记录.现就主要的表进行简要说明.不同的第三方支付其数据表名称肯定也不同,这里的表名称仅作参 ...

  9. MySQL 数据库表的设计

    数据库设计步骤: 收集信息--了解本项目的功能--图书管理系统.借书,换书 标识实体--标识项目中的客观对象--图书.借阅者.借书记录...... 标识实体属性:图书信息--图书id.书名.价格... ...

  10. Mysql数据库表如何设计?

    三范式 三范式是一种数据库设计原则,要求将数据分解成更小.更简单的表,以减少数据冗余和提高数据一致性,同时保证每个表都符合第一范式.第二范式和第三范式的要求. 1. 代码实现 假设我们需要设计一个简单 ...

最新文章

  1. 跟面试官聊到JVM,他99%会让你谈谈这个问题!
  2. 微信小程序上传图片到html,微信小程序-上传图片
  3. oracle9i 大字段CLOB 长度无效 异常ORA-01483: DATE 或 NUMBER 赋
  4. 远程拷贝代码 指定端口
  5. 数据中心产品化的蜕变
  6. Linux中sudo的用法和sudoers配置详解
  7. ValueError: threshold must be numeric and non-NAN, try sys.maxsize for untruncated representation
  8. 全媒体平台可以适度超前
  9. NMEA0183协议详细解析(GPS、北斗、GNSS)
  10. 获取TrustedInstaller权限
  11. jquery引入外部CDN,失效后则引入本地jq库
  12. 联想笔记本——更换SSD并重装系统
  13. 架构设计实践五部曲(五):技术架构的战略和战术原则
  14. HDU 6148 Valley Numer(数位DP)
  15. WIN10 时间同步
  16. CF #768 F.Flipping Range
  17. JSP四大作用域,九大内置对象
  18. JVM - 双亲委派
  19. 设计模式——门面模式
  20. 扡扫机器人_米家扫拖机器人:扫地拖地一把抓,小爱同学不落下

热门文章

  1. CentOS7---iptables
  2. 面向对象chapter2
  3. oldboy第十三天学习
  4. Yarn resourceManager 无法启动
  5. 兴业银行实时跨行转入功能、免除手续费及网点排队
  6. 员工收“老板”QQ消息转账98万 警方挽回被骗资金
  7. C++实现 逆波兰表达式计算问题
  8. iOS之01-基本语法
  9. 6.SOA架构:服务和微服务分析及设计--- Web服务的服务API与契约设计
  10. 3.Jenkins 权威指南 --- 设置构建作业