图书馆数据库课程设计报告.docx

上传人:b****7 文档编号:8958976 上传时间:2023-02-02 格式:DOCX 页数:42 大小:1.05MB
下载 相关 举报
图书馆数据库课程设计报告.docx_第1页
第1页 / 共42页
图书馆数据库课程设计报告.docx_第2页
第2页 / 共42页
图书馆数据库课程设计报告.docx_第3页
第3页 / 共42页
图书馆数据库课程设计报告.docx_第4页
第4页 / 共42页
图书馆数据库课程设计报告.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

图书馆数据库课程设计报告.docx

《图书馆数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《图书馆数据库课程设计报告.docx(42页珍藏版)》请在冰豆网上搜索。

图书馆数据库课程设计报告.docx

图书馆数据库课程设计报告

河南理工大学

万方科技学院课程设计报告

 

2010—2011学年第一学期

 

课程名称数据库系统原理

设计题目图书馆管理系统

学生姓名

学号

专业班级08计算机一班

指导教师刘艳霞

2011年01月8日

 

摘要…………………………………………………………1

第一章需求分析…………………………………………..1

1.1VisualFoxPro简介………………………………………1

1.2系统要求………………………………………………….1

第二章概念结构设计……………………………………..2

2.1图书管理数据流图………………………………………………2

2.2由数据流图抽象出E-R图…………………………………2

第三章逻辑结构设计……………………………………..3

3.1数据库的设计……………………………………………3

3.2数据库表的设计…………………………………………3

第四章系统功能实现……………………………………..5

4.1身份验证模块…………………………………..................6

4.2系统界面模块…………………………………..…………9

4.3信息打印模块……………………………………………………………14

4.4系统维护模块…………………………………………………………....15

4.4.1进入系统维护功能界面的设计…………………………………………15

4.4.2典藏图书管理界面的设计………………………………………………..16

4.4.3读者信息管理界面的设计………………………………………………..18

4.4.4读者种类管理界面的设计…......................................................................19

4.4.5图书征订界面的设计……………………………………………………..19

4.4.6图书借阅管理界面的设计………………………………..........................20

4.5密码维护模块……………………………………………….29

4.6系统信息模块……………………………………………….30

4.7编写主程序………………………………………………31

4.8系统连编…………………………………………………31

第五章设计总结…………………………………………32

参考文献…………………………………………………..32

 

摘  要

系统采用VisualFoxPro6.0进行开发,具体功能包括:

权限设置、身份验证、图书信息查询、读者信息查询、密码修改、读者信息管理、典藏图书管理、图书借阅管理、征订图书管理、信息打印。

论文从需求分析、概念结构设计、逻辑结构设计、系统功能实现等方面对系统的开发及实现过程进行了详细的阐述。

第一章需求分析

1.1VisualFoxPro简介

VisualFoxPro6.0(简称VFP)是由Microsoft公司推出的。

VFP可以简化数据管理,而且使应用程序的开发流程更为合理。

它使组织数据、定义数据库规则和建立应用程序等工作变得简单易行。

利用可视化的设计工具和向导,可以快速创建表单、查询和报表。

在VFP中,可以使用数据库组织和建立表和视图间的关系,在使用数据库时,你可以在表一级进行功能扩展,如创建字段级规则、设置默认字段值和触发器等。

VFP提供了真正无模式操作,能够轻松的进行对多个表单的自动协调,而且很容易的运行一个表单的多个实例。

还有提供的丰富有事件处理机制,给用户提供一个更丰富的交互环境。

利用表单,可以让用户在熟悉的环境下查看数据或将数据输入数据库。

但表单提供的远不止一个界面:

它还提供丰富的对象集,这些对象能响应用户(或系统)事件,这样就能使用户尽可能方便和直观的完成信息管理工作。

VFP提供了一个功能强大的表单设计器,使得表单的设计变得又快又容易。

表单和表单集是拥有自己的属性、事件和方法程序的对象,在表单设计器中可以设置这些属性、事件和方法程序。

1.2系统要求

本系统是采用VisualFoxPro6.0开发的,设计的是图书管理系统。

系统满足以下几点要求:

(1)读者可随时查询书库中现有书籍的种类、数量与存放位置以及图书的信息。

(2)读者可以随时查询读者信息,修改登录密码。

以及打印各种表单信息。

