数据库课程设计图书管理系统Word格式.docx

上传人:b****4 文档编号:17074167 上传时间:2022-11-28 格式:DOCX 页数:28 大小:2.36MB
下载 相关 举报
数据库课程设计图书管理系统Word格式.docx_第1页
第1页 / 共28页
数据库课程设计图书管理系统Word格式.docx_第2页
第2页 / 共28页
数据库课程设计图书管理系统Word格式.docx_第3页
第3页 / 共28页
数据库课程设计图书管理系统Word格式.docx_第4页
第4页 / 共28页
数据库课程设计图书管理系统Word格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

数据库课程设计图书管理系统Word格式.docx

《数据库课程设计图书管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计图书管理系统Word格式.docx(28页珍藏版)》请在冰豆网上搜索。

数据库课程设计图书管理系统Word格式.docx

借阅基本信息包括借阅者信息,借阅者已借阅书籍,借书日期,借书编号等信息。

还书基本信息包括借阅者编号,借阅者还书的编号,并且附带有查询功能,查看借阅者借阅的图书是否过期。

2.4借阅者的需求分析

借阅者基本信息包括借阅者借阅卡号,借阅者姓名,借阅者学号,所在院校,电话号码等基本信息。

其中本系统中还包含借阅者的增添与删除,可以实现新生入学借阅的增加,毕业生的借阅信息的删除功能。

2.5图书信息的需求分析

图书基本信息包括图书编号,图书姓名,图书作者,图书ISBN,图书种类,图书数量等基本信息。

本系统中增加了图书库存管理功能,可以查看图书所在库存的状态,看是否可以借阅。

并且增加了图书增加功能,图书修改功能,图书查询功能,可以查询图书在库各种信息,与借阅者的联系也一目了然。

2.6实际功能

图2-1.图书管理系统结构图

第3章概念结构设计

3.1E-R图简介

