JavaWeb_gy博客网站_数据库实现
Posted Cynical丶Gary
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb_gy博客网站_数据库实现相关的知识,希望对你有一定的参考价值。
3.1数据库需求分析
技术博客网站的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据,数据结构以及数据处理的流程,组成一份详尽的数据库。针对本学院的毕业论文完成的流程,通过对技术博客网站设计和数据流程分析,设计如下所示的数据项和数据结构。
1.用户数据实体:ID(id)、用户名(create_time)、创建时间(image)、头像(password)、密码(personal_sign)、个人签名(username)
2.游客数据实体:游客ID(id)、头像(image)、账号(password)、密码(username)
3.相册数据实体:ID(id)、内容(content)、相册封面(cover)、创建时间(create_time)、图像编号(image_number)、标题(title)
4.博客数据实体:ID(id)、评论编号(comment_number)、内容(content)、博客封面(cover)、创建时间(create_time)、图像(image)、小内容(little_content)、小标题(little_title)、标题(title)、浏览数(view_number)、情绪ID(mood_id)
5.图片数据实体:ID(id)、图像(image)、相册ID(album_id)
6.消息数据实体:消息ID(id)、内容(content)、创建时间(create_time)、游客ID(visitor_id)
7.心情数据实体:ID(id)、文本(content)、创建时间(create_time)、图形(image)、标题(title)、用户ID(user_id)
以上的实体都是基本的数据实体,由于操作模块的名称对应该权限,在程序初始化时这些数据都应该添加,教师论文管理系统的目的进行论文管理,因此还要包括如下的几个数据实体:
8.游客第三方登陆数据实体:用户ID(userId)、提供者ID(providerId)、提供程序用户ID(providerUserId)、等级(rank)、显示名称(displayName)、配置文件URL(profileUrl)、头像URL(imageUrl)、访问令牌(accessToken)、秘密(secret)、刷新令牌(refreshToken)、过期时间(expireTime)
9.相册评论实体:相册评论实体(id)、相册文本(content)、创建时间(create_time)、相册(album_id)、游客ID(visitor_id)
10.博客目录实体:博客ID(blog_id)、目录ID(catalog_id)
11.博客评论实体: ID(id)、文本内容(content)、创建时间(create_time)、博客ID(blog_id)、游客ID(visitor_id)
12.目录实体:ID(id)、目录(catalog)
3.2数据库概念结构设计
根据需求分析的数据项和数据结构,可以规划出用户实体、博客实体、评论实体等各实体的E_R图。具体如下图所示。
图3-1用户实体E-R图
图3-3相册实体E-R图
图3-4博客实体E-R图
图3-5图片实体E-R图
图3-6消息实体E-R图
图3-7心情实体E-R图
图3-8游客第三方登陆数据实体E-R图
图3-9相册数据实体E-R图
图3-10博客目录数据实体E-R图
图3-11博客评论实体E-R图
图3-12目录实体E-R图
3.3物理结构设计
在这个数据库管理系统中要建立12张数据表,下面将主要介绍关键数据表的数据库设计的详细及存储后台用户基本信息的数据库表的字段说明。
数据表的说明
(1) 相册表(Album):用于,如表3-1。
(2) 相册评论表(Album_comment):用于,如表3-2。
(3) 博客表(Blog):用于,如表3-3。
(4) 博客目录表(Blog_catalog):用于,如表3-4。
(5) 博客评论表(Blog_comment):用于,如表3-5。
(6) 目录表(Catalog):用于,如表3-6。
(7) 图片表(Image):用于,如表3-7。
(8) 消息表(Message):用于,如表3-8。
(9) 心情表(Mood):用于,如表3-9
(10)用户表(User):用于,如表3-10。
(11)游客第三方用户连接表(User connection):用于,如表3-11。
(12)游客表(Visitor):用于,如表3-12
数据表的详细设计
(1) 相册表(album)的设计如表3-1所示:
表3-1相册表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
|
1 |
id |
BIGINT(20) |
ID |
主键 |
|
2 |
content |
VARCHAR(255) |
文本内容 |
|
|
3 |
cover |
VARCHAR(255) |
相册封面 |
|
|
4 |
create_time |
VARCHAR(255) |
创建时间 |
|
|
5 |
image_number |
BIGINT(20) |
图片编号 |
|
|
6 |
title |
VARCHAR(255) |
相册标题 |
(2) 相册评论表(album_comment)的设计如表3-2所示:
表3-2相册评论表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
|
1 |
id |
BIGINT(20) |
ID |
主键 |
|
2 |
content |
VARCHAR(255) |
文本内容 |
|
|
3 |
create_time |
VARCHAR(255) |
创建时间 |
|
|
4 |
album_id |
BIGINT(20) |
相册ID |
|
|
5 |
visitor_id |
BIGINT(20) |
游客ID |
|
(3) 博客表(blog)的设计如表3-3所示:
表3-3博客表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
|
1 |
id |
BIGINT(20) |
ID |
主键 |
|
2 |
comment_number |
BIGINT(20) |
评论编号 |
|
|
3 |
content |
VARCHAR(255) |
本文内容 |
|
|
4 |
cover |
VARCHAR(255) |
博客封面 |
|
|
5 |
create_time |
VARCHAR(255) |
创建时间 |
|
|
6 |
image |
VARCHAR(255) |
图片 |
|
|
7 |
little_content |
VARCHAR(255) |
小内容 |
|
|
8 |
little_title |
VARCHAR(255) |
小标题 |
|
|
9 |
title |
VARCHAR(255) |
标题 |
|
|
10 |
view_number |
BIGINT(20) |
浏览数 |
|
|
11 |
mood_id |
BIGINT(20) |
心情ID |
|
(4) 博客目录表(blog_catalog)的设计如表3-4所示:
表3-4博客目录表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
|
1 |
blog_id |
BIGINT(20) |
博客ID |
主键 |
|
2 |
catalog_id |
BIGINT(20) |
目录ID |
|
(5) 博客评论表(blog_comment)的设计如表3-5所示:
表3-4博客评论表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
1 |
id |
BIGINT(20) |
ID |
主键 |
2 |
content |
VARCHAR(255) |
文本内容 |
|
3 |
create_time |
VARCHAR(255) |
创建时间 |
|
4 |
blog_id |
BIGINT(20) |
博客ID |
|
5 |
visitor_id |
BIGINT(20) |
游客ID |
|
(6) 目录表(catalog)的设计如表3-6所示:
表3-4目录表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
1 |
blog_id |
BIGINT(20) |
博客ID |
主键 |
2 |
catalog_id |
BIGINT(20) |
评论ID |
|
(7) 图片表(image)的设计如表3-7所示:
表3-7图片表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
1 |
id |
BIGINT(20) |
ID |
主键 |
2 |
image |
VARCHAR(255) |
评论编号 |
|
3 |
album_id |
BIGINT(20) |
相册ID |
|
(8) 消息表(message)的设计如表3-8所示:
表3-8消息表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
1 |
id |
BIGINT(20) |
ID |
主键 |
2 |
content |
VARCHAR(255) |
评论编号 |
|
3 |
create_time |
VARCHAR(255) |
创建时间 |
|
4 |
visitor_id |
BIGINT(20) |
游客ID |
|
(9) 心情表(mood)的设计如表3-9所示:
表3-9心情表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
1 |
id |
BIGINT(20) |
ID |
主键 |
2 |
content |
VARCHAR(255) |
文本内容 |
|
3 |
create_time |
VARCHAR(255) |
创建时间 |
|
4 |
image |
VARCHAR(255) |
图片 |
|
5 |
title |
VARCHAR(255) |
标题 |
|
6 |
user_id |
BIGINT(20) |
用户ID |
|
(10)用户表(user)的设计如表3-10所示:
表3-10用户表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
1 |
id |
BIGINT(20) |
ID |
主键 |
2 |
create_time |
VARCHAR(255) |
评论编号 |
|
3 |
image |
VARCHAR(255) |
图片 |
|
4 |
password |
VARCHAR(255) |
密码 |
|
5 |
personal_sign |
VARCHAR(255) |
个人签名 |
|
6 |
username |
VARCHAR(255) |
用户名 |
|
(11)游客第三方登陆表(userconnection)的设计如表3-11所示。
表3-11游客第三方登陆
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
1 |
userId |
BIGINT(20) |
ID |
主键 |
2 |
providerId |
VARCHAR(255) |
评论编号 |
|
3 |
providerUserId |
VARCHAR(255) |
提供程序用户ID |
|
4 |
rank |
INT(11) |
等级 |
|
5 |
displayName |
VARCHAR(255) |
显示名称 |
|
6 |
profileUrl |
VARCHAR(255) |
简介 |
|
7 |
imageUrl |
VARCHAR(255) |
图片地址 |
|
8 |
accessToken |
VARCHAR(255) |
访问令牌 |
|
9 |
secret |
VARCHAR(255) |
秘密 |
|
10 |
refreshToken |
VARCHAR(255) |
刷新令牌 |
|
11 |
expireTime |
BIGINT(20) |
过期时间 |
|
(12)游客表(visitor)的设计如表3-12所示。
表3-12游客表
编号 |
字段名称 |
字段类型 |
字段说明 |
备 注 |
1 |
id |
VARCHAR(255) |
ID |
主键 |
2 |
image |
VARCHAR(255) |
图片 |
|
3 |
password |
VARCHAR(255) |
密码 |
|
4 |
username |
BIGINT(20) |
用户名 |
|
3.4创建表脚本文件
根据数据库的字段设计,编写的创建数据表的语句详见附录。
3.5表之间的关系
附录A 代码
创建表的脚本语句
(1)album 相册数据表
CREATE TABLE `album` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `content` varchar(255) DEFAULT NULL, `cover` varchar(255) DEFAULT NULL, `create_time` varchar(255) DEFAULT NULL, `image_number` bigint(20) DEFAULT NULL, `title` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
(2)album_comment 相册评论表
CREATE TABLE `album_comment` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `content` varchar(255) DEFAULT NULL, `create_time` varchar(255) DEFAULT NULL, `album_id` bigint(20) DEFAULT NULL, `visitor_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FK1cy6btdqoy9096m0frrcpo3g2` (`album_id`), KEY `FKietvdkm0nluxxixvamf2p7s5o` (`visitor_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
(3)blog 博客表
CREATE TABLE `blog` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `comment_number` bigint(20) DEFAULT NULL, `content` varchar(255) DEFAULT NULL, `cover` varchar(255) DEFAULT NULL, `create_time` varchar(255) DEFAULT NULL, `image` varchar(255) DEFAULT NULL, `little_content` varchar(255) DEFAULT NULL, `little_title` varchar(255) DEFAULT NULL, `title` varchar(255) DEFAULT NULL, `view_number` bigint(20) DEFAULT NULL, `mood_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FKnwck5t6ye777cw5njohwcjlh9` (`mood_id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
(4)blog_catalog 博客目录表
CREATE TABLE `blog_catalog` ( `blog_id` bigint(20) NOT NULL, `catalog_id` bigint(20) NOT NULL, PRIMARY KEY (`blog_id`,`catalog_id`), KEY `FKfo32rwtsnmv0bccmx8hl62rym` (`catalog_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
(5)blog_comment 博客评论表
CREATE TABLE `blog_comment` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `content` varchar(255) DEFAULT NULL, `create_time` varchar(255) DEFAULT NULL, `blog_id` bigint(20) DEFAULT NULL, `visitor_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FKb9cpog8ie2cyapsyyt7gikpbl` (`blog_id`), KEY `FKo4sla94v9lbh09pbiwdpou7b1` (`visitor_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
(6)catalog 目录表
CREATE TABLE `catalog` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `catalog` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
(7)image 图片表
CREATE TABLE `image` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `image` varchar(255) DEFAULT NULL, `album_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FKklgd5pxhpuh3nwik115myord` (`album_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
(8)message 消息表
CREATE TABLE `message` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `content` varchar(255) DEFAULT NULL, `create_time` varchar(255) DEFAULT NULL, `visitor_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FKe68qvwo3ve0unatu9eo4ub3f1` (`visitor_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
(9)mood 心情表
CREATE TABLE `mood` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `content` varchar(255) DEFAULT NULL, `create_time` varchar(255) DEFAULT NULL, `image` varchar(255) DEFAULT NULL, `title` varchar(255) DEFAULT NULL, `user_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FK650gbgeldymqxf4wmj7ldqkyl` (`user_id`) ) ENGINE=MyISAM AUTO_INCREMENT=以上是关于JavaWeb_gy博客网站_数据库实现的主要内容,如果未能解决你的问题,请参考以下文章