李聪数据库课程设计1_第1页
李聪数据库课程设计1_第2页
李聪数据库课程设计1_第3页
李聪数据库课程设计1_第4页
李聪数据库课程设计1_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录一、绪言2二、数据库设计32.1需求规格说明32.1.1数据需求32.1.2数据流图42.1.3数据字典42.2概念结构设计72.3逻辑结构设计92.4物理结构设计102.5设计小结11三、应用程序设计123.1概要设计123.1.1设计分析123.1.2功能模块图123.2详细设计143.2.1系统主界面代码143.2.2登陆窗口代码153.2.3借阅管理代码173.2.4还书管理代码203.2.5图书管理代码223.2.6删除图书信息代码233.2.7添加用户代码253.3、人机界面设计263.4设计小结30参考文献30第一章绪言图书馆信息管理系统,是图书馆进行现代化的信息管理和提供

2、信息服务的基础,是引导人们快速、准确地获取馆藏资源,并对馆藏资源进行有效管理的保证。湖南工学院图书馆藏纸质文献总量为70.2万册;中文电子图书66.7万册;每年订购的中外文期刊1700多种。图书馆馆紧紧围绕学校教学和科研的需要,建立了较为系统和完整并具有鲜明学科特点的藏书体系。同时拥有CNKI系列全文数据库、重庆维普信息资源系统等多个与学院专业相关的期刊全文数据库,同时还是湖南省高校数字化图书馆的成员馆,共享网上资源有:国家法规数据库、中外专科信息服务平台、万方中国标准全文数据库等9个资源库。然而随着新馆的建成,现有的图书借阅系统不能很好的满足对读者借阅的管理,于是提出在原有的基础上,开发一套

3、更为有效的图书借阅管理系统,以体现以人为本的服务宗旨,提高对读者的服务质量。新的图书借阅系统的目标是希望通过新系统的应用,能促进图书管理工作的规范化、标准化和自动化,提高管理水平和管理效率,为读者提供更完善的信息服务,使馆藏资源得到有效的利用,最大范围的满足读者的借阅需求。第二章 数据库设计2.1 需求规格说明2.1.1数据需求需求分析是指准确了解和分析用户的需求,这是最困难、最费时、最复杂的一步,但也是最重要的一步。它决定了以后各步设计的速度和质量。根据系统的需求,首先将要记录的信息分类,要记录的信息如下。1.图书管理在图书管理中,主要是对“图书库”中的书籍进行管理,如新增图书更新、修改图书

4、信息、提供图书查询和删除图书。2.图书借阅管理图书借阅管理就是对借书者的借书和还书进行管理,当借书者借书时,随即对“图书库”、“借书库”和“借书证库”进行相应的管理,并把相关信息提供给图书管理和借书证管理;还书,则除了上述的几个功能外,还要对还书库进行更新和记录。3.管理员管理管理员管理则是根据需要对各个管理员进行管理,并记录和反馈管理员信息。4.图书馆管理信息系统需要完成功能主要有:【1】、 读者基本信息的输入,包括借书证编号、读者姓名、读者性别,读者系别,读者班级,读者相片。【2】、读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。【3】、书籍类别标准的制定、类别信息的输

5、入,包括类别编号、类别名称。【4】、书籍类别信息的查询、修改,包括类别编号、类别名称。【5】、书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。【6】、书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。【7】、借书信息的输入,包括读者借书证编号、书籍编号、借书日期。【8】、借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。【9】、还书信息的输入,包括借书证编号、书籍编号、还书日期。 【10】、还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、

6、书籍名称、借书日期、还书日期等。2.1.2数据流图 登陆系统用 户 登 录图书管理借阅管理还书管理系统管理2.1.3 数据字典数据流图表达了数据与处理的关系,数据流图作为直观了解系统运行机理的手段,并没有具体描述个类数据的细节,只有通过数据字典进一步细化才能对系统的需求得到具体而确切的了解。数据字典用来说明数据流图中出现的所有元素的详细定义和描述,包括数据流、加工处理、数据存储、数据的起点和终点或外部实体等。数据字典包括的项目有数据项、数据结构、数据流、数据存储、加工逻辑和外部实体。可使用一些符号来表示数据结构、数据流和数据存储的组成。主要的数据项描述数据项名:读者学号数据项含义:唯一标识每一

