《跟我一起做J2EE版Blog–jPress》2(数据库和ER图)

Blog项目的需求很清晰,现存的WordPress就是很好的参照,项目的初始阶段数据库的ER图设计如下:

    本来打算引入twitter表做站内微博的,用户可以用140字简单的文本更新一下状态。后来打算将这个做成插件引入诸如人人,QQ,新浪微博的状态进行同步显示,故而没有必要在站内设计表来存储。项目会使用Hibernate负责数据库层,所以数据结构的设计伸缩性比较大,即使项目设计过程中发生业务需求的改变导致表结构需要调整,因为引入了Hibernate整个项目的数据依赖性降低,所产生的代码级的影响也是可控的。

jp_user 用户表  
id bigint(20) ID
username varchar(50) 帐号
nickname varchar(50) 昵称
password varchar(50) 密码
email varchar(50) 邮箱
register_dt datetime 注册时间
user_url varchar(50) 个人网站
user_level int(11) 用户权限:10最高,1最低。将来用spring security做用户权限管理
     
jp_usermeta 用户元素表 用来存储用户的一些其他配置信息,留作扩展
id bigint(20) ID
user_id bigint(20) 外键
user_key varchar(255) key
user_value text value
     
jp_tags 标签库  
id bigint(20) ID
name varchar(100) 标签名字
count bigint(20) 该标签文章数
     
jp_category 分类库  
id bigint(20) ID
name varchar(100) 分类名
description varchar(255) 描述
father_id bigint(20) 父分类ID
count bigint(20) 该分类文章数
     
jp_entry_tags 文章标签多对多中间表  
entry_id bigint(20)  
tags_id bigint(20)  
     
jp_entry_category 文章标签多对多中间表  
entry_id bigint(20)  
category_id bigint(20)  
     
jp_entry 文章表  
id bigint(20) ID
title varchar(100) 标题
author bigint(20) 作者
create_dt datetime 创建时间
complite_dt datetime 最后修改时间
summary varchar(2048) 摘要
content text 内容
status varchar(20) 状态(publish,draft)
type varchar(20) 类型(post,page)
father_id bigint(20) 如果类型为page,可供选择父page
views bigint(20) 点击量
     
jp_comments 访客留言  
id bigint(20) ID
author_name varchar(50) 用户名
author_site varchar(255) 用户网址
author_email varchar(255) 用户电邮
content text 内容
create_dt datetime 留言时间
post_ip varchar(20) 留言ip
father_id bigint(20) 可供选择,可回复留言,父留言记录
entry_id bigint(20) 所属文章
     
jp_options 站点元素  
id bigint(20) ID
key varchar(64) key
value text value
auto_load bit 是否在WEB容器启动时加载进缓存
     
jp_links 外链  
id bigint(20) ID
title varchar(50) 标题
url varchar(255) url地址,以http,https开头
img_url varchar(255) 可附加外链图标
order int(11) 外链序列排序
type varchar(20) 类型,可选siderbar或者footer
    站点元素,比如博客名,博客地址,博客logo,博客分页大小,博客主题等一些信息存放在jp_options中,将来使用servlet listener监听器进行启动时加载一些必要的信息,将这些信息存放入application对象中,以供缓存,如果管理员更新这部分信息,对数据库更 改的同时需要手动对application中的元素进行修改。这些需要启动时加载的元素,标记为auto_load,是一个bit类型的数据项,对 JAVA来说是一个boolean。

posted on 2012-03-11 21:35  newflypig  阅读(1049)  评论(0编辑  收藏  举报

导航