(3)管理员可随时查询书籍借阅情况。

包括借书人单位、姓名、借书证号、借书日期和还书日期。

(4)管理员可以查阅修改读者信息及资料。

(5)管理员可以查阅修改典藏图书信息。

(6)管理员可以管理征订图书信息。

第二章概念结构设计

2.1图书管理数据流图

(1)第一层数据流图:

(2)第二层数据流图:

2.2图书管理E-R图

由数据流图抽象出图书管理系统的E-R图如下所示:

第三章逻辑结构设计

3.1数据库的设计

数据库是一种工作环境,它存储了一个“表”的集合,在表之间可以建立关系,对数据字段可以设置属性和触发规则,从而保证表之间数据的完整性。

本系统要实现图书资料和读者资料的管理,所以创建的图书管理数据库中应包含“读者信息”表(readerdata.dbf)、“图书信息”表(storebibli.dbf)、“读者类型”表(readertype.dbf)、“图书借阅记录”表(lenddata.dbf)和“征订新书(rebookdata.dbf)”表。

3.2数据库表的设计

本系统中要用到的表的字段的属性设置以及输入的数据分别如下:

表3-1“readerdata.dbf”

表3-2“storebibli.dbf”

表3-3“readertype.dbf“

表3-4“rebookdata.dbf“

并利用以上表建立视图“读者借阅记录”和“读者”如下“

第四章系统功能实现

系统功能结构图如下图所示:

 

 

4.1身份验证模块

身份验证模块对使用者的访问权限进行检查,登录用户的身份信息被存放在数据库的readerdata.daf中,当用户在表单中输入编号和密码时,将和readerdata.dbf中的信息进行比较,只有信息完全吻合的用户才有权使用本系统。

1.表单界面的设计

(1)打开项目管理器,选择文档选项卡,选择表单选项,然后单击新建按钮创建新的表单“身份验证.scx”,在弹出的对话框中单击新建按钮,打开表单设计器窗口进行表单设计。

(2)将“readerdata.dbf”数据表添加到该表单的数据环境中。

在表单中添加2个文本框、3个标签和2个按钮、1个容器、1个计时器并对其属性进行设置如下:

控件

表单属性

取值

Form1

Caption

AutoCenter

BorderStyle

ShowWindow

Controlbox

WindowState

身份验证

.T._真

2-固定对话框

2-作为顶层表单

.F.-假

1-模式

Label1

Caption

欢迎使用图书馆管理系统

Label2

Caption

编号

Label3

Caption

密码

Command1

Caption

登录

Timer1

Interval

100

Command2

Caption

退出

Text1

Name

txtname

Text2

Name

password

txtpassword

*

2.添加响应代码

(1)“确定”按钮控件的click事件:

SETEXACTON

nlogtimes=nlogtimes+1

ifnlogtimes>nmaxlogtimes

cstr="你已超过允许的最多登录次数,登录对话框将关闭"

messagebox(cstr,16,"用户登录验证")

thisform.release

else

cname=alltrim(thisform.txtname.value)

cpassword=alltrim(thisform.txtpassword.value)

locateforalltrim(编号)==cname

ifnotfound()