7、个读者别名:无数据类型:整型数据项名:图书编号数据项含义:唯一标识每一本图书别名:无数据类型:整形数据项名:借书证编号数据项含义:唯一标识每一次借书服务别名:无数据类型:整形数据项名:管理者编号数据项含义:唯一标识每一个管理者别名:无数据类型:整型数据结构数据结构名:图书信息含义说明:保存图书的基本信息组成:图书编号+图书书名+类别+出版作者+登记日期+出版社名称数据结构名:读者信息含义说明:保存读者的具体信息组成:读者学号+读者性别+读者姓名+读者班级数据结构名:管理者信息含义说明:保存管理者的相关信息组成:管理者编号+管理者密码数据结构名:借书统计含义说明:保存读者借书的基本信息组成:图书

8、编号+借书证编号+读者学号+读者姓名+结束日期+图书作者+图书出版时间数据结构名:还书统计含义说明:保存读者还书的基本信息组成:图书编号+借书证编号+读者学号+读者姓名各表设计详解:说明:空缺位置表示无要求,主键在约束栏注明。视图/表名类型说明读者表基本表读者信息图书表基本表图书信息借阅表基本表借阅读者、书籍信息用户管理基本表登陆账号、密码基本表:读者表字段类型长度约束借书证号int4主键姓 名char10性 别char10班 级char20年 龄int4基本表:图书表字段类型长度约束图书编号varchar25主键书 名varchar10作 者varchar20出版社varchar25出版时间

9、varchar50类 别char24基本表:用户管理字段类型长度约束用户名varchar10主键密码varchar25姓名varchar10性别varchar25所在部门datetime备注varchar基本表:借出表字段类型长度约束图书编号varchar8主键借书证编号varchar8读者姓名varchar10所借图书varchar25作者varchar10出版社varchar50出版时间datetime类别借出时间2.2 概念结构设计根据所要实现的功能设计,建立它们之间的关系,进而实现逻辑结构功能。实体列表:实 体描 述读 者所有借阅者,由读者号标识图 书图书馆所有图书,由图书编号标识借

10、阅姓名、书名 、借书日期等属性,由图书编号和读者号标识管 理 员系统管理人员系统的E-R模型:有关实体及其属性图如下:实体集 实体属性 实体之间的联系该图书管理系统的E-R模型,如下图所示读者信息读者姓名读者学号读者班级读者性别联系号码图3.1 读者信息实体管理员信息管理员密码用户名图3.2 管理员信息实体图书信息出版社名称书籍作者图书名称图书编号登记日期图书类别图3.3 图书信息实体读者姓名借书信息读者学号图书编号借书日期图3.4 借书信息实体还书信息读者姓名号所还书名读者学号图3.5 还书信息实体2.3 逻辑结构设计概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何

11、一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所要完成的任务。关系模型是由一组关系(二维表)的结合,而E-R模型则是由实体、实体的属性、实体间的关系三个要素组成。所以要将E-R模型转换为关系模型,就是将实体、属性和联系都要转换为相应的关系模型。根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。读者模型(读者学号,读者姓名,读者性别,读者

12、班级,联系电话)管理员模型(用户名,管理员密码)图书模型(图书编号,图书名称,书籍作者,出版社名称,登记日期,类别)借书信息模型(读者学号,读者姓名,书名,借书日期)还书信息模型(还书编号,书籍编号,所还书名)用户ID用户ID用户ID读者信息读者类别图书管理图书类别图书信息读者表图书借阅借书还书查询图书图书编号图4.1数据库逻辑结构图2.4 物理结构设计数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复

13、,最后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。2.5 设计小结通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求规格说明,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新。整个开发过程中我们深深体会到,团队之间要多做交流,要团结合作,要严格按照软件工程的

14、开发思路,不能急于求成,一来就马上编程,应该多做分析和研究,理清思路。前一阶段的工作的好坏将直接影响后一阶段工作的开展。多学习多请教,更多新的技术不断的涌现,可以通过请教别人或者多上网学习别人的编程方法、参考编程案例,可以转变成你的知识,才能做的更好。这些经验是相当宝贵的,为我们以后能够编出更好的程序是一个良好的启发。限于我们的技术水平有限这次的课程设计论文和编程软件的错误和不当之处在所难免,还得请老师多多指教!在这次的课程设计中虽然时间紧迫但我们学会了很多,也感到自身知识的贫乏,希望在日后的努力学习中把它做成更完善的系统,并能做其他完善的系统。 第三章 应用系统设计3.1 概要设计3.1.1

