《数据库技术原理》课程设计图书馆图书管理系统.doc

上传人:精*** 文档编号:824837 上传时间:2023-09-04 格式:DOC 页数:33 大小:1.30MB
下载 相关 举报
《数据库技术原理》课程设计图书馆图书管理系统.doc_第1页
第1页 / 共33页
《数据库技术原理》课程设计图书馆图书管理系统.doc_第2页
第2页 / 共33页
《数据库技术原理》课程设计图书馆图书管理系统.doc_第3页
第3页 / 共33页
《数据库技术原理》课程设计图书馆图书管理系统.doc_第4页
第4页 / 共33页
《数据库技术原理》课程设计图书馆图书管理系统.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、数据库技术原理课程设计报告数据库技术原理课程设计报告内容一、课程设计目的1、使学生在学完数据库技术原理这门课后为充分理解和掌握这门技术2、了解数据库应用结构。3、了解数据库接口。4、掌握数据库应用过程尤其连接数据库、表现数据库。5、加深SQL语言掌握。二、概述课程设计题目:图书管理系统内容:书库信息(书号,书名,架位,册数,目录,简介)学生档案:(借书证号,学号,班级,姓名,性别,联系方式(可以是电话,手机,邮件地址,借书限制)借阅档案:(借阅者,借阅书名,借阅日期,还期)设计要求:在本系统中我们将建立图书管理查询启动封面功能模块,系统总控模,管理员登入模块,图书查询,修改,添加,更新,删除模

2、块程序设计,此次界面应包含如下七个功能:普通用户登陆窗体,功能主窗体,2个单表的添加、删除、修改,2个单表的查询功能,1个多表的查询功能。三、总体方案图书管理系统是采用Visual Basic6.0开发的一个数据库管理系统。开发本系统的基本步骤:需求分析、系统概念设计、系统逻辑和物理设计、系统实现。在系统分析中用数据字典、数据流程、系统的功能结构图、ER图分析了系统所需的各种数据。在系统的设计过程中,采用了模块独立设计法,比较详细的展现了各个模块的功能。在库和表的设计当中, 力求层次清晰,设计简单实用。在系统具体实行阶段中,精心细致的画出了各个窗体并给出了相应的事件和代码,以实现各个窗体的作用

3、。开发环境:本图书管理开发系统是在windowXP 以上机型的计算机上进行开发并获得通过的,同时方便系统开发,减少开发过程的难度,我们是基于以下的软件环境。(1)以Windows XP为操作系统(2)以Visual Basic6.0为开发工具(3)以SQL server 2000作为后台数据库功能概述:该系统界面友好,操作简便,能完成添加图书信息,修改图书信息,查询图书信息,查询读者信息,修改读者信息等一系列图书管理功能,开发本系统的总体任务是实现图书管理的系统化和自动化,帮助管理人员更好更高效地完成图书管理工作。本着实用性和介绍性的原则,整个系统由四大模块组成,每个大的模块又包括二至三个小的

4、模块。一、 信息管理部分:包括图书信息管理和读者信息管理,其功能是实现对各部分数据内容进行添加、修改、删除等操作。二、 信息查询部分:包括读者信息查询和图书信息查询,其功能是实现对各部分数据内容的查找等操作。三、 管理部分:包括借书管理和还书管理,其功能是实现对各部分数据内容的添加和查询等操作。四、 系统管理部分:包括修改系统用户密码和安全退出两项功能。 系统具有高效、易操作等特点,并且系统结构清晰、界面友好,功能较为齐全,能有效地协助管理人员进行图书管工作。如果想真正把它用到图书馆的图书自动化管理中,还需要读者对该系统进行一步的完善工作。四、数据库设计1. 图书管理系统设计E-R图借阅读者信

5、息书籍信息借书证号读者姓名性别班级电话号码书籍编号书名作者库存量图书简介nm借阅信息书籍编号读者编号读者姓名出借日期还书日期书籍名称包含含有2.ER图转换为关系模型由ER图可见:图中有三个实体:读者信息,借阅信息和书籍信息;三个关系:读者和图书之间是借阅关系,读者和借阅信息之间是包含关系,借阅信息和书籍信息之间是含有的关系。由于每个实体必须构造表,所以可以先得到三个实体的信息表,实体的码就是关系的码,实体的属性即关系模型的属性:(1)读者信息表:读者信息表包括以下字段:借书证号、读者姓名、性别、班级、联系电话。下面对各属性作一些解释:借书证号:读者借书证上的号码,每位读者的借书号是唯一的,该属

6、性也作为读者这一实体的主属性。读者姓名:读者的名字。性别:读者的性别,字符型常量。电话号码:读者的联系电话。相应的SQL语句:CREATE TABLE 读者信息 (借书证号 char (10) primary key ,读者姓名 char (10) ,性别 char(3) check(性别=男 or 性别=女),班级 char (10) ,电话号码 char (15) not null ) (2)图书信息表图书信息表包括以下字段:书籍编号、书名、作者、库存量、图书简介。下面对该表的各属性作一些解释:书籍编号:图书入馆时的编号,每本书编号唯一,使图书这一实体的主属性。书名:图书的名称。作者:图书

7、的作者,一般只指第一作者。库存量:图书的本数。图书简介:图书的简单介绍。相应的SQL语句:CREATE TABLE 书籍信息 (书籍编号 char (10) primary key ,书名 char (30) NOT NULL ,作者 char (20) NOT NULL ,库存量 int not null,图书简介 varchar (100) )(3)借阅信息表包括以下字段:读者编号、书籍编号、读者姓名、书籍名称、出借日期、还书日期。下面对该表的各属性作一些解释:读者编号:每位读者编号唯一,使读者编号这一实体的主属性。参照读者信息的读者编号。书籍编号:每本图书入馆时的编号唯一,使书籍编号为这

8、一实体的主属性。书名:图书的名称。作者:图书的作者,一般只指第一作者。出节日期:读者的借书日期。还书日期:读者应还书的日期。相应的SQL语句:CREATE TABLE 借阅信息 (读者编号 char (10) not null , 读者姓名 char (10) not null,书籍编号 char (10) not null , 书籍名称 char (30) not null,出借日期 char(12) NOT NULL,还书日期 char(12) NOT NULL,primary key (读者编号,书籍编号),foreign key (读者编号) references 读者信息(借书证号)

9、 on delete cascade,foreign key (书籍编号) references 书籍信息(书籍编号) on delete cascade)根据上面的数据库ER图,现在需要将上面的数据库概念结构转化为SQL Server2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。图书管理信息系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。(4)数据表结构如下表:读者信息表字段名称数据类型字段长度是否为空借书证号char10否读者姓名char10否性别char2

10、是班级char10否电话号码char15是图书信息表字段名称数据类型字段长度是否为空书籍编号char10否书名char30否作者char10否库存量int否图书简介varchar100是借阅信息表字段名称数据类型字段长度是否为空读者编号char10否书籍编号char10否读者姓名char 10否书籍名称char30否出借日期char12否还书日期char12否3.数据库说明(1)信息录入功能1)添加新图书信息。当图书馆收藏新图书时,系统向用户提供新图书信息录入功能,由于同一种书可能会有多本新图书的信息有很多类。此次课程设计考虑的只是部分图书信息,包括:书籍编号、书名、作者、价格、馆藏数量、图书

