企业博客———数据库设计

分享一下我写的企业博客项目的数据库设计。

我数据库有8个表,分别是:

admin(管理员表)、comments(评论表)、contact(用户反馈表)、contents(博客表)、great(点赞信息表)、reply(回复表)、sys_contice(系统通知表)、user(用户表)

管理员表:admin

表字段 类型 注释
id int 主键
count varchar 账号
password varchar 密码
department varchar 部门

用户表:user

表字段 类型 注释
id int 主键
name varchar 用户名
photo varchar 用户头像
email varchar 用户邮箱
password varchar 用户密码
telephone varchar 用户电话

博客表:contents

表字段 类型 注释
id int 主键
aid int 管理员id(外键——admin.id)
admin_department varchar 管理员部门
date date 时间
title varchar 标题
content longtext 内容
pic varchar 博客中第一张图片的url(默认为空)
star int 点赞数(默认为0)
comment int 评论数(默认为0)
view int 访问数(默认为0)

表中冗余admin_department方便查询

pic字段存储博客中第一张图片的url地址,如果没有为空,用来在预览博客的界面显示博客的图片,类似下图

 

用户反馈表:contact

表字段 类型 注释
id int 主键
uid int 用户id(外键——user.id)
uname varchar 用户昵称
title varchar 标题
content varchar 内容
date date 时间
status tinyint 0:未读,1:已读(默认为0)

博客网站有用户反馈界面,status字段用来判断该用户反馈信息管理员是否已经查看,和普通社交网站的信息界面一样,是我想添加的一个功能

评论表:comments

表字段 类型 注释
id int 主键
uid int 用户id(外键——user.id)
cid int 博客id(外键——contents.id)
uname varchar 用户昵称
content varchar 内容
reply_count int 评论被回复的数目(默认0)
date date 时间
star int 点赞数

回复表:reply

表字段 类型 注释
id int 主键
cid

int

回复所属博客id(外键——contents.id)
comment_id int 回复所属评论id(外键——comments.id)
from_uid int 回复用户id(外键——user.id)
to_uid int 被回复用户id(外键——user.id)
from_uname varchar 回复用户昵称
to_uname varchar 被回复用户昵称
date date 时间
content varchar 内容
star int 点赞(默认0)
status tinyint 0未读、1已读

我的评论在第一级,回复统一放在第二级,就像csdn的评论结构一样。我并没有像我参考的博客那样把回复分成对评论的回复和对回复的回复,我是想只要知道评论下属的所有回复,然后把回复按时间排序就可以了。

我在该表中冗余了from_uname和to_uname字段,这两个字段的值是可以通过to_uid和from_uid查询的,我的评论界面是仿照csdn的界面的,所以我需要显示回复者和被回复者的姓名。冗余之后我们只要查询单表就可以了。

系统通知表:sys_notice

表字段 类型 注释
id int 主键
content varchar 内容
date date 时间
status tinyint 0未读,1已读

点赞信息表:great

表字段 类型 注释
id

int

主键
cid int 博客id
uid int 点赞用户id(外键——user.id)
type_id int 博客、评论或回复id
type int 0博客点赞、1评论点赞和2回复点赞(默认0)
date date 时间
status tinyint 0已读,1未读(默认0)

不止博客可以被点赞,用户的评论和回复也可以被点赞,type字段的值说明被点赞的是什么类型,我在网上看到很多博客的点赞表中还加了status字段表示已赞和未赞,我觉得没什么必要就去掉了,点了赞就创建一条数据,取消赞就把这条数据删除,点赞信息表是用来判断当前登录用户是否对博客、评论或者回复点过赞。

字段cid是后面添加的,它表示所属博客下的点赞信息,就是说如果这是评论点赞信息,该评论是cid博客下的评论,回复同理,如果是博客则cid=type_id。

参考博文:博客1

猜你喜欢

转载自blog.csdn.net/imonkeyi/article/details/104882217