仿微博系统数据库设计和er图设计
表设计
所有表都有字段
字段名 | 类型 | 长度 | 是否可以为空 | 描述 |
---|---|---|---|---|
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(转发自谁)
转发文章也算到本人的动态或文章中,用字段标识是否为转发。
- 图片sy_tweet_img
字段名 | 类型 | 长度 | 是否可以为空 | 描述 | |
---|---|---|---|---|---|
id | bigint | 否 | 主键 | ||
img_url | varchar | 255 | 否 | 图片地址 | |
tweet_id | bigint | 否 | 文章id |
- 评论表sy_comment
字段名 | 类型 | 长度 | 是否可以为空 | 描述 |
---|---|---|---|---|
id | bigint | 否 | 主键id | |
tweet_id | bigint | 否 | 动态id | |
pid | typeint | 是 | 上级消息id | |
like_count | int | 否 | 点赞次数 |
评论的点赞次数用redis缓存
评论者可以删除自己发的评论,该动态作者也可删除其动态下所有评论
- 点赞表sy_like
字段名 | 类型 | 长度 | 是否可以为空 | 描述 |
---|---|---|---|---|
id | bigint | 否 | 点赞id | |
tweet_id | bigint | 否 | 动态id | |
comment_id | typeint | 是 | 评论id |
给动态点赞时不用存入评论id,给消息点赞时需要存入动态和评论id
- 用户关系表t_user_relation
当用户关注其他用户后会加入到关系表中
字段名 | 类型 | 长度 | 是否可以为空 | 描述 |
---|---|---|---|---|
id | bigint | 否 | 主键id | |
user_id | bigint | 否 | 用户编号 | |
follow_id | bigint | 否 | 被关注者编号 | |
visit_count | int | 否 | 访问次数 |
查询互关好友时 先查询关注自己的好友,然后查询自己关注的好友存入集合中,取交集。
不再存入关系字段
不用记录访问次数,不再展示最长访问好友,好友默认按添加时间倒序排序
er图设计
仿微博系统数据库设计和er图设计相关推荐
- 电子科大互加数据库课程作业——ER图设计
电子科大互加数据库课程作业--ER图设计 书上习题P95, 第18题 (1) (2) 关系模型,转换为3个关系 Convoy(车队名.车队号) Car(牌照号.厂家.出厂日期.车队号) Driver( ...
- 数据库关系建模(ER图设计关系表)
目录 一.概述 二.基本概念 1. 关系(relation) 2. 列(column) 3. 行(row) 4. 关系表 VS 一般的表 5. 主码(主键primary key) 6. 实体完整性约束 ...
- 数据库设计之E-R图和关系表
一 概念 E-R图:也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 实体:用矩形框表示,矩形框内写明实体 ...
- 【19】数据库范式、E-R图
文章目录 1.范式 2. 三大范式 3. E-R 图 1.范式 规范的来优化数据数据存储方式.在关系型数据库中这些规范就可以称为范式. 2. 三大范式 第一范式(1NF):是指数据库表的每一列都是不可 ...
- 数据库设计规范、E-R图、模型图
参考文章:E-R模型.E-R分析介绍 数据库设计规范.E-R图.模型图 (1)数据库设计的优劣: 糟糕的数据库设计: ①数据冗余冗余.存储空间浪费. ②数据更新和插入异常. ③程序性能差. 良好的数据 ...
- 数据库设计和ER图解释
这里写目录标题 数据库设计的基本步骤 1.阶段概述 2.图解 ER模型 1.概念 2.E-R图的图示法 3.示例 数据库设计的基本步骤 按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设 ...
- 第五章 数据库设计与ER图
1.数据库应用系统 以数据库为基础的信息系统称为数据库应用系统,简称数据库系统(Database System, DBS) 数据库工程 数据库应用系统的开发是一项软件工程,但有自己的特点,所以叫&qu ...
- 数据库的设计(E-R图,数据库模型图,三大范式)
一.数据库设计的概念 数据库设计是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程. 二.数据库设计的重要性 如果一个数据库没有进行一个良好的设计,那么这个数据库完成之后他的缺点是 ...
- 根据E-R图设计数据库表
上图是一个E-R图,一共有三个实体:司机.车辆.车队.并且这几个实体之间互相具有一定的联系. 我们首先把所有实体的表写出来. 数据类型的选择请参考文章:https://blog.csdn.net/qq ...
- java微博系统源码_JAVA仿微博系统(JAVA毕业设计含源码和运行教程)
前言 课设毕设源码收集已上传到github,包括:C,C#,C++,JAVA,PHP 等源码,更多源码在整理中.地址:https://github.com/52JDK/Source-Collectio ...
最新文章
- 另类L2TP Tunnel
- Java集合框架系列教程三:Collection接口
- 要让机器人切土豆丝,英伟达首先给土豆建了个模
- 指令流水 一个时钟周期 出一个结果_以SM3算法为例,构建一个软硬协作算法加速器:性能分析与优化...
- mysql安装1335_Mysql 安装问题。提示MySQL Server 5.1 -- Error 1335.
- 使用Event Message 对 Package 进行Troubleshoot
- 一个SQL逻辑读异常的解决方法
- java中实现工厂日历_Java Calendar实现控制台日历
- python最好用的IDE及查看源码的方法
- Linux系统下网卡网络配置基础
- View的事件处理流程
- session 的工作原理以及使用细节和url编码
- pdf类型转换器打印机
- 刷新了dns后无法访问到mysql_高效刷新DNS缓存 解决网页无法访问
- Windows聚焦图片不更新解决方法
- C++原子量,内存序,无锁并发
- 抢走Salesforce大客户,国产CRM靠的不是运气
- 通过app NA渲染后的app source 抓包
- MySQL 性能分析之 EXPLAIN 关键字
- 关于telnet逛bbs论坛
热门文章
- 2022双非计算机保研经验(西电,北邮,厦大,浙软)
- 2022.3月份工作记录【日记】
- Unity - IL2CPP报错
- 查找整数c语言程序,查找整数(示例代码)
- 先有鸡还是先有蛋的争论
- java 微信退款接口_微信APP支付和退款(JAVA)
- docker MySQL 双主_DockerMysql数据库实现双主同步配置详细·TesterHome
- C++书本综合实例(一)个人银行账户管理
- [Python从零到壹] 四十四.图像增强及运算篇之图像灰度线性变换详解
- 如何成为很厉害的程序员?- 读《精进》