博客系统数据库设计.docx

上传人:b****0 文档编号:17005493 上传时间:2023-07-21 格式:DOCX 页数:20 大小:642.13KB
下载 相关 举报
博客系统数据库设计.docx_第1页
第1页 / 共20页
博客系统数据库设计.docx_第2页
第2页 / 共20页
博客系统数据库设计.docx_第3页
第3页 / 共20页
博客系统数据库设计.docx_第4页
第4页 / 共20页
博客系统数据库设计.docx_第5页
第5页 / 共20页
博客系统数据库设计.docx_第6页
第6页 / 共20页
博客系统数据库设计.docx_第7页
第7页 / 共20页
博客系统数据库设计.docx_第8页
第8页 / 共20页
博客系统数据库设计.docx_第9页
第9页 / 共20页
博客系统数据库设计.docx_第10页
第10页 / 共20页
博客系统数据库设计.docx_第11页
第11页 / 共20页
博客系统数据库设计.docx_第12页
第12页 / 共20页
博客系统数据库设计.docx_第13页
第13页 / 共20页
博客系统数据库设计.docx_第14页
第14页 / 共20页
博客系统数据库设计.docx_第15页
第15页 / 共20页
博客系统数据库设计.docx_第16页
第16页 / 共20页
博客系统数据库设计.docx_第17页
第17页 / 共20页
博客系统数据库设计.docx_第18页
第18页 / 共20页
博客系统数据库设计.docx_第19页
第19页 / 共20页
博客系统数据库设计.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

博客系统数据库设计.docx

《博客系统数据库设计.docx》由会员分享,可在线阅读,更多相关《博客系统数据库设计.docx(20页珍藏版)》请在冰点文库上搜索。

博客系统数据库设计.docx

博客系统数据库设计

数据库课程设计

题目

博客信息管理系统

班级:

学号:

姓名:

提交日期:

2010年3月13日

1.项目背景3

2.需求分析3

2.2功能划分3

2.3功能模块3

3、ER模型4

3.1ER模型的逻辑模型与物理模型4

3.2转换为关系模式5

4、表结构6

5、完整性设计9

5.1、主键约束.9

5.2、外键约束.9

5.3、检查约束:

10

5.4、惟一约束:

10

6数据库对象设计(20分)11

6.1触发器:

11

6.2视图.11

7数据库实现11

7.1建立数据库11

7.2初始化所有表:

15

7.3实现查询功能15

1.项目背景

Blog即WeBlog,WeBlog就是在网络上发布和阅读的流水记录,通常称为“网络日志”,简称为“网志”。

它是继Email、BBS、IM之后出现的第四种全新的网络交流方式。

它绝不仅仅是一种单向的发布系统,而且有着极其出色的交流功能,与个人主页相比,博客是一种方便的、个人化的、即时性很强的网页。

与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通工具。

与传统门户网站相比较,博客则进一步深化了知识管理的专业化和个人化。

简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。

目前的web开发竞争日趋激烈,广大用户对网络服务的要求越来越高,针对此情况参考WordPress为广网络用户研发出一套博客系统,该系统可以作为一个服务模块与其他服务模块共同作为门户网站的一部分,从而为广大网民提供更优质的服务。

2.需求分析

2.1功能目标

1、规范完善的基础信息设置

2、操作简单,快捷方便

3、数据存储安全可靠

4、信息分类清晰准确

5、强大的查询功能,保证数据查询的准确

6、对用户输入的数据,系统进行严格的审核的数据检验,尽可能排除人为的错误。

7、拓展性能强大,升级方便。

2.2功能划分

系统功能:

1、个人资料的录入:

提供博客主人的个人信息的录入、修改,日志的编写、修改、删除,网友对日志的评价的录入。

2、数据查询功能:

提供博主、网友对日志以及日志评价的查询。

3、数据统计功能:

对博客的日志与评价进行相关的统计。

2.3功能模块

3、ER模型

3.1ER模型的逻辑模型与物理模型

图表1博客系统数据库逻辑模型

孚户拓展信息

*账户編号属性编号

用户信息

账户编号

琏棲编■;■账户编号

琏棲地址链接名称链接图片

琏接目标

链按扌苗述

链接可访性」

间字州名称箱楼册活态示名呢邮链注激狀展户码户户户户户户客理密用用4用4用博

评论

选项

|选项镰弓

选项值

账户编号

日志

文童编号

■'账户編号

分类编号

文章阳号

文讥扌石展属件

>■

分类编号

立章拓展屈性名称

文章作者

文盘拓展属件值

立童标題

文童内容

-eH

文章綻号时间

文章最后編辑时间

分类

评论总数

分类編号1——

