当前位置:网站首页>项目:数据库表的梳理
项目:数据库表的梳理
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消息的发送时间
边栏推荐
- 【系统设计与实现】基于flink的分心驾驶预测与数据分析系统
- SQL的通用语法和使用说明(图文)
- [STM32 Learning 1] Basic knowledge and concepts are clear
- How to update Win11 sound card driver?Win11 sound card driver update method
- FP7195芯片PWM转模拟调光至0.1%低亮度时恒流一致性的控制原理
- golang之GMP调度模型
- Win11声卡驱动如何更新?Win11声卡驱动更新方法
- What should I do if Windows 10 cannot connect to the printer?Solutions for not using the printer
- MATLAB绘图函数fplot详解
- Please make sure you have the correct access rights and the repository exists. Problem solved
猜你喜欢
flink+sklearn——使用jpmml实现flink上的机器学习模型部署
Win11 keeps popping up User Account Control how to fix it
推开机电的大门《电路》(二):功率计算与判断
ECP2459耐压60V降压BUCK电路用于WIFI模块供电方案原理图
CI24R1小模块2.4G收发模块无线通信低成本兼容si24r1/XN297超低功耗
What should I do if the Win10 system sets the application identity to automatically prompt for access denied?
General syntax and usage instructions of SQL (picture and text)
MATLAB绘图函数ezplot入门详解
How to set the win10 taskbar does not merge icons
Win7 encounters an error and cannot boot into the desktop normally, how to solve it?
随机推荐
[STM32 Learning 1] Basic knowledge and concepts are clear
Win11 computer off for a period of time without operating network how to solve
word方框怎么打勾?
PHY6222蓝牙5.2支持MESH组网M0内核超低功耗
Win10系统设置application identity自动提示拒绝访问怎么办
Mysql connection error solution
Mysql lock
【STM32学习1】基础知识与概念明晰
Yolov5 official code reading - prior to transmission
为android系统添加产品的过程
深入理解Golang之Map
pygame图像连续旋转
用U盘怎么重装Win7系统?如何使用u盘重装系统win7?
MATLAB制作简易小动画入门详解
使用libcurl将Opencv Mat的图像上传到文件服务器,基于post请求和ftp协议两种方法
Win10电脑需要安装杀毒软件吗?
Win10 computer can't read U disk?Don't recognize U disk how to solve?
将SSE指令转换为ARM NEON指令
Binder ServiceManager解析
FP7126降压恒流65536级高辉无频闪调光共阳极舞台灯RGB驱动方案