15、设计分析通过系统分析,本系统结构分为一下几个模块:(1)读者信息管理模块此模块的功能主要是读者基本信息的输入、查询、修改,包括读者证编号、读者姓名等。(2)管理员信息管理模块此模块的功能包括创建读者用户信息、删除读者用户信息、删除图书信息。(3)图书信息管理模块此模块的功能主要是书籍库存信息的输入、查询、修改,包括书籍条码书籍名称、作者姓名、出版社名称、出版日期等。(4)借书信息管理模块此模块的功能主要是信息的输入、查询、修改,包括读者姓名、读者编号,书籍编号、书籍名称等。3.1.2功能模块图(1)根据上述的功能,可以设计出系统的总体功能模块。功能模块图如下图所示。图书馆信息管理系统读者信息管

16、理管理员信息管理借书信息管理图书信息管理功能模块图(2)读者信息管理模块的功能主要是读者基本信息的输入、查询、修改,包括读者借书证编号、读者姓名、读者性别等。管理员信息管理如下图所示。读者信息管理读者信息输入读者信息修改读者信息查询 读者信息管理(3)管理员信息管理模块功能包括创建读者用户信息、删除读者用户信,添加图书信息、删除图书信息。管理员信息管理如下图所示。管理员信息管理创建读者添加图书删除图书删除读者管理员信息管理(4)图书信息管理模块的功能主要是图书信息的输入、查询、修改,包括书籍编号,书籍名称、作者姓名、出版社名称,出版日期等。图书信息管理如下图所示。图书信息管理图书信息输入图书信

17、息修改图书信息查询图书信息管理(5)借书信息管理模块的功能主要是借书信息的输入、查询、修改,包括借书证编号、读者姓名、书籍编号、书籍名称。借书信息管理如下图所示。借书信息管理借书信息输入借书信息修改借书信息查询借书信息管理3.2详细设计3.2.1系统主界面代码Private Sub Command1_Click()登陆界面.Show 1End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click()图书管理.Show 1End SubPrivate Sub Command4_Click()借阅管理.S

18、how 1End SubPrivate Sub Command5_Click()还书管理.Show 1End SubPrivate Sub Command6_Click()系统管理.Show 1End SubPrivate Sub Form_Load() Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False Command6.Enabled = False Skin1.LoadSkin App.Path & "green.skn" Skin1.ApplySkin Me.h

19、WndEnd Sub3.2.2 登陆窗口代码Private Sub Command1_Click()Dim password As String, name As StringAdodc1.RecordSource = "select * from 用户管理 where 用户名=" & Text1.TextAdodc1.Refreshpassword = Adodc1.Recordset.Fields("密码")name = Adodc1.Recordset.Fields("用户名") If Combo1.Text = &qu

20、ot;管理员" ThenIf Text1.Text = name And Text2.Text = password Thenr = MsgBox("欢迎进入湖南工学院图书借阅管理系统!", , "恭喜,登陆成功!")Print r主页.Command3.Enabled = True主页.Command4.Enabled = True主页.Command5.Enabled = True主页.Command6.Enabled = True主页.Command1.Caption = "已登陆"主页.Command1.Enable

21、d = FalseUnload MeElseMsgBox "帐号或密码错误,请重新登陆!", , "登陆失败" End If End If If Combo1.Text = "普通用户" ThenIf Text1.Text = name And Text2.Text = password And Adodc1.Recordset.Fields("权限") = 普通用户 Thenr = MsgBox("欢迎进入湖南工学院图书借阅管理系统!", , "恭喜,登陆成功!")Prin

22、t r主页.Command3.Enabled = True主页.Command4.Enabled = True主页.Command5.Enabled = True主页.Command6.Enabled = False主页.Command1.Caption = "已登陆"主页.Command1.Enabled = FalseUnload MeElseMsgBox "帐号或密码错误,请重新登陆!", , "登陆失败" End If End IfEnd SubPrivate Sub Command2_Click()Unload MeEnd

