根据这么一张关系表,就能完成多对多的关联关系。
一对多关系
=====
文章下有评论,一篇文章可以有多条评论,文章article
和评论comment
的关系就是一对多的,这个是很好理解的。
对于这种一对多关系,我的设计是在评论表中用一个外键article_id
来实现关联。
要查询某文章下的评论时,就可以依据条件article_id
筛选出对应的评论数据。
SELECT * FROM comments WHERE article_id = 229;
子级关系
====
同样地,一条评论下也会有很多回复,针对回复,我是单独设计了reply
表。comment
和reply
也是一对多的关系,reply
表中有comment_id
外键关联到comment
表。
除了对评论做回复,还可以针对某一条回复做回复,类似于这样:
而这种子级关系,就需要一个parent_id
来做记录,根据parent_id
串起来的关系,在业务侧我们就可以得到一棵回复树。
状态字段
====
很多业务都离不开状态的维护,比如数据的逻辑删除,文章的公开/私密处理,评论/回复的审核机制,这些都需要一些标志位来描述状态,同时提供一些业务接口来维护状态。
小结
==
本文是Vue3+TS+Node打造个人博客(数据库设计篇),主要介绍了我在为博客系统设计数据库时的一些主要思路和关注点,接下来将针对一些具体的业务实现来进行更详细的剖析,敬请期待!
系列文章
====
Vue3+TS+Node打造个人博客系列文章如下,持续更新,欢迎阅读!点赞关注不迷路!😍
-
Vue3+TS+Node打造个人博客(数据库设计)
-
Vue3+TS+Node打造个人博客(后端架构)
-
Vue3+TS+Node打造个人博客(前端架构)
-
Vue3+TS+Node打造个人博客(分页模型和滚动加载)
-
Vue3+TS+Node打造个人博客(一键到顶和侧边弹射)
-
Vue3+TS+Node打造个人博客(文章创作和Markdown渲染)
-
Vue3+TS+Node打造个人博客(评论系统的巧妙设计)
-
Vue3+TS+Node打造个人博客(Socket.IO在线聊天室)
-
Vue3+TS+Node打造个人博客(登录,权限,后台管理)
-
Vue3+TS+Node打造个人博客(自动化部署)
-
Vue3+TS+Node打造个人博客(小程序博客)
参考
[1]
vue3-ts-blog-frontend: https://github.com/cumt-robin/vue3-ts-blog-frontend
[2]
express-blog-backend: https://github.com/cumt-robin/express-blog-backend
END
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
总结一下这三次面试下来我的经验是:
-
一定不要死记硬背,要理解原理,否则面试官一深入就会露馅!
-
代码能力一定要注重,尤其是很多原理性的代码(之前两次让我写过Node中间件,Promise.all,双向绑定原理,被虐的怀疑人生)!
-
尽量从面试官的问题中表现自己知识的深度与广度,让面试官发现你的闪光点!
-
多刷面经!
我把所有遇到的面试题都做了一个整理,并且阅读了很多大牛的博客之后写了解析,免费分享给大家,算是一个感恩回馈吧,有需要的朋友【点击我】获取。祝大家早日拿到自己心怡的工作!
篇幅有限,仅展示部分内容
cn/img_convert/ac0b1c2376da47d727e0dc8a77e76478.png)