学校代码:_11059_Hefei University《数据库管理与应用开发》课程设计系别:专业:姓名:学号:指导老师:完成时间: 2011-06-01成绩:目录1 引言 (1)1.1 本课题(项目)的研究意义 (1)1.2 本论文的目标与任务 (1)1.2.1图书管理和维护 (1)1.2.2 图书信息服务 (1)2 数据库设计 (1)2.1 需求设计 (1)2.1.1目标与任务 (2)2.1.2 业务流程 (2)2.1.3 数据流程 (2)2.1.4 数据字典 (2)2.2 概念设计 (4)2.2.1概念设计任务 (4)2.2.2 E—R图设计 (4)2.3 逻辑设计 (5)2.3.1 逻辑设计任务 (5)2.3.2关系模式的设计 (5)2.3.3视图的设计 (6)2.3.4 功能模块设计 (9)2.4 物理设计 (9)2.4.1物理设计任务与目标 (9)2.4.2索引存取方法 (9)2.4.3功能模块分析 (10)2.5 数据库实施 (10)3 数据库调试与试运行 (11)4 收获与体会 (11)5 存在问题与建议 (11)附录 (12)附录1 (12)附录2 (15)附录3 (17)附录4 (17)附录5 (31)1 引言目前图书馆进行信息管理的主要方式是基于手工处理,最多是用计算机的文本系统打印一些清单,信息处理工作量大,容易出错,缺乏系统、规范的信息管理手段。
在电脑技术高速发展的今天,迫切需要充分利用计算机实现自动化管理。
1.1 本课题(项目)的研究意义现在准备建立的图书管理系统,要把图书馆的图书管理、读者管理、图书借阅管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。
1.2 本论文的目标与任务1.2.1图书管理和维护(1)图书信息入库(建立信息库,以便查询和借阅)。
(2)管理图书库(包括删除图书信息和统计图书信息)。
(3)查看图书信息。
(4)查询图书的借阅情况(包括借出情况查询、未借出情况查询和超时情况查询,同时还要知道:如果某本图书被借出,那么可直接查询到借阅者的信息,以便催还等)。
(5)图书馆的规则管理和维护(包括每人可借阅图书数目、每人每本书可持有天数以及每超时一天的罚金数目等)。
(6) 用户信息的管理和维护(例如删除已毕业学生信息、增加新生信息等)。
1.2.2 图书信息服务(1)图书信息的查询(例如在借书前可先查询某本图书是否被借出)。
(2)图书的借阅(按图书馆的规则进行借阅,例如不超过4本,如果已有超时借阅的图书,则在归还前不允许再借阅等等)。
(3)图书的归还。
2 数据库设计2.1 需求设计需求分析阶段是图书管理系统开发的第一个阶段,也是非常重要的一个阶段。
这是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响后面各个阶段的设计,并影响到设计结果是否合理和实用。
它也是我们系统开发过程当中最困难、最耗费时间的一步,作为地基的需求分析做的是否充分和准确,决定了在其上构建数据库大厦的速度和质量。
2.1.1目标与任务主要任务是通过详细调查图书馆的详细业务情况,了解原系统的工作情况,明确用户的各项需求,在此基础上确定新系统的功能,完成数据字典的建立。
正是上述所说的重要性,我耗费了相当长的时间亲自去图书馆各部门进行实地考察,了解了用户的需求、认清了业务的流程和业务活动情况,确定了系统的边界。
2.1.2 业务流程学生可以进入查询处查询自己需借图书的是否在馆情况和是否存在记录情况,若在馆可进行借书;若不在馆,说明此书已经注销;若不存在,需要进行缺书登记。
学生凭借相关票据,进入相关部门办理借书、还书、注销等图书流通业务;学生凭借学生证可办理借书卡或离校进行注销卡业务。
(业务流程图见附录1)2.1.3 数据流程数据流图表达了数据和处理的关系,此系统主要是学生进行各种业务,图书馆各相关部门对业务的处理,以及图书馆对新书入库和需购书籍的统计(数据流程图见附录)2.1.4 数据字典数据字典是我在数据流程图中选取的一些中层数据流,我把我所抽去的数据列出以下表来。
2.1.4.1 数据项数据项名数据类型长度别名取值范围Sno 字符型10 学号Sname 字符型10 姓名Ssex 字符型 2 性别男、女Sgrade 字符型10 年级Sdept 字符型10 学院Smajor 字符型10 专业Sclass 字符型10 班级Bno 字符型10 条码号Bname 字符型10 书名Bahthor 字符型10 作者Bpress 字符型10 出版社Bprice 浮点型(单精度)10 定价Pno 字符型10 馆藏地编号1—10Bstate 字符型10 图书状态Bbstate 字符型10 借阅状态Cno 字符型10 卡号Bno 字符型10 条码号Bbno 字符型10 借书代号Bbtime 日期型10 借书时间(应还时间—借书时间)小于一个月Brtime 日期型10 应还时间Pno 字符型10 馆藏地编号1—10Pname 字符型10 馆藏地名称Cno 字符型10 卡号Rtime 日期型10 时间Rstate 字符型10 欠书状态Rfine 浮点型(单精度)10 超时罚款Cno 字符型10 卡号Cstate 字符型10 卡状态Sno 字符型10 学号Qname 字符型10 书名Qahthor 字符型10 作者Qpress 字符型10 出版社Qprice 浮点型(单精度) 4 定价Qfrequence 整型 4 搜索频率2.1.4.2 数据结构2.2 概念设计数据库概念模型设计阶段是数据库设计的关键阶段,在这一阶段里,主要是以需求分析中所识别的数据项、设计任务和现行系统的管理操作规则与策略为基础,确定图书管理系统中的实体和实体间联系,建立此系统的信息模式,准确描述此系统的信息结构,建立一个独立与各DBMS的高级概念模型。
2.2.1概念设计任务识别图书管理系统中的实体,识别实体的属性,识别实体的关键字,识别实体间的联系,利用实体关系图(E—R图)来描述图书管理相关实体、属性及关系,从而达到为图书管理系统建立良好的数据模型的目的。
2.2.2 E—R图设计根据前面的需求分析,可以将图书管理系统数据库实体划分为图书信息实体集、学生信息实体集、馆藏地实体集、借书卡信息实体集、缺书信息实体集,各实体集里还包含不同的实体。
学生在图书馆中必须持卡办理一切业务,新生必须首先办理借书卡,当借书卡丢失时需办理挂失业务,毕业生或中途退学者必须办理注销卡业务,以防止借书卡的流失。
学生在图书馆中持卡可以进行以下业务:查询自己借书状态,借书,还书,当所借书籍丢失时需办理注销业务。
学生需要查询自己所需书籍时,若馆中有则直接借书;若馆中没有,可以进行缺书登记。
管理员可以定时对缺书信息表中搜索频率到达某一数字以上的图书派人进行采购。
当新书通知到达,由管理员进行新书入库工作。
(各E—R图见附录2)每个实体定义的属性如下:学生:{学号,姓名,性别,年级,学院,专业,班级}图书:{条码号,书名,作者,出版社,定价,馆藏地编号,图书状态,借阅状态}馆藏地:{馆藏地编号,馆藏地名称}借书卡:{卡号,卡状态,学号}缺书:{书名,作者,出版社,定价,搜索频率}学生日常事务信息:{卡号,时间,欠书状态,超时罚款}2.3 逻辑设计逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
2.3.1 逻辑设计任务将E-R图转换为关系模型,即将实体、实体的属性和实体之间的联系转化为关系模式,为应用程序建立专门的视图而不必要应用程序直接访问数据表2.3.2关系模式的设计Student数据项名数据类型长度别名是否为空主外键Sno 字符型10 学号否主键Sname 字符型10 姓名Ssex 字符型 2 性别Sgrade 字符型10 年级Sdept 字符型10 学院Smajor 字符型10 专业Sclass 字符型10 班级Book数据项名数据类型长度别名是否为空主外键Bno 字符型10 条码号否主键Bname 字符型10 书名否Bahthor 字符型10 作者否Bpress 字符型10 出版社否Bprice 浮点型(单精度) 4 定价否Pno 字符型10 馆藏地编号否外键Bstate 字符型10 图书状态否Bbstate 字符型10 借阅状态否Jieyue数据项名数据类型长度别名是否为空主外键Cno 字符型10 卡号否外键Bno 字符型10 条码号否外键主键Bbno 字符型10 借书代号否Bbtime 日期型10 借书时间否Brtime 日期型10 应还时间否Btime 日期型10 还书时间注:(应还时间—借书时间)等于一个月Place数据项名数据类型长度别名是否为空主外键Pno 字符型10 馆藏地编号否主键Pname 字符型10 馆藏地名称否Rountin数据项名数据类型长度别名是否为空主外键Cno 字符型10 卡号否外键主键Rtime 日期型10 时间否Rstate 字符型10 欠书状态否Rfine 浮点型(单精度)10 超时罚款否注:对时间的检查,当借还书中的还书时间小于应还时间时,超时罚款为零;当超过应还时间未还书时,开始计费,超时罚款=(时间-应还时间)*0.03;当借还书中的还书时间确定时,超时罚款=(还书时间-应还时间)*0.03。
Card数据项名数据类型长度别名是否为空主外键Cno 字符型10 卡号否主键Cstate 字符型10 卡状态否Sno 字符型10 学号否外键LinkBook数据项名数据类型长度别名是否为空主外键Qname 字符型10 书名否Qahthor 字符型10 作者否主键Qpress 字符型10 出版社否Qprice 浮点型(单精度) 4 定价Qfrequence 整型 4 搜索频率2.3.3视图的设计为学生进行图书查询建立视图:V-BookSelect数据项名数据类型长度别名是否为空Bname 字符型10 书名否Bahthor 字符型10 作者否Bpress 字符型10 出版社否Bprice 浮点型(单精度) 4 定价否Pno 字符型10 馆藏地编号否Bstate 字符型10 图书状态否Bbstate 字符型10 借阅状态否建立学生、借书卡以及日常事务信息的联系视图,供借书处检查学生详细信息时使用:V-SCR数据项名数据类型长度别名是否为空Cno 字符型10 卡号否Sname 字符型10 姓名Ssex 字符型 2 性别Sgrade 字符型10 年级Sdept 字符型10 学院Smajor 字符型10 专业Sclass 字符型10 班级Cstate 字符型10 卡状态否Rstate 字符型10 欠书状态否Rfine 浮点型(单精度)10 超时罚款否注:当卡挂失时,不能进行借书业务。