11、简介;另外具体到每一本书的信息,包括书籍编号,书名,是否可借等。每本书的书籍编号和同书名的的多本书之间是一对多的关系,每一本书的书籍编号是唯一的。2)添加读者信息。用于登记新读者信息。包括:借书证号、姓名、性别、联系电话等。3)借阅信息。用于登记当前图书的借阅情况信息。包括:借书证号、借阅书号、借出日期、归还日期等信息。(2)数据修改和删除功能1)修改和删除图书信息。图书被借出或是损坏时,系统需要更新图书信息的相关信息,当输入的图书信息有错误或需要进行必要更新时,可以修改图书信息;当一种图书所有馆藏图书都已损毁或遗失并且不能重新买到时,该图书信息需要删除。2)修改和删除读者信息。当读者的自身信

12、息发生变动,如班级调动或离开本单位,或违反图书馆规定需要限制其借阅图书时,需要修改读者信息。(3)查询功能1)图书查询功能。根据图书的各种已知条件来查询图书的详细信息,如书名、作者、图书编号等支持模糊查询。2)读者信息查询。输入读者的借书证号、姓名、联系电话等信息,查询读者的基本信息。对查询到的每一个读者,能够显示其借还的图书编号和书名等信息。3)查询借阅信息。要求结果显示图书编号、书名、读者姓名、借书证号、出借日期等信息。(4)系统管理:当用户忘记密码时对用户密码的修改和全出退出。(5)帮助:当用户遇到错误时,可以获得相应的帮助提示。五、系统实现与测试1.各功能的流程图功能流程图是描述管理系

