当前位置:网站首页>项目:数据库表的梳理
项目:数据库表的梳理
2022-08-02 14:10:00 【鱼子酱:P】
总共4张表---发私信功能未实现,所以只有用户表、登录凭证表、帖子表、评论表四张。
1.user用户表
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`salt` varchar(50) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
`type` int(11) DEFAULT NULL COMMENT '0-普通用户; 1-超级管理员; 2-版主;',
`status` int(11) DEFAULT NULL COMMENT '0-未激活; 1-已激活;',
`activation_code` varchar(100) DEFAULT NULL,
`header_url` varchar(200) DEFAULT NULL,
`create_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_username` (`username`(20)),
KEY `index_email` (`email`(20))
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;- username用户名称
- password用户密码
- salt盐用来加密
- email用户的邮箱
- type用户的类型 0表示普通用户 1表示超级管理员 2表示版主
- status 0表示未激活 1表示激活
- activation_code激活码
- header_url头像地址
- create_time用户注册时间
2.discuss_post帖子表
CREATE TABLE `discuss_post` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` varchar(45) DEFAULT NULL,
`title` varchar(100) DEFAULT NULL,
`content` text,
`type` int(11) DEFAULT NULL COMMENT '0-普通; 1-置顶;',
`status` int(11) DEFAULT NULL COMMENT '0-正常; 1-精华; 2-拉黑;',
`create_time` timestamp NULL DEFAULT NULL,
`comment_count` int(11) DEFAULT NULL,
`score` double DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- user_id表示发帖人的id
- title表示标题
- content表示帖子内容
- type表示帖子类型 0表示普通帖子 1表示置顶帖子
- status表示帖子的状态 0表示正常帖子 1表示精华帖 2表示拉黑帖
- create_time表示发帖日期
- comment_count表示帖子的评论数,是一个冗余参数,目的是为了提供查询效率
3.login_ticket登录凭证表
CREATE TABLE `login_ticket` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`ticket` varchar(45) NOT NULL,
`status` int(11) DEFAULT '0' COMMENT '0-有效; 1-无效;',
`expired` timestamp NOT NULL,
PRIMARY KEY (`id`),
KEY `index_ticket` (`ticket`(20))
) ENGINE=InnoDB DEFAULT CHARSET=utf8;登录凭证表,目的是为了保护用户数据的安全,用于检测用户是否处于登录状态,然后在启动服务器时通过拦截器获取登录凭证创建User对象
- user_id用户id
- ticket凭证编号
- status凭证状态 0表示有效凭证 1表示无效凭证
- expired用于检测这个凭证是否已经过期
4.comment评论表
CREATE TABLE `comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`entity_type` int(11) DEFAULT NULL,
`entity_id` int(11) DEFAULT NULL,
`target_id` int(11) DEFAULT NULL,
`content` text,
`status` int(11) DEFAULT NULL,
`create_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_user_id` (`user_id`) /*!80000 INVISIBLE */,
KEY `index_entity_id` (`entity_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;- user_id用于表示发这条评论的用户id
- entity_type表示评论的类型 :1表示回复帖子的评论 2表示回复评论的评论
- entity_id表示该评论的帖子id
- target_id表示回复时回复对象的id,如果id=0说明这是一条回复帖子的评论,如果id!=0说明这是回复target_id用户的评论
- content评论内容
- status评论的状态0表示有用的评论 1表示以删除的评论
- create_time评论的发表时间
5.message消息表
CREATE TABLE `message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`from_id` int(11) DEFAULT NULL,
`to_id` int(11) DEFAULT NULL,
`conversation_id` varchar(45) NOT NULL,
`content` text,
`status` int(11) DEFAULT NULL COMMENT '0-未读;1-已读;2-删除;',
`create_time` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_from_id` (`from_id`),
KEY `index_to_id` (`to_id`),
KEY `index_conversation_id` (`conversation_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;- from_id是发消息的人的id
- to_id是发送目标的人的id
- conversation_id也是一个冗余的字段目的是便于查询,规则以from_id和to_id用_拼接且小的在前大的在后
- content消息内容
- status消息的状态 0表示未读 1表示已读 2表示删除
- create_time消息的发送时间
边栏推荐
- pygame绘制弧线
- How to set the win10 taskbar does not merge icons
- FP5207电池升压 5V9V12V24V36V42V大功率方案
- The SSE instructions into ARM NEON
- 推开机电的大门《电路》(二):功率计算与判断
- 2022TI杯D题混沌信号产生实验装置
- How to reinstall Win7 system with U disk?How to reinstall win7 using u disk?
- 刷卡芯片CI520可直接PIN对PIN替换CV520支持SPI通讯接口
- FP5139电池与适配器供电DC-DC隔离升降压电路反激电路电荷泵电路原理图
- Win11系统找不到dll文件怎么修复
猜你喜欢

二叉树遍历之后序遍历(非递归、递归)入门详解

How to update Win11 sound card driver?Win11 sound card driver update method

FP6296锂电池升压 5V9V12V内置 MOS 大功率方案原理图

Win10电脑不能读取U盘怎么办?不识别U盘怎么解决?

Mysql的锁

Binder机制(中篇)

镜像法求解接地导体空腔电势分布问题

PHY6222蓝牙5.2支持MESH组网M0内核超低功耗

CI24R1小模块2.4G收发模块无线通信低成本兼容si24r1/XN297超低功耗

What should I do if Windows 10 cannot connect to the printer?Solutions for not using the printer
随机推荐
cmake configure libtorch error Failed to compute shorthash for libnvrtc.so
Bash shell位置参数
【STM32学习1】基础知识与概念明晰
镜像法求解接地导体空腔电势分布问题
LORA芯片ASR6505无线远距离传输8位MCU
flink+sklearn——使用jpmml实现flink上的机器学习模型部署
Open the door of power and electricity "Circuit" (2): Power Calculation and Judgment
Win11系统找不到dll文件怎么修复
STM32LL库使用——SPI通信
PHY6222蓝牙5.2支持MESH组网M0内核超低功耗
MATLAB绘图函数fplot详解
二叉树遍历之后序遍历(非递归、递归)入门详解
Spark及相关生态组件安装配置——快速回忆
Win11怎么在右键菜单添加一键关机选项
总结计算机网络超全面试题
Win10系统设置application identity自动提示拒绝访问怎么办
mysql的索引结构为什么选用B+树?
jest测试,组件测试
Please make sure you have the correct access rights and the repository exists. Problem solved
2021-10-14