23、SubPrivate Sub Form_Load() Skin1.LoadSkin App.Path & "green.skn" Skin1.ApplySkin Me.hWndEnd Sub3.2.3 借阅管理代码Private Sub Command1_Click() Adodc1.RecordSource = "select * from 图书表" Adodc1.RefreshIf Not Text1.Text = "" Then Adodc1.RecordSource = "select * from 图书表

24、where 书名='" & Text1.Text & "'" Adodc1.RefreshElseMsgBox "请输入所借图书的书名", "提示"End IfEnd SubPrivate Sub Command2_Click()Adodc1.RecordSource = "select * from 图书表"Adodc1.RefreshAdodc2.RecordSource = "select * from 读者表"Adodc2.RefreshAdod

25、c3.RecordSource = "select * from 借出表"Adodc3.RefreshIf Not Text1.Text = "" And Not Text2.Text = "" ThenAdodc1.RecordSource = "select * from 图书表 where 书名='" & Text1.Text & "'"Adodc1.RefreshAdodc2.RecordSource = "select * from 读者表 w

26、here 借书证编号=" & Text2.TextAdodc2.RefreshAdodc3.Recordset.Fields("图书编号") = Adodc1.Recordset.Fields("图书编号")Adodc3.Recordset.Fields("所借图书") = Adodc1.Recordset.Fields("书名")Adodc3.Recordset.Fields("读者姓名") = Adodc2.Recordset.Fields("姓名")A

27、dodc3.Recordset.Fields("借书证编号") = Adodc2.Recordset.Fields("借书证编号")Adodc3.Recordset.Fields("作者") = Adodc1.Recordset.Fields("作者")Adodc3.Recordset.Fields("出版社") = Adodc1.Recordset.Fields("出版社")Adodc3.Recordset.Fields("出版时间") = Adodc1

28、.Recordset.Fields("出版时间")Adodc3.Recordset.Fields("类别") = Adodc1.Recordset.Fields("类别")Adodc3.Recordset.Fields("借书时间") = Left(Now, 10)Adodc1.RecordSource = "select * from 图书表 where 书名='" & Text1.Text & "'"Adodc1.Refresh图书管理.A

29、dodc1.Refresh图书管理.Adodc2.RefreshMsgBox "借阅成功", , "成功提示"End IfEnd SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Command4_Click()Adodc2.RecordSource = "select * from 读者表" Adodc2.RefreshIf Not Text2.Text = "" Then Adodc2.RecordSource = "select *

30、 from 读者表 where 借书证编号=" & Text2.Text Adodc2.RefreshElseMsgBox "请输入你的借书证编号", "提示"End IfEnd SubPrivate Sub Command6_Click()Adodc1.RecordSource = "select * from 图书表"Adodc1.RefreshIf Not Text3.Text = "" Then Adodc1.RecordSource = "select * from 图书表 w

31、here 书名 like '%" & Text3.Text & "%'" Adodc1.RefreshElseMsgBox "请输入你要查询图书的关键字", "提示"End IfEnd SubPrivate Sub Form_Load() Skin1.LoadSkin App.Path & "green.skn" Skin1.ApplySkin Me.hWndEnd Sub3.2.4还书管理代码Private Sub Command1_Click() Adodc1.

32、RecordSource = "select * from 图书表" Adodc1.RefreshIf Not Text1.Text = "" Then Adodc1.RecordSource = "select * from 图书表 where 书名='" & Text1.Text & "'" Adodc1.RefreshElseMsgBox "请输入所借图书的书名", "提示"End IfEnd SubPrivate Sub Command

33、2_Click()Adodc1.RecordSource = "select * from 图书表"Adodc1.RefreshAdodc2.RecordSource = "select * from 读者表"Adodc2.RefreshAdodc3.RecordSource = "select * from 借出表"Adodc3.RefreshIf Not Text1.Text = "" And Not Text2.Text = "" ThenAdodc1.RecordSource = &qu

34、ot;select * from 图书表 where 书名='" & Text1.Text & "'"Adodc1.RefreshAdodc2.RecordSource = "select * from 读者表 where 借书证编号=" & Text2.TextAdodc2.RefreshAdodc3.Recordset.Fields("图书编号") = Adodc1.Recordset.Fields("图书编号")Adodc3.Recordset.Fields(

