图书管理系统实验报告.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理及应用》
课程设计报告
——图书管理系统
班级:
学号:
姓名:XXXX
指导老师:
课程设计时间:2014年1月6日至 1月10日
目录
一、需求分析
1、数据库需求分析 (3)
2、数据流图 (4)
3、数据字典 (4)
二、概念结构设计
1.实体、联系 (7)
2. 图书管理系统E-R图型 (7)
三、逻辑结构设计 (8)
四、建库、建表及输入数据
1、建表的代码及截图 (8)
2、实验数据截图 (10)
五、课程设计总结 (12)
应用程序名称:图书管理系统
一、需求分析
1、数据库需求分析
系统功能描述:随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
需求分析:图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。
本系统主要任务就是对图书、读者、员工、借阅信息、查询进行统一管理,满足各类用户的需求。
本系统在功能上要实现借阅图书、续借图书、归还图书、催还图书、信息查询等功能。
图书管理系统就是要求图书管理人员通过该系统对图书、读者、员工、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借图书、归还图书、催还图书以及信息查询。
这就要求管理人员能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法都能对图书馆里系统的管理起到事半功倍的效果。
2、数据流图
3、数据字典
数据项名:读者ID
数据项含义说明:读者编号别名:无
数据类型:字符型
长度:10个字符
取值范围:数字或字符
取值含义:读者编号
数据项名:姓名
数据项含义说明:读者姓名别名:无
数据类型:字符型
长度:10个字符
取值范围:字符取值含义:读者姓名
数据项名:电话
数据项含义说明:读者电话别名:无
数据类型:字符型
长度:20个字符
取值范围:数字
取值含义:读者电话
数据项名:ISBN号
数据项含义说明:图书编号别名:无
数据类型:字符型
长度:任意长度
取值范围:字符
取值含义:图书编号
数据项名:书名
数据项含义说明:书名
别名:无
数据类型:字符型
长度:任意长度
取值范围:字符
取值含义:书名
数据项名:作者
数据项含义说明:作者
别名:无
数据类型:字符型
长度:任意长度
取值范围:字符
数据项名: Email
数据项含义说明:电子邮箱别名:无
数据类型:字符型
长度:任意长度
取值范围:字符
取值含义:读者邮箱
数据项名:出版社
数据项含义说明:出版社别名:无
数据类型:字符型
长度:任意长度
取值范围:字符
取值含义:出版社
数据项名:出版年月
数据项含义说明:出版年月别名:无
数据类型:日期型
长度:任意长度
取值范围:日期
取值含义:出版年月数据项名:借书数量
数据项含义说明:图书数量别名:无
数据类型:数值型
长度:0-100
取值范围:数字
取值含义:数量
数据项名:图书ID
数据项含义说明:书本编号别名:BID
数据类型:字符型
长度:8个字符
取值范围:字符
取值含义:图书编号
数据项名:存放位臵
数据项含义说明:存放位臵别名:无
数据类型:字符型
长度:任意长度
取值范围:字符
取值含义:存放位臵
数据项名:ZT
数据项含义说明:图书状态别名:无
数据类型:字符型
长度:三个中文
取值范围:字符
取值含义:图书状态
数据项名:借书日期
数据项含义说明:借出时间别名:无
数据类型:日期型
长度:无要求
取值范围:任意日期
取值含义:借出日期
数据项名:还书日期
数据项含义说明:归还时间
别名:无
数据类型:日期型
长度:无要求
取值范围:任意日期
取值含义:归还日期
数据项名:预约时间
数据项含义说明:预约时间别名:无
数据类型:日期型
长度:无要求
取值范围:任意日期
取值含义:预约日期
数据项名:预约期限
数据项含义说明:预约期限别名:无
数据类型:日期型
长度:无要求
取值范围:任意日期
取值含义:预约期限
二、概念结构设计
1、实体、联系
根据数据库分析,确定实体及实体间联系,及各个实体和联系的属性并设计出E-R图。
实体:资料室,书目,图书,读者
联系:预约,借出
2、图书管理系统E-R图模型
三、逻辑结构设计
(注:主码用标出,外码用~~标出)
书目信息(ISBN号,书名,作者,出版商,出版年月,册数,经办人,资料室名称)
图书信息(图书ID,ISBN号,存放位置,状态,经办人,资料室名称)
读者(读者ID,姓名,电话,E-Mail)
借还(读书ID,图书ID,借阅日期,应还日期,归还日期)
预约(读者ID,图书ID,预约时间,预约期限)
资料室(资料室名称)
四、建库、建表及输入实验数据
1、建表的代码及截图
create table书目信息(
ISBN号char(20)primary key,
书名char(20),
作者char(10),
出版商char(20),
出版年月char(10),
册数int,
经办人char(10),
资料室名称char(10),
foreign key(资料室名称)references资料室(资料室名称))
create table图书信息(
图书ID char(10)primary key,
ISBN号char(20),
存放位置char(10),
状态char(10),
经办人char(10),
foreign key(存放位置)references资料室(资料室名称), foreign key(ISBN号)references书目信息(ISBN号)
)
create table读者(
读者ID char(10)primary key,
姓名char(10),
电话char(20),
EMail char(20)
)
create table借还信息(
读者ID char(10),
图书ID char(10),
借阅日期char(10),
应还日期char(10), 归还日期char(10),
primary key(借阅日期,读者ID,图书ID),
foreign key(读者ID)references读者(读者ID),
foreign key(图书ID)references图书信息(图书ID)
)
create table预约信息(
读者ID char(10),
图书ID char(10),
预约时间char(10),
预约期限char(10)check(预约期限<=10),
primary key(预约时间,读者ID,图书ID),
foreign key(读者ID)references读者(读者ID), foreign key(图书ID)references图书信息(图书ID) )
create table资料室(
资料室名称char(10)primary key)
2、实验数据截图
书目信息:
图书信息:
读者:
借还信息:
预约信息:
资料室:
五、课程设计总结:
这次课程设计总体来说比上次的要简单,可是还是遇到了许多挫折,大多是代码问题的错误。
这一次课程设计与以往最大的不同便是有了界面,有了数据库。
通过近一个学期对数据库的学习,在一些方面有了提高。
以前遥不可及的界面操作变成了现实。
这一学期所学到的很多东西都通过这次课程设计显示了出来,派上了用场。
通过此次课程设计对数据库在应用程序中起得作用有了深刻的了解,这些东西都是课本上学不来的。
将课本上学的东西运用到实际当中去收获的不仅仅是一份课程设计,更是对自己将来所要从事的事业的了解以及自信心。
由于这个学期才开始学习数据库,在编写代码的过程中遇到了很多很多的难题。
有的时候甚至想要放弃,但最终还是坚持了下来,并将困难解决掉。
而且积累了一点经验,做之前先想好要做什么,把大体的各个功能界面画出来,做得过程中照着先前设计的界面去做,这样思维不会短路,不会有的时候感觉做不下去了。
遇到问题的时候要多想想为什么,先想想自己该怎样去解决,如果实在想不出来可以到网上去搜搜看,因为网络资源很丰富,十之八九可以帮你解决掉。
刚开始接到要做图书管理系统时觉得自己相对来说较熟悉,还挺高兴。
可后来通过Microsoft Visual Studio 2010做完每个表的增删查改后,看到要求还需要借书,还书,预约图书信息的自动更新,这方面可难倒我们了,通过问其他同学和看书上的资料,终于做出雏形了,很是开心啊!
总体来说,感觉这次课程设计在几个方面还是做得不错的。
通过此次的课程设计,真正达到了学与用的结合,增强了对数据库和WEB方面应用的理解,对自己今后参与开发数据库系统等积累了不少经验,在实验过程中,从建立数据库开始,对数据库设计理念和思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据库的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL 语的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设臵,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中再学到用,从用又到学,不断修改,系统更新。
虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。