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

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

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

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

管理员表:admin

表字段类型注释
idint主键
countvarchar账号
passwordvarchar密码
departmentvarchar部门

用户表:user

表字段类型注释
idint主键
namevarchar用户名
photovarchar用户头像
emailvarchar用户邮箱
passwordvarchar用户密码
telephonevarchar用户电话

博客表:contents

表字段类型注释
idint主键
aidint管理员id(外键——admin.id)
admin_departmentvarchar管理员部门
datedate时间
titlevarchar标题
contentlongtext内容
picvarchar博客中第一张图片的url(默认为空)
starint点赞数(默认为0)
commentint评论数(默认为0)
viewint访问数(默认为0)

表中冗余admin_department方便查询

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

 

用户反馈表:contact

表字段类型注释
idint主键
uidint用户id(外键——user.id)
unamevarchar用户昵称
titlevarchar标题
contentvarchar内容
datedate时间
statustinyint0:未读,1:已读(默认为0)

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

评论表:comments

表字段类型注释
idint主键
uidint用户id(外键——user.id)
cidint博客id(外键——contents.id)
unamevarchar用户昵称
contentvarchar内容
reply_countint评论被回复的数目(默认0)
datedate时间
starint点赞数

 

回复表:reply

表字段类型注释
idint主键
cid

int

回复所属博客id(外键——contents.id)
comment_idint回复所属评论id(外键——comments.id)
from_uidint回复用户id(外键——user.id)
to_uidint被回复用户id(外键——user.id)
from_unamevarchar回复用户昵称
to_unamevarchar被回复用户昵称
datedate时间
contentvarchar内容
starint点赞(默认0)
statustinyint0未读、1已读

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

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

系统通知表:sys_notice

表字段类型注释
idint主键
contentvarchar内容
datedate时间
statustinyint0未读,1已读

 

点赞信息表:great

表字段类型注释
id

int

主键
cidint博客id
uidint点赞用户id(外键——user.id)
type_idint博客、评论或回复id
typeint0博客点赞、1评论点赞和2回复点赞(默认0)
datedate时间
statustinyint0已读,1未读(默认0)

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

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

 

参考博文:博客1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

imonkeyi

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值