13、统工作流程的一种图形表示法。它描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。图书管理系统主要是为了对图书、读者基本信息等进行计算机管理。下面就是对各个功能模块的流程分析:1 图书信息管理基本信息流程图 图书信息管理添加修改删除流程图分析:图书基本信息的流动首先是以图书编号为流动方向的依据,来达到添加、修改、记录、删除图书记录。为了数据

14、的一致性,进行这些操作的同时,也对数据库中的记录进行检查,检查是否有重复的记录。如有则不能进行添加。图书管理窗体:程序实现:Option ExplicitPrivate Sub cmdAddNew_Click()If cmdAddNew.Caption = 添加信息 Then cmdAddNew.Caption = 保存 Adodc1.Recordset.AddNew Text1.SetFocus Else cmdAddNew.Caption = 添加信息 Adodc1.Recordset.Update Adodc1.Refresh End IfEnd SubPrivate Sub cmdDe

15、lete_Click() Dim i As Integer i = MsgBox(真的要删除该记录吗?, vbYesNo + vbExclamation, 提示) If i = vbYes Then Adodc1.Recordset.Delete Adodc1.Refresh MsgBox 删除图书信息成功!, vbOKOnly, 提示 End IfEnd SubPrivate Sub cmddrop_Click()Unload MeEnd SubPrivate Sub cmdmodify_Click() If Trim(Text1.Text) = Or Not IsNumeric(txtSn

16、o.Text) Then MsgBox 请输正确的图书编号!, vbOKOnly + vbExclamation, 提示 Text1.SetFocus Exit Sub End IfIf Trim(Text2.Text = ) Then MsgBox 请输入书名。, vbOKOnly + vbExclamation, 提示 Text2.SetFocusExit Sub End If If Trim(Text3.Text = ) Then MsgBox 图书简介最好不要少!, vbOKOnly + vbExclamation, 提示 Text3.SetFocus Exit Sub End If

17、If Trim(Text4.Text = ) Then MsgBox 图书作者不可少!, vbOKOnly + vbExclamation, 提示 Text4.SetFocus Exit Sub End If If Trim(Text5.Text = ) Then MsgBox 库存量最好说明!, vbOKOnly + vbExclamation, 提示 Text5.SetFocus Exit Sub End If Adodc1.Recordset.Update 添加完数据后应及时更新数据源adodc1,否则数据显示无法同步 Adodc1.RefreshEnd SubPrivate Sub C

18、ommand1_Click()Adodc1.Recordset.MoveFirstEnd SubPrivate Sub Command2_Click() Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst End IfEnd SubPrivate Sub Command3_Click() Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End IfEnd SubP

19、rivate Sub Command4_Click() Adodc1.Recordset.MoveLastEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End Sub2 读者信息管理基本信息流程图读者信息管理修改删除添加流程图分析:读者基本信息的流动首先是以读者的编号为依据,来达到添加、修改、查询、删除读者信息的记录。读者管理信息窗体:程序代码实现: Option ExplicitPrivate Sub cmdAdd_Click() If cmdAdd.Caption = 添加信息

20、Then cmdAdd.Caption = 保存 Adodc1.Recordset.Add Text3.SetFocus Else cmdAdd.Caption = 添加信息 Adodc1.Recordset.Update Adodc1.Refresh End IfEnd Sub Private Sub cmdAddNew_Click() If cmdAddNew.Caption = 添加信息 Then cmdAddNew.Caption = 保存 Adodc1.Recordset.AddNew Text2.SetFocus Else cmdAddNew.Caption = 添加记录 Adod

21、c1.Recordset.Update Adodc1.Refresh End IfEnd SubPrivate Sub cmddel_Click() Dim i As Integer i = MsgBox(真的要删除该读者吗?, vbYesNo + vbExclamation, 提示) If i = vbYes Then Adodc1.Recordset.Delete Adodc1.Refresh MsgBox 删除读者成功!, vbOKOnly, 提示 End IfEnd SubPrivate Sub cmddrop_Click()Unload MeEnd SubPrivate Sub cm

22、dmodify_Click() If Trim(Text1.Text) = Or Not IsNumeric(Text1.Text) Then MsgBox 请输入合理的电话号!, vbOKOnly + vbExclamation, 提示 Text1.SetFocus Exit Sub End If If Trim(Text2.Text = ) Then MsgBox 请输入读者姓名!, vbOKOnly + vbExclamation, 提示 Text2.SetFocus Exit Sub End If If Trim(Text3.Text = ) Then MsgBox 请输入合理借书证号

