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;
View Code

 

(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;
View Code

 

(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;
View Code

 

(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;
View Code

 

(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;
View Code

 

(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;
View Code

 

(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;
View Code

 

(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;
View Code

 

(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=2 DEFAULT CHARSET=utf8;
View Code

 

(10)user 用户表

CREATE TABLE `user` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT,

  `create_time` varchar(255) DEFAULT NULL,

  `image` varchar(255) DEFAULT NULL,

  `password` varchar(255) DEFAULT NULL,

  `personal_sign` varchar(255) DEFAULT NULL,

  `username` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
View Code

 

(11)user connection  游客第三方用户连接表

CREATE TABLE `userconnection` (

  `userId` varchar(255) NOT NULL,

  `providerId` varchar(255) NOT NULL,

  `providerUserId` varchar(255) NOT NULL,

  `rank` int(11) NOT NULL,

  `displayName` varchar(255) DEFAULT NULL,

  `profileUrl` varchar(512) DEFAULT NULL,

  `imageUrl` varchar(512) DEFAULT NULL,

  `accessToken` varchar(512) NOT NULL,

  `secret` varchar(512) DEFAULT NULL,

  `refreshToken` varchar(512) DEFAULT NULL,

  `expireTime` bigint(20) DEFAULT NULL,

  PRIMARY KEY (`userId`,`providerId`,`providerUserId`),

  UNIQUE KEY `UserConnectionRank` (`userId`,`providerId`,`rank`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;
View Code

 

(12)visitor 游客表

CREATE TABLE `visitor` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT,

  `image` varchar(255) DEFAULT NULL,

  `password` varchar(255) DEFAULT NULL,

  `username` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;
View Code

 

 

 

 

 

 

posted @ 2019-12-28 14:34  Cynical丶Gary  阅读(327)  评论(0编辑  收藏  举报