数据库课程设计.docx

上传人:b****2 文档编号:732453 上传时间:2023-04-29 格式:DOCX 页数:13 大小:185.43KB
下载 相关 举报
数据库课程设计.docx_第1页
第1页 / 共13页
数据库课程设计.docx_第2页
第2页 / 共13页
数据库课程设计.docx_第3页
第3页 / 共13页
数据库课程设计.docx_第4页
第4页 / 共13页
数据库课程设计.docx_第5页
第5页 / 共13页
数据库课程设计.docx_第6页
第6页 / 共13页
数据库课程设计.docx_第7页
第7页 / 共13页
数据库课程设计.docx_第8页
第8页 / 共13页
数据库课程设计.docx_第9页
第9页 / 共13页
数据库课程设计.docx_第10页
第10页 / 共13页
数据库课程设计.docx_第11页
第11页 / 共13页
数据库课程设计.docx_第12页
第12页 / 共13页
数据库课程设计.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计.docx

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

数据库课程设计.docx

数据库课程设计

闽南师范大学

 

数据库课程设计

 

院系:

计算机学院

班级:

14网络1班

学号:

1408180124

姓名:

傅景

设计题目:

留言管理系统

指导老师:

邱国清

 

学生留言交流管理系统

一、需求分析

大学是一个自由的学习天地,也是一个汇集世界各地学子才华的富饶之地。

而学生之间的交流就更显得重要,无论是家与家之间,还是国与国之间,学生们的交流时刻成为他们之间互相学习的最直接的方式。

这个系统为所有人的交流讨论而打造,无论是学生还是老师,只要是交流,都可以在这上面完成。

二、概念分析

三、逻辑分析

关系模型(双下划线为主键,下划线为外键)

1.用户(帐号,用户名,密码,邮箱)

2.留言(楼层号,留言者帐号,留言者用户名,内容,时间,回复数)

3.回复(回复者帐号,回复者用户名,回复楼层号,内容,时间)

4.回收站(帐号,用户名,回复楼层号,内容,时间,回复数)

5.管理员(管理员帐号,管理员名,管理员密码)

四、物理设计

1.用户表

列名

数据类型

允许空

帐号

varchar(11)

用户名

varchar(20)

密码

varchar(20)

邮箱

varchar(20)

2.留言表

列名

数据类型

允许空

楼层号

int

留言者帐号

varchar(11)

留言者用户名

varchar(20)

留言内容

varchar(50)

留言时间

smalldatetime

回复数

int

3.回复表

列名

数据类型

允许空

回复者帐号

varchar(11)

回复者用户名

varchar(20)

回复楼层

int

回复内容

varchar(50)

回复时间

smalldatetime

4.回收站

列名

数据类型

允许空

帐号

varchar(11)

用户名

varchar(20)

楼层号

int

内容

varchar(50)

时间

smalldatetime

回复数

int

5.管理员表

列名

数据类型

允许空

管理员帐号

varchar(11)

管理员名

varchar(20)

管理员密码

varchar(20)

五、数据库实施阶段

创建数据库,数据表,视图,触发器,存储过程

--创建数据库

createdatabaseMessageData

/*$$$$$$$$$$$$$建表$$$$$$$$$$$$$$$$$$$$$$$$*/

--创建用户表Userbox

createtableUserbox

P_idvarchar(11)notnull,

P_namevarchar(20)notnull,

pwvarchar(20)notnull,

emailvarchar(20)notnull,

primarykey(P_id)

go

--创建留言表leave

createtableLeave

L_floorintprimarykey,

L_idvarchar(11)notnull,

L_namevarchar(20)notnull,

L_comvarchar(50)notnull,

L_timesmalldatetime,

L_numint,

foreignkey(L_id)referencesUserbox(P_id)

go

--创建回复表Reply

createtableReply

R_idvarchar(11)notnull,

R_namevarchar(20)notnull,

T_floorint,

R_comvarchar(50)notnull,

R_timesmalldatetime,

foreignkey(R_id)referencesUserbox(P_id),

foreignkey(T_floor)referencesLeave(L_floor)

go

--创建回收站表Recycle