23、!, vbOKOnly + vbExclamation, 提示 Text3.SetFocus Exit Sub End If If Trim(Text4.Text) 男 And Trim(Text4.Text) 女 Then MsgBox 请输入正确的学生性别。, vbOKOnly + vbExclamation, 提示 Text4.SetFocus Exit Sub End If If Trim(Text5.Text = ) Then MsgBox 请输入读者班级!, vbOKOnly + vbExclamation, 提示 Text5.SetFocus Exit Sub End If Ad

24、odc1.Recordset.Update 添加完数据后应及时更新数据源adodc1,否则数据显示无法同步 Adodc1.RefreshEnd SubPrivate Sub Command1_Click() Adodc1.Recordset.MoveFirstEnd SubPrivate Sub Command2_Click() Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst End IfEnd SubPrivate Sub Command3_Click()Adodc1.

25、Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End IfEnd SubPrivate Sub Command4_Click()Adodc1.Recordset.MoveLastEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End Sub3书籍信息查询流程图图书信息查询输入查询方式查询流程图分析:书籍基本信息的查询主要是依据输入的查询方式进行查询图书的相关信息,显示图书的情况。不进行

26、添加。图书信息查询信息窗体:当输入书名“物理”时查询情况如下:程序代码实现:Public tb As String, sql As StringPrivate Sub cmdQuery_Click() If Trim(txtData.Text) = Then MsgBox 请输入要查询的信息!, vbOKOnly + vbExclamation, 提示 Else tb = 书籍信息 Select Case Adodc1.Recordset.Fields(cboFields.ListIndex).Type Case 129 字符数据 If cboOperator.Text = like Then

27、 sql = tb & where & tb & . & cboFields & like % + txtData + % Else sql = tb & where & tb & . & cboFields & cboOperator & + txtData + End If Case 5 货币数据 If IsNumeric(txtData) = False Then MsgBox 请输入正确的数据!, , 提示窗口 Exit Sub End If If cboOperator.Text = like Then MsgBox 货币数据不能选用“Like”作为运算符!, , 提示窗口 cboO

28、perator.ListIndex = 0 End If sql = tb & where & tb & . & cboFields & cboOperator & txtData Case 3 数字数据 If IsNumeric(txtData) = False Then MsgBox 请输入正确的数据!, , 提示窗口 Exit Sub End If If cboOperator.Text = like Then MsgBox 数字数据不能选用“Like”作为运算符!, , 提示窗口 cboOperator.ListIndex = 0 End If sql = tb & where & t

29、b & . & cboFields & cboOperator & txtData Case 133 日期数据7or133 If IsDate(txtData) = False Then MsgBox 日期不正确,应输入yyyy-mm-dd格式!, , 提示窗口 Exit Sub End If If cboOperator.Text = like Then MsgBox 日期数据不能使用“Like”作为运算符!, , 提示窗口 cboOperator.ListIndex = 0 End If sql = tb & where & tb & . & cboFields & cboOperator

30、 & & txtData & End Select If sql Then Adodc1.RecordSource = sql Adodc1.Refresh If Adodc1.Recordset.EOF Or Adodc1.Recordset.BOF Then MsgBox 您查询的记录不存在。, vbOKOnly + vbExclamation, 提示 End If End If End IfEnd SubPrivate Sub comdrop_Click()Unload MeEnd SubPrivate Sub Form_Load() Dim fld Set fld = Adodc1.R

31、ecordset.Fields For Each fld In Adodc1.Recordset.Fields 向combo控件中添加字段 cboFields.AddItem fld.Name Next cboFields.ListIndex = 0 向cboOperator中添加查询条件 cboOperator.AddItem (=) cboOperator.AddItem () cboOperator.AddItem (=) cboOperator.AddItem () cboOperator.AddItem (=) cboOperator.AddItem () cboOperator.A

32、ddItem (like) cboOperator.ListIndex = 0End Sub4读者信息查询流程图读者信息查询输入查询方式查询流程图分析:读者基本信息的查询主要是依据输入的查询方式进行查询读者的相关信息,显示图书的情况。不进行添加。读者信息查询窗体:当输入借书证号=“004”时的读者信息情况:程序代码实现基本同图书信息查询代码,可参照作相应的修改。5多表信息流程图多表信息查询输式读者姓名查询流程图分析:多表信息查询部分是实现对读者信息表、书籍信息表和借阅信息表三个表信息的查询,要求部分数据内容的显示,在多表信息中包括读者编号、读者姓名、书籍名称、出借日期和还书日期等信息。通过查询

