1说明书指导老师:学生姓名:班级:学号:完成日期:2010年6月23日2数据库技术原理课程设计报告一、设计内容课题名称:图书馆管理系统(1)课程设计目的使学生在学完《数据库技术原理》这门课程后,能够充分理解和掌握这门技术,所以进行这样一个课程设计。(2)功能要求本系统至少应该包含图书的基本信息、读者的基本信息、读者借阅图书的信息,用户信息等。要求能够实现图书信息的维护、读者信息的维护、图书的借阅登记处理、各类信息的查询、用户的管理等功能。图书馆管理人员实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、对工作人员和管理人员的信息进行查看及维护;图书借阅者可直接查看图书馆图书情况。二、系统设计1、需求分析(1)信息需求书籍信息:图书ID,书名,分类号,作者,出版单位,单价,册数,页数,出版日期,登记日期,备注。职员信息:职员ID,姓名,性别,电话,家庭住址。学生信息:姓名,性别,系部,电话,借阅证类型编号,办证日期。图书类型信息:图书类别编号,图书类别名称,上级图书编号。借阅证类型信息:借阅证类型编号,借阅证类型名称,借阅证有效期限,3最大借阅量,最大借阅时间。图书借阅信息:图书ID,学生ID,职员ID,借阅日期,归还日期,备注。(2)功能模块划分图书信息查询提供按图书名称进行查询,查询结果应以主表明细格式显示,即查询结果记录显示在一个表格中,在明细部分显示当前记录的所有信息。图书入库由管理员凭借密码进入图书入库界面进行操作,能够对图书进行入库、过时无用图书清除出库的操作,同时要能够查看书库中所有图书信息。系统设置模块下面应设置图书类别设置和借阅证类型设置两个子模块,分别实现对图书类别和借阅证类型的增加、删除操作。借阅登记模块由人员信息设置、图书借阅登记两部分组成。而在人员设置下面可在同一个窗口口中是实现对图书馆职员和读者信息的登记、修改和删除等功能;图书借阅有管理员对读者借阅图书进行信息登记。退出系统模块主要是退出图书管理系统,关闭与数据库连接。(3)系统总体结构系统总体结构见(图A)2、概念设计(1)设计局部ER模式实体和属性的定义:书籍(图书ID,书名,分类号,作者,出版单位,单价,册数,页数,出版日期,4(图A)登记日期,备注);职员(职员ID,姓名,性别,电话,家庭住址);student(姓名,性别,系部,电话,借阅证类型编号,办证日期);booktype(图书类别编号,图书类别名称,上级图书编号);cardtype(借阅证类型编号,借阅证类型名称,借阅证有效期限,最大借阅量,最大借阅时间);borrowinfo(图书ID,学生ID,职员ID,借阅日期,归还日期,备注)。图书查询系统设置图书入库借阅登记退出系统图书类别设置借阅证类型设置添加入库新书图书借阅登记人员信息设置删除出库图书图书馆管理系统添加图书类别删除图书类别添加借阅证类型删除借阅证类型添加读者信息删除读者信息添加管理员信息删除管理员信息5(图B)(2)设计全局ER模式根据上面局部ER模式中实体和属性的定义,将所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构,其书籍读者管理员借阅信息管理借阅生成借阅证书籍类别信息分类姓名性别电话职员ID家庭住址借阅证类型编号性别姓名系部电话有效期限办证日期借阅时间类型名称类型编号借间量类别编号类别名称上级编号备注归还日期借阅日期出版日期作者学生ID职员ID图书ID分类号单价出版单位册数备注书名图书ID登记日期页数6全局ER图见(图B)。3、关系数据库的逻辑设计概念设计的结果是ER图,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义:书籍(图书ID,书名,分类号,作者,出版单位,单价,册数,页数,出版日期,登记日期,备注);职员(职员ID,姓名,性别,电话,家庭住址);student(姓名,性别,系部,电话,借阅证类型编号,办证日期);booktype(图书类别编号,图书类别名称,上级图书编号);cardtype(借阅证类型编号,借阅证类型名称,借阅证有效期限,最大借阅量,最大借阅时间);borrowinfo(图书ID,学生ID,职员ID,借阅日期,归还日期,备注)。三、数据库实现1、创建数据库打开查询分析器,输入创建数据库的语句并运行,程序代码如下:usemastergocreatedatabase图书管理数据库onprimary(name=bm1,filename='D:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\图书管理数据库_Data.MDF',size=10mb,maxsize=200,filegrowth=2)7logon(name=bmlog1,filename='D:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\图书管理数据库_Log.LDF',size=1mb,maxsize=20,filegrowth=1)go2、创建数据库中的表打开查询分析器,输入创建表的语句并运行,程序代码如下:createtable书籍(图书IDintprimarykey,书名nvarchar(100),分类号int,作者nvarchar(20),出版单位nvarchar(50),单价int,册数int,页数int,出版日期nvarchar(10),登记日期nvarchar(10),备注nvarchar(50));createtable职员(职员IDintprimarykey,姓名nvarchar(20),性别nvarchar(10),电话nvarchar(20),家庭住址nvarchar(100));createtablestudent(学生IDintprimarykey,姓名nvarchar(20),性别nvarchar(10),系部nvarchar(10),电话nvarchar(20),借阅证类型编号nvarchar(100),办证日期nvarchar(20));createtablebooktype(图书类别编号intprimarykey,图书类别名称varchar(20)notnull,上级图书编号int);createtablecardtype(借阅证类型编号varchar(10)primarykey,借阅证类型名称varchar(20),借阅证有效期限smallint,最大借阅量smallint,最大借阅时间smallint);createtableborrowinfo(图书IDintprimarykey,学生IDintnotnull,职员IDint,借阅日期nvarchar(20),归还日期nvarchar(20),备注varchar(16));亦可以在创建表的同时为数据库赋部分初值,程序代码如下:insertinto[书籍]values('3','西游记','1','余秋雨','作家出版社','25','1','167','2008.11','2009.3','')insertinto[书籍]values('4','三国','2','沈从文','华文出版社','30','1','236','2008.10','2009.3','')8insertinto[书籍]values('5','葫芦娃','2','王晓方','作家出版社','120','4','1600','2007.12','2009.3','')select*from[书籍]insertinto[职员]values('1','张东荪','男','61983','红卫')insertinto[职员]values('2','里斯','男','63963','六堰')insertinto[职员]values('5','陈琳','女','63563','汽车学院')select*from[职员]nsertinto[student]values('1','赵浩','男','电信','64643','1','2009.6')insertinto[student]values('2','钱可','女','管理','64326','1','2009.6')insertinto[student]values('5','周天','女','外语','68375','1','2009.6')select*from[student]insertintobooktypevalues('1','英语','4');insertintobooktypevalues('2','计算机','5');insertintobooktypevalues('6','文学','');select*frombooktypeinsertintocardtypevalues('1','教师','6','10','60');insertintocardtypevalues('2','学生','4','6','30');select*fromcardtypeinsertintoborrowinfovalues('2','4','4','2009.5','2009.6','')insertintoborrowinfovalues('3','2','2','2009.4','2009.5','')insertintoborrowinfovalues('6','1','3','2009.7','2009.8','')select*fromborrowinfo3、创建ODBC数据源打开控制面板,在管理工具/数据源/系统DSN目录下为图书管理数据库创建一个名为PIN的ODBC数据源,后面的的VB窗体中的ADO控件的数据源全部与PIN数据源连接,通过这样,就可以将数据库中的信息与VB工程连接起来。四、系统可视化界面实现(系统调试)按照系统设计阶段的系统总体结构,确定系统各个功能模块分布,利用VB中相关控件的可视化界面,创建出友好的的可视化操作界面。9在控件中加入相关实现该功能的VB程序语言,调试这些语句,使其代码无误,并能够实现相应的功能,1、图书馆管理系统主页主要程序代码为窗口转换用到show,退出用到end。2、借阅登记及图书入库登陆界面10在登陆界面涉及用户名及密码验证,其程序如下:IfText1.Text=ABCAndText2.Text=123ThenMsgBox欢迎你,ABC用户!ElseMsgBox你输入的密码错误!Text1.Text=Text2.Text=Text1.SetFocusEndIf图书入库.Show登录窗口1.Hide3、图书入库窗口及显示全部图书窗口窗口中相关按钮程序如下:添加按钮:Adodc1.Recordset.AddNew保存按钮:Adodc1.Recordset.UpdateAdodc1.RefreshMsgBox已成功添加新记录,vbQestion+vbOKOnly第一条按钮:Adodc1.Recordset.MoveFirst下一条按钮:11Adodc1.Recordset.MoveNextIfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveFirstEndIf删除按钮:DimiAsIntegeri=MsgBox(真的要删除该记录吗?,vbYesNo+vbExclamation,提示)Ifi=vbYesThenAdodc1.Recordset.DeleteAdodc1.RefreshMsgBox删除图书信息成功!,vbOKOnly,提示EndIf查看全部按钮:图书信息.Show删除首条记录按钮:DimiAsIntegeri=MsgBox(真的要删除该记录吗?,vbYesNo+vbExclamation,提示)Ifi=vbYesThenAdodc1.Recordset.DeleteAdodc1.RefreshMsgBox删除图书信息成功!,vbOKOnly,提示EndIf124、图书查