项目:数据库表的梳理
总共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消息的发送时间
项目:数据库表的梳理相关推荐
- C++文件服务器项目—数据库表设计 与 后端接口设计—6
C++文件服务器项目-数据库表的设计-6 前言 1. 数据库建表 1.1 用户信息表 user_info 1.2 文件信息表 file_info 1.3 用户文件列表表 user_file_list ...
- 秒杀设计 mysql_秒杀项目-数据库表设计
-- 数据库初始化脚本 -- 创建数据库 CREATE DATABASE seckill; -- 使用数据库 use seckill; -- 创建秒杀库存表 CREATE TABLE seckill( ...
- flowable 数据库表结构 梳理
文章目录 1. 二进制数据表 (act_ge_bytearray) 2. 属性数据表(act_ge_property) 3. 历史节点表(act_hi_actinst) 4. 历史附件表( act_h ...
- 01-生鲜项目-数据库表设计
用户表:user id为主键 创建时间create_time 与 update_time需要设置默认值 商品类别表:category 商品表: 购物车: 订单表:其中使用了id 但是又使用了or ...
- GitHub轻松阅读微服务实战项目流程详解【第一天:数据库表设计及其环境搭建、项目运行】
One Day 1.数据库表详解 2.项目环境准备 github地址:https://github.com/Zealon159/light-reading-cloud 项目服务端主要使用SpringB ...
- c datatable导入mysql_《项目经验》–简单三层使用DataTable向数据库表批量导入数据—向SqlServer一张表中导入数据 | 学步园...
向数据库的一张表中添加数据,可以采用单个添加,即一条数据.一条数据的添加:也可以采用批量导入,依次将好些条数据写入数据库的一张表中.文本借助实例<添加系列信息>讲解一种向数据库批量导入数据 ...
- SSH项目中根据Hibernate的映射文件生成数据库表的方案:
1.首先在项目的根目录下配置:hibernate.cfg.xml文件:如下: <?xml version="1.0" encoding="UTF-8"?& ...
- hibernate 读取mysql表结构_为什么要用hibernate 与基于数据库表结构的项目开发
最近开始学习hibernate,其实并不知道要学习什么,有什么用.后来问了一下同事,他就说快捷方便简单,很多事情不用自己做他会帮你做好,但是我觉得不应该是这样的, 于是我就去搜了一下,就搜到了一篇帖子 ...
- 网上书城项目的需求分析、数据库表设计及前端界面的编写(项目进度一)
转载请标明出处:https://blog.csdn.net/men_ma/article/details/106847165. 本文出自 不怕报错 就怕不报错的小猿猿 的博客 网上书城项目的需求分析. ...
最新文章
- FreeBSD Ports加速的方法
- Oracle-trigger触发器解读
- logitech g hub一直在初始化_Wi-Fi中“2.4G”和“5G”的那些事儿
- Linux 面试最高频的 5 个基本问题!
- 智慧赋能黔货出山 丰收节交易会·李喜贵:贵州农业数字化
- Qt 之 Qt/Qt Lite 自编译详解(VS/MinGW/...)
- 如何写出优雅的异常处理
- CentOS虚拟机时间同步
- 对CMMI标准的简单理解
- MySQL学习十四创建和操纵表
- PreScan Regenerate问题
- 数据评估:SD(标准差), 方差, 方差分析(ANOVA)
- android自定义打电话界面,两种Android打电话实现方法
- Tracup小提示:工作总是摸鱼、走神,您可能得了“成人多动症”?
- mysql免安装版,遇到msvcr120dll文件丢失错误的解决方案
- 借微信更新说说有关版本的那些事儿
- 十字路口待转区什么用_左转待转区的几种违章 稍不注意你绝对就要中招
- 华为大数据HCIP认证(HCIP-Big Data Developer V2.0) 考试大纲
- 如何写好PRD(产品需求文档)+范例
- 连锁店管理系统如何助力零售业
热门文章
- Java 生成随机中文、英文姓名(下)
- dspq值多少最好_抖音手机上怎么修改视频的md5值
- win7如何隐藏所有微软服务器,如何隐藏Win7登录界面的administrator用户名
- NB-IoT窖井井盖解决方案
- C# Monitor.TryEnter 源码跟踪
- 开发会自测为什么测试还会单独存在?软件测试八大误区
- Unity 之 ShaderGraph Input节点解析汇总
- 图文详解 DBMS 数据库管理系统三层架构体系(三级模式)《ClickHouse 实战:企业级大数据分析引擎》...
- python画钟表代码_Python技能操作5:用代码做个能挂墙上的大钟表
- 【uniApp 接入萤石云】