33、可使管理员很快地了解借阅信息,从而避免书籍的丢失丢失等现象产生。多表查询窗体:当输入读者姓名为“刘晨”时的信息如下:程序代码实现:Public sql As StringPrivate Sub cmddrop_Click()Unload MeEnd SubPrivate Sub cmdQuery_Click() sql = select 借阅信息.读者编号,读者信息.读者姓名,借阅信息.书籍编号,借阅信息.书籍名称,出借日期,还书日期 From 读者信息, 书籍信息, 借阅信息 where 借阅信息.读者编号=读者信息.借书证号 and 书籍信息.书籍编号=借阅信息.书籍编号 sql = sq

34、l & and 读者信息.读者姓名 = & txtData.Text & Adodc1.CommandType = adCmdText Adodc1.RecordSource = sql Adodc1.Refresh If Adodc1.Recordset.EOF Or Adodc1.Recordset.BOF Then MsgBox 您查询的记录不存在。, vbOKOnly + vbExclamation, 提示 End IfEnd SubPrivate Sub DataGrid1_Click()End Sub通过上面对各个模块流程的分析,那么我们就不难对整个系统的大致流程有一个全面的认识。

35、设计时采用了常用的自顶向下的瀑布式结构化设计方法。各子系统具有独立的数据库结构,同时又具有相关的关键字,这样系统做起来后就便于用户操作。综合上面各个模块的流程分析,其总体流程图如下:图书馆图书管理系统关于帮助系统管理信息查询信息管理安全退出密码修改多表信息查询图书信息查询读者信息查询借阅信息管理书籍信息管理读者信息管理6.功能模块实现界面设计设计好的界面如图所示:这是一个多文档界面(MDI)应用程序,可以同时显示多个文档,每个文档显示在各自的窗体中。MDI 应用程序中常有包含子菜单的“窗体”选项,用于在窗体或文档之间进行切换。菜单应用程序中,有个菜单选项,每个选项对应着E-R图的一个子项目。1

36、、创建主窗体首先创建一个工程,命名为图书馆图书管理,选择“工程”“添加MDI窗体”命令,则在项目中添加了主窗体。该窗体的一些属性如表1所示。表1 主窗体的属性属 属性值Caption图书馆图书管理名称MDIForm1WindowstateMaxsizeWindowstate的值为Maxsize,即程序启动之后自动最大化。从“工具”到“菜单编辑器”。创建一些菜单项,如表2所示。表2 菜 单 项 表菜 单 名 称Text属性功 能 描 述infomanage信息管理调出读者、图书和借阅信息管理窗体infocheck信息查询调出读者、图书和多表查询窗体sysmanage系统管理调出密码修改和安全退出

37、help帮助调出关于窗体2、创建各子窗体选择“工程”“添加窗体”命令,添加子窗体。在新建Visual Basic工程时自带的窗体中,将其属性MIDChild改成True,则这个窗体成为MID窗体的子窗体。在这个项目中,要创建的子窗体如表3所示。表3 所有子窗体子 窗 体 名Text读者信息管理frmreaderinfo图书信息管理frmbookinfo借阅信息管理frmlendbookinfo读者信息查询frmfindreader图书信息查询frmfindbook多表查询frmallforminfo密码修改frmchangeinfo关于frmabout下面分别给出这些子窗体,以及它们所使用的控

38、件。(1) 图书登记子窗体控件如表4所示。表4 图书登记子窗体控件图书信息管理子窗体控件控 件 类 别控件Name控件TextLabelLabel1书籍编号Label2书名Label3作者Label4库存量Label5图书简介TextBoxText1(空)Text2(空)Text3(空)Text4(空)Text5(空)CommandButtoncomAddNew添加信息cmdDelete删除信息cmdmodify修改信息cmddrop取消ADO Adodc1Adodc1DataGridDataGrid1读者信息管理和其他子窗体,因为它们的控件与图书信息管理子窗体大致雷同,在此不作介绍,可以仿照

39、上面作相应的更改。其他窗体如下:用户登录窗体如图所示。 程序实现代码:Private Sub cmdcancel_Click() Unload MeEnd SubPrivate Sub cmdOK_Click() 检查正确的密码 tb = users sql = tb & where username= & txtUserName & and password= & txtPassword & Adodc1.CommandType = adCmdTable Adodc1.RecordSource = sql Adodc1.Refresh If Adodc1.Recordset.EOF Or Adodc1.Recordset.BOF Then MsgBox 无效的密码,请重试!, vbOKOnly + vbCritical, 登录 txtUserName.SetFocus Else MDIForm1.Show Unload Me End IfEnd SubPrivate Sub lblL

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922