messagebox("用户名输入错误!

",16,"用户登录验证")

thisform.txtname.selstart=0

thisform.txtname.sellength=len(cname)

thisform.txtname.setfocus

return

endif

ifalltrim(密码)==cpassword

messagebox("登录成功!

",64,"用户登录验证")

thisform.release

capp_currentuser=cname

capp_currentpwd=cpassword

capp_currentpop=权限

lapp_logon=.t.

else

messagebox("密码输入错误!

",16,"用户登录验证")

thisform.txtpassword.value=""

thisform.txtpassword.setfocus

endif

endif

(2)退出按钮的click事件:

nr=messagebox("你选择了退出登录,是否退出?

",68,"用户登录")

ifnr=6

thisform.release

endif

(3)Timer1的timer事件:

IFthisform.label1.left<-8

thisform.label1.left=thisform.width

else

thisform.label1.left=thisform.label1.left-3

endif

(4)form1的load事件:

publicnMaxLogTimes

nMaxLogTimes=3

publicnLogTimes

nLogTimes=0

(5)form1的unload事件:

releasenmaxlogtimes,nlogtimes

clearevents

4.2系统界面模块

系统界面模块是用户调用系统各种功能的主界面,是用户与该系统的一个接口。

1.表单界面的设计

(1)打开项目管理器,选择文档选项卡,选择表单选项,然后单击新建按钮创建新的表单“系统界面.scx”,在弹出的对话框中单击新建按钮,打开表单设计器窗口进行表单设计。

(2)将“storebibli.dbf”数据表、“读者借阅记录”视图、“读者”视图添加到该表单的数据环境中。

在表单中添加1个shockwaveflashobject、1个标签、1个图像、1个命令按钮组、1个计时器并对其属性进行设置如下:

控件

属性

取值

Form1

Caption

图书管理系统

Timer1

Interval

Height

Width

1000

61

229

Label1

用来显示当前系统时间

ActiveX

Name

Visible

Movie1用来播放音乐

.F.

Commandgroup1

Buttoncount

6

Command1

Caption

Height

Width

信息查询

60

60

Command2

Caption

Height

Width

修改密码

60

60

Command3

Caption

Height

Width

打印

60

60

Command4

Caption

Height

Width

系统维护

60

60

Command5

Caption

Height

Width

关于

60

60

Command6

Caption

Height

Width

退出

60

60

Image1

Picture

Pageframe1

Pagecount

Visible

2

.F.

Page1

Caption

图书查询

Label1

Caption

请选择查询内容

Combo1

Rowsource

Rowsourcetype

Storebibli

8-结构

Command1

Caption

查询

Command2

Caption

刷新

Command3

Caption

退出

Grid1

Readonly

Recordmark

Rowsource

.T.

.T.

Storebibli

Page2

Caption

读者查询

Label1

Caption

请选择查询内容

Combo1

Rowsource

Rowsourcetype

“读者”视图

8-结构

Command1

Caption

查询

Command2

Caption

刷新

Command3

Caption

退出

Grid1

Readonly

Recordmark

Rowsource

.T.

.T.

“读者借阅记录”视图

2.添加响应代码

(1)Form1的init事件:

setbellon

setbellto"LoopyMusic.wav",0

?

CHR(7)&&使主表单播放音乐loopymusic.wav

(2)Commandgroup1中:

Command1按钮的click事件:

thisform.pageframe1.visible=.T.

Command2按钮的click事件:

doform修改密码

Command3按钮的click事件:

doform打印表单

Command4按钮的click事件:

ifcapp_currentpop="1"

mand4.enabled=.f.

else

doform系统维护

endif

Command5按钮的click事件代码:

doform关于

Command6按钮的click事件代码:

clearevents

thisform.release

quit

(3)Timer1控件的timer事件:

thisform.label1.caption=time()

(4)movie1的init事件:

this.movie=sys(5)+sys(2003)+"\LoopyMusic.wav"

this.playing=.t.

this.loop=.t.

(5)在Page1中(page1主要用于读者对图书资料的查询):

(a)Command1按钮的click事件:

SELECTstorebibli

DOCASE

caseThisform.pageframe1.page1.Combo1.displayValue="条码"

setfiltertoThisform.pageframe1.page1.Text1.value=storebibli.条码

Thisform.Refresh

caseThisform.pageframe1.page1.Combo1.displayValue="索书号"

setfiltertoThisform.pageframe1.page1.Text1.value=storebibli.索书号

Thisform.Refresh

caseThisform.pageframe1.page1.Combo1.displayValue="书名"

setfiltertoThisform.pageframe1.page1.Text1.value=storebibli.书名

Thisform.Refresh

caseThisform.pageframe1.page1.Combo1.displayValue="作者"

setfiltertoThisform.pageframe1.page1.Text1.value=storebibli.作者

Thisform.Refresh

caseThisform.pageframe1.page1.Combo1.displayValue="出版社"

setfiltertoThisform.pageframe1.page1.Text1.value=storebibli.出版社

Thisform.Refresh

ENDCASE

(b)Command2按钮的click事件代码:

thisform.pageframe1.page1.refresh

(c)Command3按钮的click事件代码:

thisform.pageframe1.visible=.F.

(6)在Page2中(page2主要用于读者对读者个人信息的查询):

(a)Command1按钮的click事件代码:

select读者借阅记录

docase

casebo1.displayvalue="证号"

setfiltertothisform.pageframe1.page2.text1.value=读者借阅记录.证号

thisform.refresh

casebo1.displayvalue="姓名"

setfiltertothisform.pageframe1.page2.text1.value=读者借阅记录.姓名

thisform.refresh

casebo1.displayvalue="类号"

setfiltertothisform.pageframe1.page2.text1.value=读者借阅记录.类号

thisform.refresh

casebo1.displayvalue="部门"

setfiltertothisform.pageframe1.page2.text1.value=读者借阅记录.部门

thisform.refresh

casebo1.displayvalue="时间"

setfiltertothisform.pageframe1.page2.text1.value=读者借阅记录.时间

thisform.refresh

endcase

(b)Command2按钮的click事件代码:

thisform.pageframe1.page2.refresh

(c)Command3按钮的click事件代码:

thisform.pageframe1.visible=.F.

4.3信息打印模块

信息打印模块主要用于各种信息资料报表的查看和打印。

1.表单界面的设计

(1)打开项目管理器,选择文档选项卡,选择表单选项,然后单击新建按钮创建新的表单“打印表单.scx”,在弹出的对话框中单击新建按钮,打开表单设计器窗口进行表单设计。

(2)在表单中添加5个命令按钮并对其属性进行设置如下:

控件

表单属性

取值

Form

Caption

打印信息

Command1

Caption

典藏图书信息

Command2

Caption

读者借阅信息

Command3

Caption

读者类型

Command4

Caption

新书征订数据

Command5

Caption

关闭

2.添加响应代码

(1)Command1按钮的click事件:

reportform典藏图书信息preview

(2)Command2按钮的click事件:

reportform读者借阅记录preview

(3)Command3按钮的click事件:

reportform读者类型preview

(4)Command4按钮的click事件:

reportform征订数据报表preview

(5)Command5按钮的click事件:

ifmessagebox("是否退出打印信息?

",36,"打印信息")=6

thisform.release

endif

4.4系统维护模块

系统维护模块主要功能是管理员对系统进行管理。

只有权限为0的管理员才有资格使用该功能,如果非管理员(即权限为1)则该功能不可使用。

从而维护了系统的稳定和安全。

该模块中管理员可以对读者用户的信息进行修改、增加、删除,以及找回用户密码等操作。

同时还可以对典藏图书信息进行修改,和征订新图书。

4.4.1进入系统维护功能界面的设计

通过该界面管理员可以选择所要进行的操作,并进入响应功能界面。

1.表单界面的设计

(1)打开项目管理器,选择文档选项卡,选择表单选项,然后单击新建按钮创建新的表单“系统维护.scx”,在弹出的对话框中单击新建按钮,打开表单设计器窗口进行表单设计。

(2)表单中添加5个按钮并对其属性进行设置如下:

2.添加响应代码

(1)Command1按钮的click事件代码:

doform读者信息管理

(2)Command2按钮的click事件代码:

doform图书借阅管理

(3)Command3按钮的click事件代码:

doform典藏图书管理

(4)Command4按钮的click事件代码:

doform图书征订

(5)Command5按钮的click事件代码:

ifmessagebox("是否退出系统管理?

",36,"系统管理")=6

thisform.release

endif

4.4.2典藏图书管理界面的设计

在该界面管理员可以对典藏图书信息进行修改、增加、删除操作。

1.表单界面的设计

(1)打开项目管理器,选择文档选项卡,选择表单选项,然后单击新建按钮创建新的表单“典藏图书管理.scx”,在弹出的对话框中单击表单向导按钮,打开向导选取窗口,选择表单向导来进行表单设计,如图:

(2)在向导的数据库和表中选择storebibli.dbf,让后在可用字段中选择所有字段,将它们添加到选定字段栏中,如下图所示:

(3)单击finish按钮,完成表单的创建,创建的表单如下图:

2.添加响应代码

(a)在表单Form的init事件中添加代码:

localformtitle,myvalue

formtitle=this.caption

this.caption=sys(2015)+[SetFormAttri]

hwnd=FindWindow(0,this.caption)

this.caption=formtitle

myvalue=int(rand(second())*10)

mytime=200

docase

casemyvalue=1

mytype=5

casemyvalue=2

mytype=9

casemyvalue=3

mytype=3

casemyvalue=4

mytype=12

casemyvalue=5

mytype=8

casemyvalue=6

mytype=1

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

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1