35、"所借图书") = Adodc1.Recordset.Fields("书名")Adodc3.Recordset.Fields("读者姓名") = Adodc2.Recordset.Fields("姓名")Adodc3.Recordset.Fields("借书证编号") = Adodc2.Recordset.Fields("借书证编号")Adodc3.Recordset.Fields("作者") = Adodc1.Recordset.Fields("

36、;作者")Adodc3.Recordset.Fields("出版社") = Adodc1.Recordset.Fields("出版社")Adodc3.Recordset.Fields("出版时间") = Adodc1.Recordset.Fields("出版时间")Adodc3.Recordset.Fields("类别") = Adodc1.Recordset.Fields("类别")Adodc3.Recordset.Fields("借书时间")

37、 = Left(Now, 10)Adodc1.RecordSource = "select * from 图书表 where 书名='" & Text1.Text & "'"Adodc1.Refresh图书管理.Adodc1.Refresh图书管理.Adodc2.RefreshMsgBox "借阅成功", , "成功提示"End IfEnd SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Command4_Clic

38、k()Adodc2.RecordSource = "select * from 读者表" Adodc2.RefreshIf Not Text2.Text = "" Then Adodc2.RecordSource = "select * from 读者表 where 借书证编号=" & Text2.Text Adodc2.RefreshElseMsgBox "请输入你的借书证编号", "提示"End IfEnd SubPrivate Sub Command6_Click()Adodc1.

39、RecordSource = "select * from 图书表"Adodc1.RefreshIf Not Text3.Text = "" Then Adodc1.RecordSource = "select * from 图书表 where 书名 like '%" & Text3.Text & "%'" Adodc1.RefreshElseMsgBox "请输入你要查询图书的关键字", "提示"End IfEnd SubPrivate Su

40、b Form_Load() Skin1.LoadSkin App.Path & "green.skn" Skin1.ApplySkin Me.hWndEnd Sub3.2.5图书管理代码Private Sub Command1_Click()添加新书.Show 1End SubPrivate Sub Command2_Click()修改图书信息.Show 1End SubPrivate Sub Command3_Click()删除图书信息.Show 1End SubPrivate Sub Command4_Click()Adodc2.RecordSource = &

41、quot;select * from 图书表"Adodc2.RefreshIf Not Combo1.Text = "" Then Adodc2.RecordSource = "select * from 图书表 where 类别='" & Combo1.Text & "'" Adodc2.Refresh End IfEnd SubPrivate Sub Command5_Click()Adodc2.RecordSource = "select * from 图书表"Ado

42、dc2.RefreshIf Not Text1.Text = "" Then Adodc2.RecordSource = "select * from 图书表 where 书名 like '%" & Text1.Text & "%'" Adodc2.Refresh End IfEnd SubPrivate Sub Form_Load()Skin1.LoadSkin App.Path & "green.skn" Skin1.ApplySkin Me.hWndEnd Sub3.2

43、.6 删除图书信息代码Private Sub Command1_Click()Adodc1.RecordSource = "select * from 图书表 where 书名='" & Text5.Text & "'"Adodc1.Refresh图书管理.Adodc1.Refresh图书管理.Adodc2.RefreshMsgBox "图书信息删除成功", , "成功"Text1.Text = ""Text2.Text = ""Text3.T

44、ext = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click()Adodc1.RecordSource = "select * from 图书表"Adodc1.RefreshIf Text5.Text = "" ThenMsgBo

45、x "请输入要修改图书的书名", , "提示"Text5.SetFocusElseAdodc1.RecordSource = "select * from 图书表 where 书名='" & Text5.Text & "'"Adodc1.RefreshText1.Text = Adodc1.Recordset.Fields("作者")Text2.Text = Adodc1.Recordset.Fields("出版社")Text3.Text =

46、Adodc1.Recordset.Fields("出版时间")Text4.Text = Adodc1.Recordset.Fields("类别")Text6.Text = Adodc1.Recordset.Fields("图书编号")Text7.Text = Adodc1.Recordset.Fields("书名")End IfEnd SubPrivate Sub Form_Load() Skin1.LoadSkin App.Path & "green.skn" Skin1.ApplySkin Me.hWndEnd SubPrivate Sub Label1_Click()End Sub3.2.7 添加用户代码Private Sub Command1_Click()Adodc1.Rec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论