数据库课程设计报告
课题名称:图书管理 统
专 业:信息与计算科学
班 级:信计071班
小组人员:***
一. 背景资料
在高校中,学生的数量较多,图书的数量也比较多,每天图书的借阅量比较大,采用手工的处理方式已经不能满足这种需要了,因此需要开发一个能够处理平时借阅处理的信息系统,这个信息系统负责主要处理图书馆日常的借书、还书和查询业务。
二.摘 要
图书馆作为一个信息资源的集散地,包含很多信息数据的管理。若图书馆采取手工的方式对图书资料和图书借阅情况进行人工管理的话,由于信息数据的繁多,会使手工处理的工作量非常大,同时也就影响了图书馆整体的管理效率。因此,人们希望使用一个有效的图书管理系统,用以提高图书馆的日常工作效率。本设计是建立在vb6.0及SQL Server 2000数据库平台开发基础上的。在本文中,给出了该系统的整个系统分析、设计以及实现的过程,包括需求分析、功能模块的分析与设计、数据模式的分析与设计,最后是系统在vb6.0中实现。
三. 需求分析
图书管理系统流程图
图书借阅处理过程及功能分析简述
1. 图书管理员的处理过程主要包含:查询管理。
2.读者管理实现读者信息的录入和查询,需要登记读者(学生)的学号、姓名、班级、专业、借阅量。
读者的处理过程主要包含:读者信息、查询信息
(1) 读者信息
登记读者借阅信息。
(2) 查询信息
书籍信息查询是按照书号、书名、作者等查询图书基本信息,并可以查询借阅情况。
3. 数据分析
数据处理过程中涉及到两个实体:图书和读者;各实体应具有的属性如下:
图书(书号、书名、作者、出版社)
管理员(ID、密码)
读者(学号、密码、姓名、班级、专业)
由于同一种图书可以有多册上架,每个读者可以借阅多本书,所以图书和读者之间是多对多的关系;为了表示多对多关系,应将图书借阅定为实体,构造两个一对多关系。图书借阅的属性如下:
借阅(学号、姓名、书号、书名、借书日期、还书日期)
PASSWord 管理员信息表:
读者信息表:
图书基本信息表:
借还基本情况表(STUDBR):
四.物理结构设计
根据数据表设计应用程序:
登 录 界 面(Login):
代码:
Private Sub cmdCancel_Click()
End
End Sub
Private Sub cmdOK_Click() '登录
Dim i As Integer
Dim mark As Boolean
mark = False
'检查正确的密码
Data1.Recordset.MoveLast
Data1.Recordset.MoveFirst
For i = 1 To Data1.Recordset.RecordCount
If txtUserName.text = Data1.Recordset.Fields("UserName") Then
mark = True
If txtPassword.text = Data1.Recordset.Fields("PW") Then
txtPassword.text = ""
Form1.Show (1)
Exit Sub
Else
MsgBox "无效的密码,请重试!", 48, "登录"
txtPassword.SetFocus
Exit Sub
End If
End If
Data1.Recordset.MoveNext
Next i
If mark = False Then
MsgBox "该用户不存在,请重新输入用户名!", 48, "登录"
txtUserName.SetFocus
Exit Sub
End If
End Sub
Private Sub Form_Load()
txtUserName.Clear
Dim i As Integer
txtUserName.text = "Administrator"
Data1.DatabaseName = App.Path + "\mis.mdb"
Data1.RecordSource = "PASSWORD"
Data1.Refresh
'初始化用户名列表框
Data1.Recordset.MoveLast
Data1.Recordset.MoveFirst
For i = 1 To Data1.Recordset.RecordCount
txtUserName.AddItem Data1.Recordset.Fields("UserName")
Data1.Recordset.MoveNext
Next i
txtUserName.text = "Administrator"
End Sub
Private Sub Label1_Click()
End Sub
Private Sub txtUserName_Change()
End Sub
SQL语句表的建立:
create table book
(书号 char(10) primary key,
书名 varchar(50),
著者 varchar(50),
出版社 varchar(100),
标志 char(10) check(标志 in('可借','不可借'))
)
create table password
(UserName varchar(30),
PW numeric(4,0)
)
create table studbr
(书号 char(10) foreign key references book(书号),
学号 char(10) foreign key references student(学号),
书名 varchar(50),
借阅日期 datetime,
应还日期 datetime,
primary key(书号,学号)
)
create table student
(学号 char(10) primary key,
姓名 varchar(10),
班级 varchar(50),
专业 varchar(10),
借阅量 numeric(2,0)
)
其他代码在此不一一列出。
五.课程设计总结
在期末课程设计中,我们所选择的是设计一个图书管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程,毕竟以前没有作过,缺少经验。现在利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,不同程度的投入了很高的热情与努力。虽然有的同学没能帮上忙,但也在默默的给我们加油。在
具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。
在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,我们由于对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次我们都要加强了解。
在这次课程设计中,我们被分配以小组为单位去完成图书管理系统的设计与制作,所以小组内的分工和相互协调很重要,大家可以在分工中扬长避短,个及所长,这样可以很好的提高大家的积极性,和合作意识,并有效的缩短开发时间,但我们在这方面做的还不够,缺乏人员管理与沟通,导致人力资源浪费,可以说是不足之处,且迫切的需要思考和改进,这一点必须指明。这在以后的工作与学习中将会非常重要。
因vb以前没有学过,所以借用了一些网上的源代码进行修改与扩充,以达到我们的需要。