不会后端不用愁,Strapi解你忧——搭建博客系统常用数据表设计
使用 Strapi 做个人博客,最少 5 张核心表(文章、分类、标签、图片上传、全局配置)就能满足博客系统的基础功能了,加上评论、用户、友链扩展到 8 张表即可支持完整的博客生态了。
对于初级前端来说,建议先创建5张核心表实现博客的基础功能,如果是中高级或者对博客系统比较熟悉的,可以一步到位直接往完整的博客生态设计。
一. 最小可用版(5张表,新手、本地环境首选)
功能:写文章、分类、标签、上传图片、基础配置等,做个人博客完全够用了。
| 表名(Content-Type) | 类型 | 核心作用 | 必选字段 |
|---|---|---|---|
| Post(文章) | 集合类型 | 存储博客文章主体 | 标题、内容、摘要、封面图、发布状态、创建时间 |
| Category(分类) | 集合类型 | 文章大分类(如:前端、后端) | 分类名称、分类描述、排序 |
| Tag(标签) | 集合类型 | 文章细标(如:Vue、React) | 标签名称 |
| Upload(媒体) | 系统内置 | 保存封面图、文章内部图片等 | Strapi 自动生成,无需手动创建 |
| Setting(全局配置) | 单类型 | 博客标题、LOGO、备案号、简介等 | 站点名称、LOGO、副标题、备案信息 |
二、完整功能版(8 张表,推荐生产环境使用)
在最小版基础上,增加评论、用户、友链等功能,支持互动和扩展。
1. Post(文章表)✅ 核心
字段: - title:字符串(必填,文章标题) - content:富文本/Markdown(必填,正文) - excerpt:短文本(可选,文章摘要) - cover:媒体(可选,封面图) - isPublished:布尔值(默认false,发布状态) - publishedAt:日期(发布时间,自动) - createdAt:日期(创建时间,自动) - updatedAt:日期(更新时间,自动) 关系: - 多对一 → Category(一篇文章属于一个分类) - 多对多 → Tag(一篇文章可加多个标签)
2. Category(分类表)
字段: - name:字符串(必填,分类名) - description:文本(可选,分类描述) - sort:数字(可选,排序权重) 关系: - 一对多 → Post(一个分类包含多篇文章)
注,如果想实现多级分类,可以做如下修改:
字段: - name:字符串(必填,分类名) - description:文本(可选,分类描述) - sort:数字(可选,排序权重) - parent:字符串(可选,父分类 ID,没有就是一级分类) 关系: - 一对多 → Post(一个分类包含多篇文章,文章只关联最终子分类) - 分类自身 多对一(子分类 → 父分类)
3. Tag(标签表)
字段: - name:字符串(必填,标签名) 关系: - 多对多 → Post
4. Comment(评论表)✅ 互动必备
字段: - authorName:字符串(必填,评论人昵称) - authorEmail:字符串(可选,邮箱) - content:文本(必填,评论内容) - isChecked:布尔值(默认false,审核通过) - createdAt:日期(自动) 关系: - 多对一 → Post(一条评论属于一篇文章)
5. User(用户表)
Strapi 内置,无需手动创建。
用于:后台管理员、前台会员(可选)、权限控制。
6. Setting(全局配置)✅ 单类型(重要)
Strapi 单类型 = 只有一条数据的表,专门存网站全局信息。
字段: - siteName:字符串(博客名称) - siteLogo:媒体(LOGO) - siteDesc:文本(站点描述) - icpInfo:字符串(备案号) - socialGithub:字符串(GitHub链接)
7. FriendLink(友情链接)可选
字段: - name:字符串(友链名称) - url:字符串(链接地址) - logo:媒体(友链图标) - sort:数字(排序)
8. Page(自定义页面)可选
用于:关于我、联系方式、留言板等独立页面。
字段: - title:字符串 - content:富文本 - slug:字符串(URL 路径,如 /about)
三、表之间的核心关系(Strapi 必配):
文章 ↔ 分类:多对一(一个分类下有多篇文章)
文章 ↔ 标签:多对多(一篇文章多个标签,一个标签多篇文章)
文章 ↔ 评论:一对多(一篇文章多条评论)
其他都是独立表,无强关联
四、Strapi 快速创建步骤:
新建项目 → 后台 Content-Type Builder
依次创建:Category → Tag → Post(配置关系)→ Comment → Setting(单类型)
配置字段权限:Settings → Users & Permissions Plugin → Roles 开放前台接口
直接使用自动生成的 REST / GraphQL API
总结:
个人博客最小集:Post、Category、Tag、Setting、Upload(5 个)
完整生产版:增加 Comment、FriendLink、Page(8 个)
所有表无需写 SQL,Strapi 可视化创建,自动生成接口和管理后台。
关于创建数据表详见:不会后端不用愁,Strapi解你忧——前端使用Strapi就能实现常见的数据增删查改,分页、排序、模糊查询、时间范围等,不要后端也能自己建站 - 码间留白 - 博客园,这里就不再赘述。
浙公网安备 33010602011771号