createtableRecycle

Re_idvarchar(11)notnull,

Re_namevarchar(20)notnull,

T_floorint,

Re_comvarchar(50)notnull,

Re_timesmalldatetime,

Re_numint,

foreignkey(Re_id)referencesUserbox(P_id),

go

--管理员表

createtableAdministrators

adminidvarchar(11)notnullprimarykey,

adminnamevarchar(20)notnull,

adminpwvarchar(20)

);

go

/*****************************************/

------建立视图

--查看某一楼的所有回复内容

createviewC_com

as

selectL_floor,L_name,L_com,L_time,R_name,R_com,R_time

fromLeave,Reply

whereL_floor=T_floor

 

/*************************************/

----建立触发器

--删除一条留言前触发,将当前要删除的内容添加到回收站

createtriggerrecycleadd

onLeave

insteadofdelete

asbegin

declare@lfloorint

declare@lidvarchar(11)

declare@lnamevarchar(20)

declare@lcomvarchar(50)

declare@ltimevarchar(15)

declare@lnumint

select@lfloor=L_floor,@lid=L_id,@lname=L_name,@lcom=L_com,

@ltime=L_time,@lnum=L_numfromLeave

insertintoRecycle

values(@lid,@lname,@lfloor,@lcom,@ltime,@lnum)

updateLeave

setL_num=-1whereL_id=@lidandL_time=@ltime

print'删除成功,该条留言已加入回收站'

end

 

--更新用户名完成时触发,其他三个表用户名对应发生改变

createtriggerrechange

onUserbox

afterupdate

asbegin

declare@idvarchar(11)

declare@namevarchar(20)

select@id=Userbox.P_id,@name=Userbox.P_namefromUserbox

updateLeave

setL_name=@namewhereL_id=@id

updateReply

setR_name=@namewhereR_id=@id

updateRecycle

setRe_name=@namewhereRe_id=@id

print'用户名修改成功'

end

 

--用户留言完成时触发,提示留言成功

createtriggeraddcom

onLeave

afterinsert

asbegin

print'留言成功'

end

--回复留言触发,回复数+1

createtriggeraddnum

onReply

afterinsert

asbegin

declare@tfloorint

select@tfloor=T_floorfromReply

updateLeave

setL_num=L_num+1whereL_floor=@tfloor

print'回复成功'

end

 

/****************************/

----存储过程

/*查看某一用户的所有留言*/

createprocedureshowmes(@idvarchar(11))

asbegin

select*fromLeave

whereL_id=@id

select*fromLeave

whereL_name=@id

end

六、实验结果

(1)插入两个新用户“张一”和“李二”,显示执行后效果

(2)“张一”插入新留言,显示执行后效果

(3)“李二”对“张一”的留言进行回复,显示执行后效果

(4)recycleadd触发器的调用,作用是留言表删除的留言将自动存入回收站(删除、插入)

(5)rechange触发器的调用,其作用为用户表更新用户名,留言表、回复表和回收站对应用户名同样发生改变

(6)存储过程的调用,显示用户id为'钱三'或用户名为'钱三'的所有留言

七、总结及体会

这次课程设计给我最大的感受就是使我对数据库以及表的创建有了全新的认识。

让我明白了表中主键、约束、外键、索引、视图等在表中所发挥的作用以及所实现的功能。

通过对数据库程序的编写,让我对数据库的查询功能有了更进一步的认识。

开始的时候,由于自己能力有限,所以创建的数据库并不是很完美,经过在网上查找资料以及书籍的查询,修改了几次,才达到了自己的要求。

谈谈本次的心得体会,首先独自完成了一个数据库,我感觉颇有成就感,但是,我知道我所做的留言管理系统还有很多的不足。

将此系统运用到实际中去,可能会遇到很多的问题,对于此留言系统,还有许多地方要进一步完善。

由于本身能力有限,再加上缺乏更多的实际操作,所以要完成一个完美的数据库,我觉得还要学很多。

但我认为已经达到了本次课程设计的要求。

在以后的时间里,会学更多关于数据库的知识,来丰富自我。

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

当前位置:首页 > 法律文书 > 调解书

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

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