系统主要完成以下几方面的功能:
网站管理:网站的基础设置和主题以及插件相关信息。
用户管理:用户的注册和登录,发表博文和评论,添加好友。
博文管理:用户可以在网站中发表和设置博文。
评论管理:用户可以评论博文和回复其他用户的评论。
分类管理:添加和删除分类,给文章设置分类。
标签管理:添加和删除标签,给文章设置标签。
论坛管理:发布和设置论坛信息,管理帖子。
友情链接:设置和发布友情链接。
2. 系统功能结构图
2.1 网站管理
网站拥有以下信息:网站标题、网站副标题、网站描述、网站ico图标、网站Logo、网站关键词、网站网址。
网站主要有以下设置:站点语言、日期格式、时间格式、是否允许用户注册等等。
只有管理员可以添加、删除、修改网站信息。
2.2 用户管理
用户的相关信息如下:用户ID、用户IP、用户名、用户昵称、用户密码、用户邮箱、用户头像、用户等级、用户权限、注册时间、用户生日、用户年龄、用户手机号。
用户注册时需提供用户名、用户密码、用户邮箱或用户手机号。
用户登录时可以采用用户名或邮箱或手机号进行登录。
用户可以发布博文、发表评论、发布帖子、回复帖子,还可以添加其他用户为好友。
用户级别分为管理员和普通用户,管理员普通用户都可以担当论坛版主。
管理员可以添加、删除、修改普通用户的任何信息,还添加、删除、修改任何论坛的信息。
2.3 博文管理
博文的相关信息如下:博文ID、发布日期、发表用户、博文标题、博文内容、点赞数、回复数、游览量。
博文可以被普通用户发布、修改、删除和评论,但修改和删除仅限于自己发表的动态。
博文发布时需要设置分类、标签。
2.4 评论管理
评论的相关信息如下:评论ID、评论日期、点赞数、发表用户、评论文章ID、评论内容、父评论ID。
评论可以被用户发表和删除以及被其他用户回复。
2.5 分类管理
分类的相关信息如下:分类ID、分类名称、分类别名、分类描述、父分类ID。
只有管理员可以添加、删除、修改分类。
分类的作用不仅可以将文章分类,还可以作为博客的菜单。
2.6 标签管理
标签的相关信息如下:标签ID、标签名称、标签别名、标签描述。
用户发表文章时可以设置标签,标签不仅可以将文章分类,还可以作为博客的菜单。
2.7 论坛管理
论坛相关信息如下:论坛ID、论坛名称、论坛描述、论坛Logo、论坛背景、论坛帖子个数、父论坛ID。
帖子相关信息如下:帖子ID、帖子标题、帖子内容、发帖时间、回帖个数、发表用户、帖子浏览量、帖子状态。
帖子回复相关信息如下。回贴ID、回帖用户、回帖内容、回帖时间、所属主贴ID、父回贴ID。
管理员可以设置论坛版主,版主可以设置该论坛下的子论坛版主,版主可以加精、置顶帖子、设置论坛信息。
2.8 菜单管理
总菜单的相关信息如下:菜单ID、菜单名称。
总菜单由子菜单组成,子菜单有以下信息: 链接ID、链接名称、链接目标、打开方式、父链ID。
只有管理员可以添加、删除、修改总菜单和子菜单。
2.9 友链管理
友链的相关信息如下:友链ID、友链链接、友链名称、友链描述、友链Logo。
只有管理员可以添加、删除、修改友链。
3. 关系模式集合
网站管理(选项ID,选项名称,选项值)
用户(用户ID,用户IP,用户名,用户密码,用户邮箱,用户昵称,用户头像,用户等级,用户权限,注册时间,用户生日,用户年龄,用户手机号)
用户好友(标识ID,用户ID,好友ID,好友备注,好友状态)
博文(博文ID,发表用户ID,博文标题,博文内容,浏览量,评论总数,发表日期,点赞数)
评论(评论ID,发表用户ID,评论文章ID,点赞数,评论日期,评论内容,父评论ID)
分类(分类ID,分类名称,分类别名,分类描述,父分类ID)
博文设置分类(博文ID,分类ID)
标签(标签ID,标签名称,标签别名,标签描述)
博文设置标签(博文ID,标签ID)
总菜单(总菜单ID,总菜单名称)
子菜单(子菜单ID,菜单ID,子菜单名称,子菜单链接,子菜单打开方式,父菜单ID)
论坛(论坛ID,论坛名称,论坛描述,论坛Logo,论坛帖子个数,父论坛ID)
主贴(主题ID,论坛ID,发帖用户ID,帖子标题,帖子浏览量,帖子内容,发帖时间,帖子状态,回帖个数)
回复帖子(回帖ID,回帖用户ID,所属主贴ID,回帖内容,回帖时间,父回帖ID)
版主(版主ID,论坛ID,版主级别)
友情链接(友链ID,友链链接,友链名称,友链描述,友链Logo)
第二种:博客系统的数据库设计
-----------
-- user 用户表
-----------
CREATE TABLE user (
user_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
group_id mediumint(8) NOT NULL COMMENT '用户组ID',
user_name varchar(32) NOT NULL COMMENT '用户名',
user_pwd varchar(32) NOT NULL COMMENT '用户密码',
user_phone int(12) NOT NULL COMMENT '用户手机号码',
user_sex varchar(6) NOT NULL COMMENT '用户性别',
user_qq mediumint(9) NOT NULL COMMENT '用户QQ号码',
user_email varchar(64) NOT NULL COMMENT '用户EMAIL地址',
user_address varchar(255) NOT NULL COMMENT '用户地址',
user_mark mediumint(9) NOT NULL COMMENT '用户积分',
user_rank_id tinyint(3) NOT NULL COMMENT '用户等级',
user_last_login_ip varchar(15) NOT NULL COMMENT '用户上一次登录IP地址',
user_birthday int(13) NOT NULL COMMENT '用户生日',
user_description varchar(255) NOT NULL COMMENT '自我描述',
user_image_url varchar(255) NOT NULL COMMENT '用户头像存储路径',
user_school varchar(255) NOT NULL COMMENT '毕业学校',
user_register_time int(13) NOT NULL COMMENT '用户注册时间',
user_register_ip varchar(15) NOT NULL COMMENT '用户注册时IP地址',
user_last_update_time int(13) NOT NULL COMMENT '用户上次更新博客时间',
user_weibo varchar(255) NOT NULL COMMENT '用户微博',
user_blood_type char(3) NOT NULL COMMENT '用户血型',
user_says varchar(255) NOT NULL COMMENT '用户语录',
user_lock tinyint(3) NOT NULL COMMENT '是否锁定,0为不锁定,1为锁定',
user_freeze tinyint(3) NOT NULL COMMENT '是否冻结,0为不冻结,1为冻结',
user_power varchar(255) NOT NULL COMMENT '拥有权限',
PRIMARY KEY (user_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
-----------------
-- user_rank 用户权限表
-----------------
CREATE TABLE user_rank (
rank_id mediumint(5) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
user_rank_id smallint(5) NOT NULL COMMENT '等级ID',
rank_mark mediumint(6) NOT NULL COMMENT '等级积分',
rank_name varchar(32) NOT NULL COMMENT '等级名称',
PRIMARY KEY (rank_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
----------------
--user_group 用户组表
----------------
CREATE TABLE user_group (
g_id tinyint(3) NOT NULL AUTO_INCREMENT COMMENT '自增ID号',
group_id tinyint(3) NOT NULL COMMENT '用户组ID',
group_name varchar(20) NOT NULL COMMENT '用户组名',
group_power varchar(20) NOT NULL COMMENT '用户权限',
PRIMARY KEY (g_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
------------------
-- power_list 功能权限表
------------------
CREATE TABLE power_list (
p_id int(10) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
power_id int(10) NOT NULL COMMENT '权限ID',
power_name varchar(36) NOT NULL COMMENT '权限描述',
PRIMARY KEY (p_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
-------------------
--friend 好友表
-------------------
CREATE TABLE friend (
f_id smallint(5) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
user_id mediumint(8) NOT NULL COMMENT '用户ID',
friend_id mediumint(8) NOT NULL COMMENT '好友ID',
PRIMARY KEY (f_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
----------------------
--user_attention 用户关注表
----------------------
CREATE TABLE user_attention (
a_id smallint(5) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
user_id mediumint(8) NOT NULL COMMENT '用户ID',
attention_id mediumint(8) NOT NULL COMMENT '关注ID',
PRIMARY KEY (a_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
-----------------------
--secret_message 用户私信表
-----------------------
CREATE TABLE secret_message (
secret_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '自增私信ID',
send_id mediumint(8) NOT NULL COMMENT '发信者ID',
receive_id mediumint(8) NOT NULL COMMENT '收信者ID',
message_topic varchar(64) NOT NULL COMMENT '私信标题',
message_content varchar(255) NOT NULL COMMENT '私信内容',
PRIMARY KEY (secret_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
------------------------
--system_message 系统通知表
------------------------
CREATE TABLE system_message (
system_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '系统通知ID',
send_id mediumint(8) NOT NULL COMMENT '接受者ID',
group_id tinyint(3) NOT NULL COMMENT '用户组ID',
send_default mediumint(8) NOT NULL COMMENT '1时发送所有用户,0时则不采用',
system_topic varchar(60) NOT NULL COMMENT '通知内容',
system_content varchar(255) NOT NULL COMMENT '通知内容',
PRIMARY KEY (system_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
--------------------------
--friendly_link 友情链接
--------------------------
CREATE TABLE friendly_link (
link_id smallint(5) NOT NULL AUTO_INCREMENT COMMENT '友情链接自增ID',
link_name varchar(60) NOT NULL COMMENT '友情链接名称',
link_url varchar(255) NOT NULL COMMENT '链接地址',
link_logo varchar(255) NOT NULL COMMENT 'LOGO图片',
show_order tinyint(3) NOT NULL COMMENT '在页面显示的顺序',
PRIMARY KEY (link_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
--------------------------
--ad 广告表
--------------------------
CREATE TABLE ad (
ad_id smallint(5) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
position_id smallint(5) NOT NULL COMMENT '0,站外广告;从1开始代表的是该广告所处的广告位,同表ad_postition中的字段position_id的值',
media_type tinyint(3) NOT NULL DEFAULT 0 COMMENT '广告类型,0图片;1flash;2代码3文字',
ad_name varchar(60) NOT NULL COMMENT '该条广告记录的广告名称',
ad_link varchar(255) NOT NULL COMMENT '广告链接地址',
ad_code text NOT NULL COMMENT '广告链接的表现,文字广告就是文字或图片和flash就是它们的地址',
start_time int(13) NOT NULL DEFAULT 0 COMMENT '广告开始时间',
end_time int(13) NOT NULL DEFAULT 0 COMMENT '广告结束时间',
link_man varchar(60) NOT NULL COMMENT '广告联系人',
link_email varchar(60) NOT NULL COMMENT '广告联系人的邮箱',
link_phone varchar(60) NOT NULL COMMENT '广告联系人得电话',
click_count mediumint(8) NOT NULL DEFAULT 0 COMMENT '广告点击次数',
enabled tinyint(3) NOT NULL DEFAULT 1 COMMENT '该广告是否关闭;1开启; 0关闭; 关闭后广告将不再有效',
PRIMARY KEY (ad_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
--------------------
--stay_message 用户留言表
--------------------
CREATE TABLE stay_message (
stay_id smallint(5) NOT NULL AUTO_INCREMENT COMMENT '留言表自增ID',
user_id mediumint(8) NOT NULL COMMENT '用户ID',
stay_user_id mediumint(8) NOT NULL COMMENT '留言者ID',
message_content varchar(255) NOT NULL COMMENT '留言内容',
stay_user_ip varchar(15) NOT NULL COMMENT '留言用户的IP地址',
message_stay_time int(13) NOT NULL COMMENT '留言时间',
place varchar(64) NOT NULL COMMENT '地区',
PRIMARY KEY (stay_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
----------------------
--about_blog 博客信息表
----------------------
CREATE TABLE about_blog (
blog_id mediumint(8) NOT NULL COMMENT '用户ID',
blog_keyword varchar(255) NOT NULL COMMENT '博客关键字',
blog_description varchar(255) NOT NULL COMMENT '博客描述',
blog_name varchar(36) NOT NULL COMMENT '博客名称',
blog_title varchar(128) NOT NULL COMMENT '博客标题',
PRIMARY KEY (blog_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
------------------------
--visitor 最近访客表
------------------------
CREATE TABLE visitor (
v_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '访客记录ID',
visitor_id mediumint(8) NOT NULL COMMENT '访客ID',
visitor_time int(13) NOT NULL COMMENT '来访时间',
user_id mediumint(8) NOT NULL COMMENT '被访用户ID',
visitor_ip varchar(15) NOT NULL COMMENT '访客IP地址',
type_id int(3) NOT NULL COMMENT '访问板块ID',
where_id mediumint(8) NOT NULL COMMENT '查看某板块的某个子项目,如查看相册板块的第3个相册,该ID对应该相册的ID号',
PRIMARY KEY (v_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
-------------------------
--shuoshuo 用户心情说说表
-------------------------
CREATE TABLE shuoshuo (
shuo_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '说说记录ID',
user_id mediumint(8) NOT NULL COMMENT '用户ID',
shuo_time int(13) NOT NULL DEFAULT 0 COMMENT '发布时间',
shuo_ip varchar(15) NOT NULL COMMENT '说说发布时的IP地址',
shuoshuo varchar(255) NOT NULL COMMENT '说说内容',
type_id tinyint(3) NOT NULL DEFAULT 3 COMMENT '栏目ID,默认为3',
PRIMARY KEY (shuo_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
-------------------------
--photo_sort 相片分类表
-------------------------
CREATE TABLE photo_sort (
sort_img_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '相册ID',
sort_img_name varchar(20) NOT NULL COMMENT '相册名',
sort_img_type varchar(20) NOT NULL COMMENT '展示方式 0->仅主人可见,1->输入密码即可查看,2->仅好友能查看,3->回答问题即可查看',
img_password varchar(32) NOT NULL COMMENT '查看密码',
user_id mediumint(8) NOT NULL COMMENT '所属用户ID',
img_sort_question varchar(255) NOT NULL COMMENT '访问问题',
img_sort_answer varchar(128) NOT NULL COMMENT '访问问题的答案',
type_id int(3) NOT NULL DEFAULT 1 COMMENT '默认1表示相册板块',
top_pic_src mediumint(8) NOT NULL COMMENT '封面图片的路径',
PRIMARY KEY (sort_img_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
-------------------------
--photos 相片表
-------------------------
CREATE TABLE photos (
photo_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '相片ID',
photo_name varchar(255) NOT NULL COMMENT '相片名称',
photo_src varchar(255) NOT NULL COMMENT '图片路径',
photo_description varchar(255) NOT NULL COMMENT '图片描述',
user_id mediumint(8) NOT NULL COMMENT '所属用户ID',
sort_id mediumint(8) NOT NULL COMMENT '所属相册ID',
upload_time int(13) NOT NULL COMMENT '图片上传时间',
upload_ip varchar(15) NOT NULL COMMENT '图片操作上传IP地址',
PRIMARY KEY (photo_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
---------------------------
--article_sort 文章分类表
---------------------------
CREATE TABLE article_sort (
sort_article_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '文章自增ID',
user_id mediumint(8) NOT NULL COMMENT '该分类所属用户',
sort_article_name varchar(60) NOT NULL COMMENT '分类名称',
PRIMARY KEY (sort_article_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
----------------------------
--article 文章表
----------------------------
CREATE TABLE article (
article_id smallint(5) NOT NULL AUTO_INCREMENT COMMENT '日志自增ID号',
article_name varchar(128) NOT NULL COMMENT '文章名称',
article_time int(13) NOT NULL COMMENT '发布时间',
article_ip varchar(15) NOT NULL COMMENT '发布IP',
article_click int(10) NOT NULL COMMENT '查看人数',
sort_article_id mediumint(8) NOT NULL COMMENT '所属分类',
user_id mediumint(8) NOT NULL COMMENT '所属用户ID',
type_id tinyint(3) NOT NULL DEFAULT 1 COMMENT '栏目ID',
article_type int(13) NOT NULL DEFAULT 1 COMMENT '文章的模式:0为私有,1为公开,2为仅好友查看',
article_content text NOT NULL COMMENT '文章内容',
article_up tinyint(3) NOT NULL DEFAULT 0 COMMENT '是否置顶:0为否,1为是',
article_support tinyint(3) NOT NULL DEFAULT 0 COMMENT '是否博主推荐:0为否,1为是',
PRIMARY KEY (article_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
----------------------------
--user_comment 用户评论表
----------------------------
CREATE TABLE user_comment (
c_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '评论自增ID号',
user_id mediumint(8) NOT NULL COMMENT '收到评论的用户ID',
type_id tinyint(3) NOT NULL COMMENT '评论栏目ID',
commit_id mediumint(8) NOT NULL COMMENT '评论内容的ID',
commit_content varchar(255) NOT NULL COMMENT '评论内容',
commit_user_id mediumint(8) NOT NULL COMMENT '评论者ID',
commit_time int(13) NOT NULL COMMENT '评论时间',
commit_ip varchar(15) NOT NULL COMMENT '评论时的IP地址',
PRIMARY KEY (c_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
------------------------------
--phone_message 短信记录表
------------------------------
CREATE TABLE phone_message (
phone_id mediumint(8) NOT NULL AUTO_INCREMENT COMMENT '自增ID号',
phone_num varchar(12) NOT NULL COMMENT '用户手机号码',
contents varchar(255) NOT NULL COMMENT '发送内容',
send_time int(13) NOT NULL COMMENT '发送时间',
user_id mediumint(8) NOT NULL COMMENT '用户ID',
PRIMARY KEY (phone_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
发表评论: