当前位置:文档之家› 图书馆管理系统设计

图书馆管理系统设计

数据库设计与管理课程设计报告题目:图书借阅管理系统专业:班级:姓名:学号:指导教师:学期:目录一、概述1、本课程设计的题目 (2)2、小组成员 (2)3、个人分工 (2)4、本人贡献 (2)(1)建表 (2)(2)表的数据维护 (2)(3)数据完整性 (3)(4)数据查询 (3)二、需求分析1、数据需求 (3)2、事物需求 (4)3、系统需求分析结果 (4)三、数据库概念结构设计(图书借阅管理系统E-R图) (5)四、数据库逻辑结构设计学生借阅图书表bookborrow (6)学生归还图书表bookreturn (6)五、数据库物理实现1、学生借阅图书时各种异常情况下操作的结果 (7)2、学生正常借阅图书时操作 (7)3、学生续借图书 (9)4、学生还书 (10)5、查询一段时间之内各类未归还图书的在借次数 (12)六、心得体会一、概述1、本课程设计的题目是:《图书借阅管理系统》。

2、小组成员有:于菲菲、吴维、王菲菲。

3、个人分工:于菲菲负责student表,吴维负责bookborrow和bookreturn表,王菲菲负责bookinfo表和bookclass表。

4、本人贡献:(1)建立学生借阅图书信息表(bookborrow)和学生归还图书信息表(bookreturn):根据图书借阅管理信息的需要,除了需要保存学生信息的学生信息表,保存图书信息的图书信息表、类别表之外,在学生借阅图书时,为了准确记录借阅、归还的学生号、图书编号、时间,还必须创建一个借阅表,为了简化借阅信息的查询,直接显示未归还和已归还的图书借阅,我分别创建了学生借阅图书信息表(bookborrow)和学生归还图书信息表(bookreturn), 学生借阅图书信息表用来存储借书学生的学号、所借图书的图书编号、借书时间、应归还日期、续借次数,学生归还图书信息表用来存储还书学生的学号、所还图书的图书编号、还书时间、超期罚款金额。

(2)表的数据维护:a. bookborrow表数据插入:bookborrow表中借书学生的学号、所借图书的图书编号、借书时间、应归还日期都是由借书存储过程insert_bookborrow_1来插入的,借书学生的学号、所借图书的图书编号由存储过程的参数设定,借书时间则是利用系统函数getdate()获取当天时间来赋值,规定学生一次性借书时间不能超过一个月,所以应归还日期在借书日期的基础上加一个月。

b. bookborrow表数据更新:续借次数则涉及到续借存储过程,续借时首先根据续借当天日期和bookborrow表中的应归还日期判断是否超过一次性借书时间限制,超过应归还日期则不能续借,在没有超过续借日期的前提下,还对学生可续借次数进行了限制,超过次数限制的话,仍然无法续借,若满足以上两个续借条件,此次续借可正常进行,并且更新bookborrow表中的结束日期为此次续借日期,续借次数自加1。

c. bookreturn表数据插入、bookborrow表数据删除:在学生归还图书时,先根据bookborrow表的记录判断还书输入参数信息是否存在,若不存在则表明没有对应的借书行为,不能进行还书的操作。

bookreturn表中还书学生的学号、所还图书的图书编号、还书时间、超期罚款金额都是由还书存储过程returnbook 来插入的,还书书学生的学号、所借图书的图书编号由存储过程的参数设定,还书时间利用系统函数getdate()获取当天时间来赋值。

根据bookborrow中的应归还日期来判断归还图书时是否超过还书期限,若超期,则按超期天数内每天0.1元来计算超期罚款金额,并将其插入bookreturn表中对应的超期罚款金额列。

还书成功的同时删除bookborrow表中对应的借书记录。

(3)数据完整性:a.使用默认约束实施数据完整性,为了实现续借次数的自加,为bookborrow表的续借次数列定义了一个默认约束,在学生借书时,没有指定该列的值,使用默认值“0”。

b.使用外键约束实施数据完整性:因为bookborrow表中的学生学号必须是学生信息表中已经注册过的学生号,图书编号也必须是图书信息表中存在的图书号。

所以为bookborrow表的学生学号和图书编号两列分别定义外键约束来实施数据完整性。

从而限定了bookborrow表中这两列的取值范围,并设置打开级联更新,关闭级联删除。

设置级联更新的作用是,在图书信息表和学生信息表相应的信息改变,不需要再对bookborrow表的对应列一一修改,学生学号和图书编号自动修改为新值。

关闭级联删除的作用是,若某学生成功借出了某本书后,要想删除这个学生或者本书的信息,在bookborrow表中还存在相应记录的情况下(即学生还未还书,还没有删除bookborrow中的借书记录),则无法操作成功,SQL Server将报错,并回滚该删除操作。

(4)数据查询:将学生借阅图书信息和学生归还图书信息分开存储,这样的设计思想可以简化很多查询操作。

对图书管理最重要的部分莫过于管理未归还图书,还书同学的相应借书记录都直接从bookborrow表中删除,这样的话,bookborrow表就能直接显示为归还的学生、图书信息。

查询一段时间之内各类未归还图书的在借次数时,输入两个时间点,对图书类别表、图书信息表、bookborrow表进行内连接查询,统计借书时间在两个时间点之内的查询结果行数,即可轻松查阅一段时间之内各类未归还图书的在借次数。

通过以上表和功能的各种设计,最终形成的学生借阅图书信息表(bookborrow)和学生归还图书信息表(bookreturn)不仅能系统的记录记录每次发生的借阅事件,还书事件,轻松实现借书、续借、还书的操作,而且对于各种限制约束也全面考虑,维护数据完整性,并给出各种提示信息,从而实现人性化的操作界面。

二、需求分析1、数据需求图书馆图书管理系统需要完成功能主要有:(1)学生基本信息的输入,包括学生学号、学生姓名、学生性别等。

(2)学生基本信息的查询、修改,包括学生学号、学生姓名、学生性别等。

(3)图书类别标准的制定、类别信息的输入,包括图书分类号、类别名称。

(4)图书类别信息的查询、修改,包括图书分类号、类别名称。

(5)图书信息的输入,包括图书编号、图书名称、作者姓名、出版社名称、出版日期、定价、图书总量、图书余量。

(6)图书信息的查询、修改,包括图书编号、图书名称、作者姓名、出版社名称、出版日期、定价、图书总量、图书余量。

(7)学生借书信息的输入,包括学生学号、学生姓名、图书名称、借书日期。

(8)学生借书信息的查询、修改,包括学生学号、学生姓名、图书编号、图书名称、借书日期、应归还日期等。

(9)学生续借信息的输入,包括学生学号、图书编号、借书日期。

(10)学生续借信息的查询、修改,包括学生学号、图书编号、借书日期。

(11)学生还书信息的输入,包括学生学号、图书编号、还书日期。

(12)学生还书信息的查询、修改,包括还书学生学号、学生姓名、图书编号、图书名称、借书日期、还书日期等。

(13)超期还书罚款输入,还书超出期限包括超出期限还书的学生学号、图书编号、罚款金额、还书日期。

(14)超期还书罚款查询、修改、删除,包括学生学号、学生姓名、图书编号、图书名称、罚款金额等。

2、事物需求(1)在学生信息管理部分,要求:a.可以查询学生信息。

b.可以对学生信息进行添加及删除的操作。

(2)在图书信息管理部分,要求:a.可以浏览图书信息。

b.可以对图书信息进行维护,包括添加及删除的操作。

(3)在借阅信息管理部分,要求:a.可以浏览借阅信息。

b.可以对借阅信息进行维护操作。

(4)在续借信息管理部分,要求:a.可以记录续借信息。

b.可以对借阅信息进行维护操作。

(5)在归还信息管理部分,要求:a.可以浏览归还信息。

b.对归还信息可修改维护操作。

(6)在罚款信息管理部分,要求:a.可以浏览罚款信息。

b.对罚款信息可以更新。

3、系统需求分析结果学生从图书馆频繁借书、还书是一种经常性的行为,基于以上对问题的分析,利用计算机代替传统人工给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。

学校图书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。

因此对用户的需求可分为四个方面:一方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求;二方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;三方面是工作人员对学生们的借书证发放;四方面也是图书馆的核心工作,对图书的借阅管理。

这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。

本图书馆管理系统根据实际需求创建如下五个数据表:bookinf(图书信息表),bookclass(图书类别表),student(学生信息表),bookborrow(学生借阅图书信息表),bookreturn(学生还书信息表)。

这些数据表可以单独存储学生、图书的信息,再结合它们之间的相互关系,相互操作即实现了普通图书馆的三大基本功能:即学生借阅图书、学生续借图书、学生归还图书。

图书借阅管理系统E-R图:由于概念设计的结果是E-R图,DBMS一般采用关系模型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。

由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。

设计结果是一组关系模式的定义。

将E-R图转化成关系模型,转化的关系模式进行优化,最终达到第三范式。

将E-R图转化为关系模式:(1)bookinfo(book_id,book_name,book_author,book_press,pressdate,price,book total,bookremain)(2)student(student_id,name,sex,age,department,major,class,birth_date,telephone,E-mail)(3)bookclass(book_id,bookclass_id,bookcategory)(4)bookborrow(book_id,student_id,borrownum,borrowdate,rreturndate,newdate ,reborrowdate)(5)bookreturn(book_id,student_id,returndate,fine)学生借阅图书表bookborrow字段名称数据类型长度约束属性book_id char 10 外键student_id char 10 外键borrowdate datetime 8 非主属性rreturndate datetime 8 非主属性reborrowtimes int 4 非主属性字段名称数据类型长度约束属性book_id char 10 外键student_id char 10 外键returndate datetime 8 非主属性fine money 8 非主属性五、数据库物理实现1、学生借阅图书时各种异常情况下操作的结果(1)创建插入学生借阅图书信息触发器,可以实现对学生信息和图书信息的限制,借书时输入的学生学号和图书编号必须是学生信息表、图书信息表中已经存在的,否则给出相应提示'该图书号不存在'或'该学生号不存在'。

相关主题