首页/技术代码/ 个人博客数据库设计

个人博客数据库设计

作者:神奇   分类:技术代码   时间:2019-09-11 00:48:16  标签:


1.  系统概述
系统主要完成以下几方面的功能:
网站管理:网站的基础设置和主题以及插件相关信息。
用户管理:用户的注册和登录,发表博文和评论,添加好友。
博文管理:用户可以在网站中发表和设置博文。
评论管理:用户可以评论博文和回复其他用户的评论。
分类管理:添加和删除分类,给文章设置分类。
标签管理:添加和删除标签,给文章设置标签。
论坛管理:发布和设置论坛信息,管理帖子。

友情链接:设置和发布友情链接。


2. 系统功能结构图

0.png

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 ;

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

评论:

发表评论:

code