基于MySQL的 CMS(内容管理系统)的表结构设计

news2024/11/24 2:45:15

目录

1. 用户管理 (Users)

2. 内容管理 (Content/Posts)

3. 分类 (Categories)

4. 标签 (Tags)

5. 内容与分类关系 (Content_Category)

6. 内容与标签关系 (Content_Tag)

7. 媒体库 (Media)

8. 设置 (Settings)

9. 评论 (Comments)

10. 活动日志 (Activity_Log)

11. 菜单 (Menus)


1. 用户管理 (Users)

字段名类型描述
idINT (PK)用户ID
usernameVARCHAR(50)用户名
emailVARCHAR(100)邮箱
passwordVARCHAR(255)加密密码
roleENUM('admin', 'editor', 'author', 'subscriber')用户角色
statusENUM('active', 'inactive')状态
created_atTIMESTAMP创建时间
updated_atTIMESTAMP更新时间

2. 内容管理 (Content/Posts)

字段名类型描述
idINT (PK)内容ID
titleVARCHAR(255)标题
slugVARCHAR(255)友好的URL路径
contentTEXT内容正文
author_idINT (FK)作者ID(关联Users.id
statusENUM('draft', 'published', 'archived')状态
published_atTIMESTAMP NULL发布时间
created_atTIMESTAMP创建时间
updated_atTIMESTAMP更新时间

3. 分类 (Categories)

字段名类型描述
idINT (PK)分类ID
nameVARCHAR(100)分类名称
slugVARCHAR(100)友好的URL路径
parent_idINT (FK NULL)父分类ID(自关联)
created_atTIMESTAMP创建时间
updated_atTIMESTAMP更新时间

4. 标签 (Tags)

字段名类型描述
idINT (PK)标签ID
nameVARCHAR(100)标签名称
slugVARCHAR(100)友好的URL路径
created_atTIMESTAMP创建时间

5. 内容与分类关系 (Content_Category)

字段名类型描述
idINT (PK)记录ID
content_idINT (FK)内容ID(关联Content.id
category_idINT (FK)分类ID(关联Categories.id

6. 内容与标签关系 (Content_Tag)

字段名类型描述
idINT (PK)记录ID
content_idINT (FK)内容ID(关联Content.id
tag_idINT (FK)标签ID(关联Tags.id

7. 媒体库 (Media)

字段名类型描述
idINT (PK)媒体ID
file_nameVARCHAR(255)文件名
file_pathVARCHAR(255)文件路径
file_typeVARCHAR(50)文件类型(如image/png)
uploaded_byINT (FK)上传者ID(关联Users.id
uploaded_atTIMESTAMP上传时间

8. 设置 (Settings)

字段名类型描述
idINT (PK)设置ID
keyVARCHAR(100)设置键
valueTEXT设置值
updated_atTIMESTAMP更新时间

9. 评论 (Comments)

字段名类型描述
idINT (PK)评论ID
content_idINT (FK)内容ID(关联Content.id
author_nameVARCHAR(100)评论作者名
author_emailVARCHAR(100)评论者邮箱
commentTEXT评论内容
statusENUM('pending', 'approved', 'spam')状态
created_atTIMESTAMP创建时间

10. 活动日志 (Activity_Log)

字段名类型描述
idINT (PK)日志ID
user_idINT (FK NULL)用户ID(关联Users.id,可以为空)
actionVARCHAR(255)动作描述
entityVARCHAR(100)实体(如Content, Media等)
entity_idINT (FK NULL)实体ID
timestampTIMESTAMP时间戳

11. 菜单 (Menus)

字段名类型描述
idINT (PK)菜单ID
nameVARCHAR(100)菜单名称
slugVARCHAR(255)友好的URL路径
parent_idINT (FK NULL)父菜单ID(自关联)
orderINT菜单顺序
created_atTIMESTAMP创建时间
updated_atTIMESTAMP更新时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2246384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P2TR(Taproot 交易)和Musig2

目录 P2TR(Taproot 交易)和Musig2 P2TR(Taproot 交易) Musig2 总结 P2TR(Taproot 交易)和Musig2 都是比特币和区块链技术中的先进功能,它们各自具有独特的特点和应用场景。以下是两者的区别及举例说明: P2TR(Taproot 交易) 定义: P2TR是一种比特币交易类型,旨…

Web 入门

HTTP 一、概念 Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 二、特点 基于TCP协议:面向连接,安全。基于请求-响应模型的:一次请求对应一次响应。HTTP协议是无状态的协…

Docker+Nginx | Docker(Nginx) + Docker(fastapi)反向代理

在DockerHub搜 nginx,第一个就是官方镜像库,这里使用1.27.2版本演示 1.下载镜像 docker pull nginx:1.27.2 2.测试运行 docker run --name nginx -p 9090:80 -d nginx:1.27.2 这里绑定了宿主机的9090端口,只要访问宿主机的9090端口&#…

Postman之变量操作

系列文章目录 1.Postman之安装及汉化基本使用介绍 2.Postman之变量操作 3.Postman之数据提取 4.Postman之pm.test断言操作 5.Postman之newman Postman之变量操作 1.pm.globals全局变量2.pm.environment环境变量3.pm.collectionVariables集合变量4.pm.variables5.提取数据-设置变…

鸿蒙动画开发08——帧动画

1、概 述 帧动画通过应用onFrame逐帧回调的方式,让开发者在应用侧的每一帧都可以设置属性值,从而实现设置了该属性值对应组件的动画效果。 相比于属性动画,开发者可感知动画的过程,实时修改UI侧的值,具有事件可实时响…

《Python基础》之字符串格式化输出

目录 方式一 1、带索引 {0} 2、不带索引 { } 3、{自定义变量} 方式二 方式三 控制浮点数精度 方式一 使用.format( )进行格式化 1、带索引 {0} name boy age 18 high 183.55555 gender man print(姓名是:{0},年龄是:{1},身高是:{2},性别是:{3},身高是…

OpenCV相机标定与3D重建(3)校正鱼眼镜头畸变的函数calibrate()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::fisheye::calibrate 函数是 OpenCV 中用于校正鱼眼镜头畸变的一个重要函数。该函数通过一系列棋盘格标定板的图像来计算相机的内参矩阵和畸变…

Redis五大基本类型——Set集合命令详解(命令用法详解+思维导图详解)

目录 一、Set集合类型介绍 二、常见命令 1、SADD 2、SMEMBERS 3、SISMEMBER 4、SCARD 5、SRANDMEMBER 6、SPOP 7、SMOVE 8、SREM ​编辑 9、集合间操作 (1)SINTER (2)SINTERSTORE (3)SUNION…

CCE-基础

背景: 虚拟化产生解决物理机资源浪费问题,云计算出现实现虚拟化资源调度和管理,容器出现继续压榨虚拟化技术产生的资源浪费,用命名空间隔离(namespace) 灰度升级(升级中不影响业务&#xff09…

Chrome离线安装包下载

1、问Chrome的官网:https://www.google.cn/chrome/ 直接下载的是在线安装包,安装需要联网。 2、如果需要在无法联网的设备上安装Chrome,需要在上面的地址后面加上?standalone1。 Chrome离线安装包下载地址:https://www.google.c…

二进制 分析工具:Radare2、r2frida、Binutils、file、string、as、nm、ldd、objdump、readelf、strip

1、二进制 分析工具 工欲善其事,必先利其器,在二进制安全的学习中,​使用工具尤为重要。遇到一个不熟悉的文件时, 首先要确定 "这是什么类型的文件",回答这个问题的首要原则是,绝不要根据文件的扩…

快速图像识别:落叶植物叶片分类

1.背景意义 研究背景与意义 随着全球生态环境的变化,植物的多样性及其在生态系统中的重要性日益受到关注。植物叶片的分类不仅是植物学研究的基础,也是生态监测、农业管理和生物多样性保护的重要环节。传统的植物分类方法依赖于人工观察和专家知识&…

Chrome 浏览器 131 版本新特性

Chrome 浏览器 131 版本新特性 一、Chrome 浏览器 131 版本更新 1. 在 iOS 上使用 Google Lens 搜索 自 Chrome 126 版本以来,用户可以通过 Google Lens 搜索屏幕上看到的任何图片或文字。 要使用此功能,请访问网站,并点击聚焦时出现在地…

Windows系统编程 - 注册表

文章目录 前言注册表介绍打开和关闭注册表RegOpenKeyExRegCloseKey测试案例 创建删除子键RegCreateKeyEx创建子键RegDeleteKey删除子键 写入删除键值RegQueryValueExRegSetValueExRegDeleteValue测试案例 子键和项的枚举RegEnumKeyExRegEnumValueRegQueryInfoKey测试案例 总结 …

Jenkins + gitee 自动触发项目拉取部署(Webhook配置)

目录 前言 Generic Webhook Trigger 插件 下载插件 ​编辑 配置WebHook 生成tocken 总结 前言 前文简单介绍了Jenkins环境搭建,本文主要来介绍一下如何使用 WebHook 触发自动拉取构建项目; Generic Webhook Trigger 插件 实现代码推送后,触…

Failed to start Docker Application Container Engine

说明: 1)访问应用业务,读取不到数据,show databases;查看数据库报错 2)重启docker服务,服务启动失败,查看日志报错如下图所示 3)报错信息:chmod /data/docker: read-only…

1、HCIP之RSTP协议与STP相关安全配置

目录 RSTP—快速生成树协议 STP STP的缺点: STP的选举(Listening状态中): RSTP P/A(提议/同意)机制 同步机制: 边缘端口的配置: RSTP的端口角色划分: ensp模拟…

Kafka 生产者优化与数据处理经验

Kafka:分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析:从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析&#xff1a…

Hello-Go

Hello-Go 环境变量 GOPATH 和 GOROOT :不同于其他语言,go中没有项目的说法,只有包,其中有两个重要的路径,GOROOT 和 GOPATH Go开发相关的环境变量如下: GOROOT:GOROOT就是Go的安装目录&…

android 实现答题功能

一、效果 二、实现思路 1、界面实现 实现起来其实不难,首先我们可以看到,界面是由答题进度、题目、选项ABCD组成,现在就是要考虑实现方式,答题进度可以使用Textviewprogressbar实现,题目直接使用Textview,…