分类名称[

11志拓展信息

厂I―b

 

 

图表2表格1博客系统数据库物理模型

 

3.2转换为关系模式

用户信息

(账户编号、账户名、密码、用户昵称、用户邮箱、用户链接、用户注册时间、用户激活、用户状态、博客展示名字)

用户拓展信息

(账号编号、属性编号、属性关键词、属性值)

日志分类

(分类编号、分类名称)

日志

(文章编号、账户编号、分类编号、文章作者、文章标题、文章内谷、文章编与时间、文章最后编与时间、评论总数)

日志拓展信

(文章拓展属性编号、账户编号、文章编号、分类编号、文章拓展

属性名称、文章拓展属性值)

评论

(评论编号、账户编号、文章编号、分类编号、评论作者、评论时间、评论修改时间、评论回复源)

链接

(链接编号、账户编号、链接地址、链接名称、链接图片、链接目标、链接描述、链接可访性)

菜单

(菜单编号、菜单名称、菜单值)

4、表结构

字段名

数据类型

是否主键

是否为空

备注

字段含义

user_ID

bigint(20)

PRI

NOTNULL

auto_increm

ent

账户编号

user_login

varchar(60)

IND

NULL

账户名

user_pass

varchar(64)

NULL

密码

user_nicename

varchar(50)

IND

NULL

用户昵称

user_email

varchar(100)

NULL

用户邮箱

user_url

varchar(100)

NULL

用户链接

user_registered

datetime

NULL

用户注册时

user_activation_key

varchar(60)

NULL

用户激活

user_status

int(11)

NULL

用户状态

display_name

varchar(250)

NULL

博客展示名

表格1用户信息表tb_users

字段名

数据类型

是否主键

是否为空

备注

字段含义

umeta_id

bigint(20)

PRI

NULL

auto_increm

属性编号

unsigned

ent

user_id

bigint(20)unsigned

FK->(tb_use

rs)ID

账户编号

meta_key

varchar(255)

IND

NULL

属性关键

meta_value

Iongtext

IND

NULL

属性值

表格2用户拓展信息tb_usermeta

字段名

数据类型

是否主

是否为空

备注

字段含义

term」d

bigint(20)unsigned

PRI

auto_increm

ent

分类编号

name

varchar(200)

分类名称

表格3日志分类tb_term

字段名

数据类型

是否主键

是否为空

备注

字段含义

post_id

bigint(20)unsigned

PRI&

IND

Pt4

NOTNULL

auto_increm

ent

文章编号

user_id

bigint(20)unsigned

NOTNULL

FK->wp_use

rs.ID

账户编号

term」d

NOTNULL

分类编号

post_date

datetime

IND

Pt3

NULL

文章编写时间

post_date_gmt

datetime

NULL

文章最后编辑时间

post_content

Iongtext

NULL

文章内容

post_title

text

NULL

文章标题

comment_count

bigint(20)

NULL

评论总数

表格4日志tb_post

字段名

数据类型

是否主键

是否为空

备注

字段含义

meta_id

bigint(20)unsigned

PRI

NULL

auto_increm

ent

文章拓展属性编号

post_id

bigint(20)unsigned

IND

0

FK->wp_pos

ts.ID

文章编号

term」d

bigint(20)unsigned

IND

auto_increm

ent

分类编号

meta_key

varchar(255)

IND

NULL

文早拓展

属性名称

meta_value

Iongtext

NULL

文早拓展

属性值

表格5文章拓展属性tb_post_meta

字段名

数据类型

是否

主键

是否为空

备注

字段含义

comment_id

bigint(20)unsigned

PRI

NOTNULL

auto_increment

评论编号

user_id

bigint(20)unsigned

IND

NOTNULL

账户编号

post_id

varchar(20)

NOTNULL

FK->tb_posts.ID

文章编号、

term」d

bigint(20)unsigned

NOTNULL

FK->wp_term_id

分类编号、

comment_author

tinytext

NULL

FK->wp_users.ID

评论作者

comment_date

datetime

NOTNULL

文章编写时间

comment_date_gmt

datetime

IND&

IND

Pt2

NOTNULL

评论修改时间

comment_paren

bigint(20)

NOTNULL

FK->wp_co

评论回复源

t

unsigned

mments.lD

表格6评论表tb_comments

字段名

数据类型

是否主

是否为空

备注

字段含义

option_id

bigint(20)unsigned

PRI

Pt1

NULL

auto_incre

ment

菜单编号

option_name

varchar(64)

PRI

Pt3&

IND

菜单名称

option_value

Iongtext

菜单值

表格7菜单tb_options

5、完整性设计

5.1、主键约束

主键约束就是通过建立唯一的索引保证指定列的实体的完整性,即每一个表中一列或多列的数值都是唯一的。

而在本博客数据库里面,所有的表格都是设有主键,即他们都用主键约束功能。

同时每个表格的主键列也把标识属性设为是,所以在插入新数据库是,SQL

Server会主动对主键列惊醒唯一的赋值,不需要人为控制。

5.2、外键约束

外键约束主要是为了表中的一列或多列数据提供参展完整性,外键约束闲着插

入到表中的被约束列的值必须就有被参展表中已存在。

在本数据库中,具有外键约束的表有:

tbblogownersmeta

ID(FKtb_blogowners.user_ID)

tbposts

ID(FKtbblogowners.userID)

term_id(FKtb_term.term」d)

tb_posts_meta

ID(FKtb_post.user_ID)post_id(FKtb_post.post_id)term_id(FKtb_post.term_id)

tb_links

ID(FKtb_blogowners.user_ID)

tb_comments

ID(FKtb_blogowners.user_ID)post_id(FKtb_post.post_id)termid(FKtbpost.termid)

5.3、检查约束:

在本博客系统中,在tb_blogowners表中,用户名,与密码分别都设置了检查约束:

用户名不能以“[八_@#.]%'”字符为开头,密码不能少于三位。

验证如下图:

5.4、惟一约束:

在本博客系统中,在tb_blogowners表中,用户名设置为唯一性,每个用户只有唯一的一个用户名。

验证如下图:

6数据库对象设计(20分)

6.1触发器:

触发条件:

INSERT

触发器名:

tb_comment_postcount

触发器用途:

每当日志收到一条评论时,日志表中tb_post中的该日志的评论总数列:

comment_count中的数据都会更新到最新的评论数量总数。

CREATETRIGGERtb_comment_postcountONtb_comments

FORINSERTAS

BENGIN

SELECTCOUNT(comment_count)AStb_ment_count

FROMtb_comments

END

6.2视图

视图名:

BlogView用途:

查看博主的所有日志标题和编写时间以及评论总数CREATEVIEWBlogViewAS

SELECTpost_title,post_date,comment_count

FROMtb_posts

7数据库实现

7.1建立数据库

通过用erwin把本系统建立在SQLServer2000数据库上。

如下图

ers\bt^Lserver5S\tLO<-AL;(WindowsfMi)\jEXJK^

SOB埒17个项目

命SQLServerEnterpriseManager

文件if)an(w)ttsi(H)

 

盒SOLdrv色rEnt^rori^ManAa^r■■

XWF)SD(W)Wft)(H)