实体-联系图(Entity-RelationDiagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。

通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。

ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。

构成E-R图的基本要素是实体、属性和联系,其表示方法为:

实体型:

用矩形表示,矩形框内写明实体名;

属性:

用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;

多值属性由双线连接;

主属性名称下加下划线;

联系:

用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型

在E-R图中要明确表明1对多关系,1对1关系和多对多关系。

1对1关系在两个实体连线方向写1;

1对多关系在1的一方写1,多的一方写N;

多对多关系则是在两个实体连线方向各写N,M。

实体与属性之间并没有形式上可以截然划分的界限,但可以给出两条准则:

(1)作为“属性”不能再具有描述的性质;

(2)“属性”不能与其他实体具有联系。

3.2本系统的E-R图

管理员

ID

密码

工作时间

编号

借阅者

图书

借阅卡编号

年级

学号

姓名

电话

名称

作者

ISBSN

种类

数量

操作

管理

借阅

返还

借书日期

图书期限

mn

nm

图3-1.图书管理系统总E-R图

第4章数据库设计

4.1数据库表

图书管理数据库含7个表,它们分别为:

图书表(Book);

日期限定表(DataResrict);

年级表(Grade);

学院表(Institute);

管理员表(Lidrarian);

借阅者表(Borrower);

书种表(Title)。

我们来看一下表的结构:

4.1.1图书表

图书表包括图书编号、书名、状态、借阅卡号、被借阅时间属性,各个属性的类型、长度、约束条件如表示

表4-1.图书表

4.1.2日期限定表

日期限定表包括书种、天数属性,各个属性的类型、长度、约束条件如表示

表4-2.日期限定表

4.1.3年级表

年级表包括年级编号、名称属性,各个属性的类型、长度、约束条件如表示

表4-2.年级表

4.1.4学院表

学院表包括学院编号、名称属性,各个属性的类型、长度、约束条件如表示

表4-4.学院表

4.1.5管理员表

管理员包括编号、ID、密码、工作时间、电话属性,各个属性的类型、长度、约束条件如表示

表4-5.管理员表

4.1.6借阅者表

借阅者包括借阅卡编号、学院编号、年级编号、姓名、学号、电话、已借书数目等属性,各个属性的类型、长度、约束条件如表示

表4-6.借阅者表

4.1.7书种表

书种表包括书名、作者、ISBSN、种类、数目等属性,各个属性的类型、长度、约束条件如表示

表4-7.书种表

第5章数据库的实现与程序

5.1登陆界面设计

输入“用户名”,“密码”,点击“确认”进入主题框;

图5-1登陆

该登陆界面代码如下所示:

源代码:

PublicOKAsBoolean

PrivateSubcmdCancel_Click()

OK=False

Me.Hide

EndSub

PrivateSubcmdLogin_Click()

'

检验数据的有效性

IfTrim(txtUserName.Text="

"

)Then

MsgBox"

请输入用户名!

txtUserName.SetFocus

ExitSub

ElseIfTrim(txtPassword="

请输入密码!

txtPassword.SetFocus

Else

DimmyDbOperAsNewDbOperation

DimrstAsADODB.Recordset

DimsqlAsString

建立连接

myDbOper.DB_Connect

定义查询语句

sql="

SELECT*FROMLibrarianWHEREId='

+txtUserName+"

'

ANDPassword='

+txtPassword+"

Setrst=myDbOper.querySQL(sql)

If(Notrst.EOF)Then

OK=True

FrmMain.Show0

用户名和密码错误,请重新输入."

EndIf

rst.Close

关闭连接

myDbOper.DB_DisConnect

PrivateSubForm_Load()

PrivateSubLabel1_Click()

5.2管理员管理设计

管理员窗口的设计主要包括“修改”、“添加”、“删除”,“刷新”等功能。

添加管理员是依照窗口的信息依次填写,点击“提交”即可;

图5-2进入管理员信息栏

图5-3.添加管理者

该管理者添加的代码如下:

PrivateSubcmdExit_Click()

PrivateSubcmdSubmit_Click()

IfTrim(txtId)="

Then

请输入登录Id"

IfTrim(txtPwd)="

请输入登录密码"

SELECT*FROMLibrarianWHEREseq='

+Trim(txtSeq)+"

Ifrst.EOF=TrueThen

Withrst

.AddNew

!

seq=Me.txtSeq

id=Me.txtId

Password=Me.txtPwd

onJobTime=Me.txtTime

telephone=Me.txtPhone

.Update

EndWith

信息添加成功."

该编号已经存在,请重新输入."

PrivateSubFrame1_DragDrop(SourceAsControl,XAsSingle,YAsSingle)

PrivateSubtxtId_Change()

PrivateSubtxtPwd_Change()

删除图书管理员是在管理员列表中点击要删除的那一行,点击“删除”即可;

图5-4删除管理者

修改管理员首先在管理员列表中点击要修改的管理员信息,在编辑区填写要修改的信息,点击“修改”即可;

图5-5修改管理者

图5-6刷新管理员列表

该管理者的修改、删除代码如下所示:

PrivateSubcmdAdd_Click()

FrmAddManager.Show1

PrivateSubcmdDelete_Click()

DimtmpSeqAsString

IfAdodc1.Recordset.BOF=TrueThen

请选择记录"

p=Adodc1.Recordset.AbsolutePosition

tmpSeq=Trim(Adodc1.Recordset.Fields(0))

确认删除

IfMsgBox("

是否删除当前行?

vbYesNo,"

确认"

)=vbYesThen

.DeleteadAffectCurrent

发生错误,请重新操作."

Refresh_DataList

Ifp-1>

0Then

Adodc1.Recordset.Move0

Adodc1.Recordset.Movep-1

PrivateSubcmdEdit_Click()

rst!

rst.Update

信息修改成功."

发生错误,请重新输入."

PrivateSubcmdRefresh_Click()

PrivateSubDataGrid1_Click()

保存光标位置

读取当前记录的各列数据

Me.txtSeq=Trim(Adodc1.Recordset.Fields(0))

Me.txtId=Trim(Adodc1.Recordset.Fields

(1))

Me.txtPwd=Trim(Adodc1.Recordset.Fields

(2))

Me.txtTime=Trim(Adodc1.Recordset.Fields(3))

Me.txtPhone=Trim(Adodc1.Recordset.Fields(4))

恢复光标位置

PrivateSubRefresh_DataList()

刷新管理员列表

Adodc1.RecordSource="

SELECT*FROMLibrarianORDERBYseq"

Adodc1.Refresh

PrivateSubLabel4_Click()

5.3借阅/还书管理设计

借阅图书时首先要输入“借书卡号”,点击“确定”,就会出来借阅者的一些的基本信息,再在“借书登记栏”中输入书刊编号查询,如果在库是,点击“提交”即可;

图5-7借阅

借阅其代码如下;

PrivateSubcmdEnter_Click()

IfTrim(txtBorrId)="

请输入借书卡号"

SELECTb.StudentNum,b.name,i.Institute,g.Grade,b.teleNumber,b.borrowBookNum"

_

+"

FROMBorrowerb,Institutei,Gradeg"

WHEREb.InstituteID=i.InstituteIDANDb.GradeID=g.GradeID"

ANDBorrowerId='

+txtBorrId+"

lblStuNum.Caption=.Fields(0)

lblName.Caption=.Fields

(1)

lblInstitute.Caption=.Fields

(2)

lblGrade.Caption=.Fields(3)

lblPhone.Caption=.Fields(4)

Refresh_DataList1

用户不存在,请重新操作."

PrivateSubcmdQuery_Click()

IfTrim(txtBookId)="

请输入书刊编号"

SELECTb.BookIDas书刊编号,b.nameas名称,b.loanas状态,"

t.authoras作者,t.isbsnasisbsn,t.typeas类型,b.BorrowDateas借书日期"

FROMBookb,TitletWHEREb.name=t.nameANDb.BookID='

+Trim(txtBookId)+"

Refresh_DataList2(sql)

该书刊不存在,请重新操作."

PrivateSubRefresh_DataList1()

SELECTbo.BookIDas书刊编号,bo.nameas名称,bo.BorrowDateas借书日期"

FromBorrowerb,Bookbo"

WHEREb.BorrowerID=bo.borrowerIDandb.BorrowerID='

+Trim(txtBorrId)+"

Adodc1.RecordSource=sql

SetDataGrid1.DataSource=Adodc1

DataGrid1.ReBind

PrivateSubRefresh_DataList2(sqlAsString)

Adodc2.RecordSource=sql

Adodc2.Refresh

SetDataGrid2.DataSource=Adodc2

DataGrid2.ReBind

DimnowDateAsNewBookDate

Dimupdate1_sqlAsString

Dimupdate2_sqlAsString

SELECTloanFROMBookWHEREBookId='

IfTrim(rst.Fields(0))="

在库"

更新数据库表

update1_sql="

UPDATEBookSETloan='

借出'

borrowerID='

BorrowDate='

+nowDate.getDate+"

WHEREBookID='

myDbOper.executeSQL(update1_sql)

update2_sql

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

当前位置:首页 > 医药卫生 > 临床医学

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

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