Java-Web-大作业(在线新闻发布系统)数据库设计

125 阅读3分钟

提要

如标题所示,要完成的是在线新闻发布系统的数据库设计,最开始这方面一直没有进展,直到搜到一些有帮助的文章后,并解决了新闻文章的存储问题(富文本编辑并直接存入方式),终于可以开展工作了!

声明:

虽然这里的数据库设计只是大部分数据库的设计,因为这个项目是合作开发的,我只会介绍我设计或说是我最熟悉的那部分数据库。

主要数据库设计

这里的设计还不是很成熟,必然存在些许问题,但总要经历这一步的嘛。

数据库webnews

简单说一说吧,存在太多问题了,文章结尾会再提到。

users数据表

类型长度不是null字段说明
user_idbigint20*主键用户id,自动创建,递增
user_namevarchar255*用户名
user_passwordvarchar255*密码
user_phonevarchar20手机号
user_addressvarchar255地址
user_detailvarchar255详细信息
user_emailvarchar40*邮箱,对照着用户id,登录使用
user_iconvarchar255用户头像

category数据表

类型长度不是null字段说明
category_idbigint20*主键新闻类型id,固定几个类型
category_namevarchar255*新闻类型名称

news数据表

类型长度不是null字段说明
news_idbigint20*主键新闻id,自动创建,递增
category_idbigint20*新闻类型id
user_idbigint20*用户id
titlevarchar255*新闻标题
contentlongtext*新闻内容
stateint1*新闻状态(0:审核中,1:通过,2:不通过)
createTimedatetime*新闻创建时间

comments数据表

类型长度不是null字段说明
comment_idbigint20*主键评论id,自动创建,递增
user_idbigint20*用户id
news_idbigint20*新闻id
contentvarchar255*评论内容
createTimedatetime*评论时间

feedbacks数据表

类型长度不是null字段说明
feedback_idbigint20*主键反馈id,自动创建,递增
user_idbigint20*用户id
typevarchar255*类型,固定几种
contentvarchar255*反馈内容
createTimedatetime*反馈时间

总结

设计存在许多不当的地方,在设计之前应该清楚的了解需求,对每个数据表命名、数据字段名、数据类型、长度、是否为null、键信息,严格把关,如数据表名应该规范,方便构造java类、sql的编写,数据类型应严格对照mybatis对应类型设计,长度大小要做到在存的下的前提下,尽量减少浪费。这次设计是挺烂的,也就因此在之后合作开发过程中遇到不少麻烦。数据库设计可太重要了!

Java Web 大作业(在线新闻发布系统)总结