61凶xIfe④咖&曲金W孕回

~t—=■_™

 

出设计表-tb.optkxis-.位吉呈db.biog0.7-中.-(LOCAL)-上

列名

典搭类55

斥i?

1允许空1

optioa.id

bipat

8

optioh.nwt

varchtr

駅V/

optioscv

text

16✓

列1

驱值

fir?

19

"徹垃数

0

S

标识种子

1000

标识瀝號

I

是RwC^nd公式椿序規则

g

岭设计袤-tbjjosts•.G£Sdb>log0.7-中、・(LOCAL)・上

列名

教摘类55

r^t?

T

允许空1

S-

bi(iat

8

poit^axithor

vtrchtr

50

post.title

text

16

posteont«nt

text

16

postdate

diteUne

8

pozt.dHeqt

d«t«tin«

8

pott.id

bipat

8

o

••J

A

列丨

驱值

HI?

19

小教也数

0

标识种子标

是RcnrG^id

公式持序規则

g

文件(F)■口(W)Mto(H)

Xife叵啦©刁今回

翁设i+表tb.post5.meta.位舌呈・db.blog0.7・中、(LOG

Jj

tb_coaBents

IzSflMRt.CCCtactI

*^|<••■•*«.»4

_J:

»«nt_sat«

I:

64MAt.dat«_IBtI:

©»»«nt-»*r«t・*?

|t«r»_id

tb.options

I©c?

iet-aa»e

Iopficc.T&l'M

pc«t-id*c?

a>ra:

u<

ud

tb_post»

DpcstjKJthcr

9t・t>cg,C

XH亠WQpc*t«idt«rB_idcmbcaJraM

:

:

pcst^utbcr

9t・i>cg,C

”“.4«2_C・Q

pc*t«id

cmbcaUcraM

tt

links

tbblorovners

kujdUiCuMr:

?

cacr.ZDbMr.g*s»«r^

Ww

Uek.dcscxiptioamiz・»

»

・wr^activtieouicrucr.atatus

tbblogovnera・c

7

1

wta.valu«

 

 

7.2初始化所有表:

输入以下语句:

INSERTINTOtb_blogowners

(user_login,user_pass,user_nicename,user_email,user_url,user_registered,user_ativtion_key,user_status,display_name)

values('tom','123','xiaoming','xiaoming@','',2010/3/4,'yes','good','tomhome')

INSERTINTOtb_blogownersmeta

(ID,meta_key,meta_valu)

values(1000,'性别','男')

INSERTINTOtb_posts

(ID,post_author,post_title,post_content,post_date,post_date_gmt,term_id,comment_count)

VALUES(1000,'tom','story','amansstory',2010/3/15,2010/3/16,1000,10)

INSERTINTOtb_term

(term_name)

VALUES('日记')

INSERTINTOtb_posts_meta

(ID,post_id,meta_key,meta_value,term_id)

VALUES(1000,1001,'写日志时的心情','开心',1000)

INSERTINTOtb_comments

(ID,post_id,comment_author,comment_date,comment_date_gmt,term_id)VALUES(1000,1001,'tom',2010/3/15,2010/3/16,1000)

INSERTINTOtb_links

(ID,link_url,link_name)

VALUES(1000,'','腾讯网')

7.3实现查询功能

1、查询指定日期的所有日志

如:

查询2010年3月15日的日志:

SELECT*FROMtb_postswherepost_date=2010/3/15

2、查询指定日志的所有评论

如:

查询tom的所有日志

SELECT*FROMtb_postswherepost_author=tom

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2