表设计

所有表都有字段

字段名 类型 长度 是否可以为空 描述
createtime datetime 创建时间
updatetime datetime 修改时间
create_by bigint 创建人id
update_by bigint 修改人id
is_deleted bit 1 软删除(0删除,1不删除,默认为0)

后面表格中不会在写这些字段,建表时每个表都有

字段名 类型 长度 是否可以为空 描述
id bigint 文章id
content text 动态\文章内容
type bit 类型(0是文章1是动态)
location varchar 255 地理位置
is_original bit 是否为原创(0 原创,1转发)
forward_count int 转发次数
comment_count int 评论次数
like_count int 点赞次数
pid bigint 来源文章/动态id(即转发自文章id)

已发布动态不能修改,只能删除,图片地址用json即可

评论、点赞、转发数用redis缓存,不用维护字段,若redis没则再从三表中查询一次存入redis中即可。

若文章被转发时,在转发人的id下存入一篇新的文章,并存入上级文章id(转发自谁)

转发文章也算到本人的动态或文章中,用字段标识是否为转发。

  1. 图片sy_tweet_img
字段名 类型 长度 是否可以为空 描述
id bigint 主键
img_url varchar 255 图片地址
tweet_id bigint 文章id
  1. 评论表sy_comment
字段名 类型 长度 是否可以为空 描述
id bigint 主键id
tweet_id bigint 动态id
pid typeint 上级消息id
like_count int 点赞次数

评论的点赞次数用redis缓存

评论者可以删除自己发的评论,该动态作者也可删除其动态下所有评论

  1. 点赞表sy_like
字段名 类型 长度 是否可以为空 描述
id bigint 点赞id
tweet_id bigint 动态id
comment_id typeint 评论id

给动态点赞时不用存入评论id,给消息点赞时需要存入动态和评论id

  1. 用户关系表t_user_relation

当用户关注其他用户后会加入到关系表中

字段名 类型 长度 是否可以为空 描述
id bigint 主键id
user_id bigint 用户编号
follow_id bigint 被关注者编号
visit_count int 访问次数

查询互关好友时 先查询关注自己的好友,然后查询自己关注的好友存入集合中,取交集。

不再存入关系字段

不用记录访问次数,不再展示最长访问好友,好友默认按添加时间倒序排序

er图设计

仿微博系统数据库设计和er图设计相关推荐

  1. 电子科大互加数据库课程作业——ER图设计

    电子科大互加数据库课程作业--ER图设计 书上习题P95, 第18题 (1) (2) 关系模型,转换为3个关系 Convoy(车队名.车队号) Car(牌照号.厂家.出厂日期.车队号) Driver( ...

  2. 数据库关系建模(ER图设计关系表)

    目录 一.概述 二.基本概念 1. 关系(relation) 2. 列(column) 3. 行(row) 4. 关系表 VS 一般的表 5. 主码(主键primary key) 6. 实体完整性约束 ...

  3. 数据库设计之E-R图和关系表

    一 概念 E-R图:也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 实体:用矩形框表示,矩形框内写明实体 ...

  4. 【19】数据库范式、E-R图

    文章目录 1.范式 2. 三大范式 3. E-R 图 1.范式 规范的来优化数据数据存储方式.在关系型数据库中这些规范就可以称为范式. 2. 三大范式 第一范式(1NF):是指数据库表的每一列都是不可 ...

  5. 数据库设计规范、E-R图、模型图

    参考文章:E-R模型.E-R分析介绍 数据库设计规范.E-R图.模型图 (1)数据库设计的优劣: 糟糕的数据库设计: ①数据冗余冗余.存储空间浪费. ②数据更新和插入异常. ③程序性能差. 良好的数据 ...

  6. 数据库设计和ER图解释

    这里写目录标题 数据库设计的基本步骤 1.阶段概述 2.图解 ER模型 1.概念 2.E-R图的图示法 3.示例 数据库设计的基本步骤 按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设 ...

  7. 第五章 数据库设计与ER图

    1.数据库应用系统 以数据库为基础的信息系统称为数据库应用系统,简称数据库系统(Database System, DBS) 数据库工程 数据库应用系统的开发是一项软件工程,但有自己的特点,所以叫&qu ...

  8. 数据库的设计(E-R图,数据库模型图,三大范式)

    一.数据库设计的概念 数据库设计是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程. 二.数据库设计的重要性 如果一个数据库没有进行一个良好的设计,那么这个数据库完成之后他的缺点是 ...

  9. 根据E-R图设计数据库表

    上图是一个E-R图,一共有三个实体:司机.车辆.车队.并且这几个实体之间互相具有一定的联系. 我们首先把所有实体的表写出来. 数据类型的选择请参考文章:https://blog.csdn.net/qq ...

  10. java微博系统源码_JAVA仿微博系统(JAVA毕业设计含源码和运行教程)

    前言 课设毕设源码收集已上传到github,包括:C,C#,C++,JAVA,PHP 等源码,更多源码在整理中.地址:https://github.com/52JDK/Source-Collectio ...

最新文章

  1. 另类L2TP Tunnel
  2. Java集合框架系列教程三:Collection接口
  3. 要让机器人切土豆丝,英伟达首先给土豆建了个模
  4. 指令流水 一个时钟周期 出一个结果_以SM3算法为例,构建一个软硬协作算法加速器:性能分析与优化...
  5. mysql安装1335_Mysql 安装问题。提示MySQL Server 5.1 -- Error 1335.
  6. 使用Event Message 对 Package 进行Troubleshoot
  7. 一个SQL逻辑读异常的解决方法
  8. java中实现工厂日历_Java Calendar实现控制台日历
  9. python最好用的IDE及查看源码的方法
  10. Linux系统下网卡网络配置基础
  11. View的事件处理流程
  12. session 的工作原理以及使用细节和url编码
  13. pdf类型转换器打印机
  14. 刷新了dns后无法访问到mysql_高效刷新DNS缓存 解决网页无法访问
  15. Windows聚焦图片不更新解决方法
  16. C++原子量,内存序,无锁并发
  17. 抢走Salesforce大客户,国产CRM靠的不是运气
  18. 通过app NA渲染后的app source 抓包
  19. MySQL 性能分析之 EXPLAIN 关键字
  20. 关于telnet逛bbs论坛

热门文章

  1. 2022双非计算机保研经验(西电,北邮,厦大,浙软)
  2. 2022.3月份工作记录【日记】
  3. Unity - IL2CPP报错
  4. 查找整数c语言程序,查找整数(示例代码)
  5. 先有鸡还是先有蛋的争论
  6. java 微信退款接口_微信APP支付和退款(JAVA)
  7. docker MySQL 双主_DockerMysql数据库实现双主同步配置详细·TesterHome
  8. C++书本综合实例(一)个人银行账户管理
  9. [Python从零到壹] 四十四.图像增强及运算篇之图像灰度线性变换详解
  10. 如何成为很厉害的程序员?- 读《精进》