高校图书馆管理系统的设计与实现.doc_第1页
高校图书馆管理系统的设计与实现.doc_第2页
高校图书馆管理系统的设计与实现.doc_第3页
高校图书馆管理系统的设计与实现.doc_第4页
高校图书馆管理系统的设计与实现.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高校高校图书馆图书馆管理系管理系统统的的设计设计与与实现实现 摘摘 要要 在计算机日益普及的今天 对个人而言若采用一套行之有效的图书管理系 统来管理自己的书籍 会方便许多 对图书管理部门而言 以前单一的手工检 索已不能满足人们的要求 往往是投入了大量的人力和财力却得不到高效的管 理效率 为了便于图书资料的管理需要有效的图书管理软件 减轻工作人员的 工作量 方便工作人员对它的操作 提高管理的质量和水平 做到高效 智能 化管理 达到提高图书借阅信息管理效率的目的 采用数据库技术生成的图书 馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳 动 使工作人员从繁忙 复杂的工作进入到一个简单 高效的工作中 基于这 个问题 开发了大学图书馆借阅系统 系统采用 C S 模式 实现了借还书的方 便 高效性 有效性和及时性 本文通过作者设计和开发一个中小型高校图书 馆管理系统的实践 阐述了高校图书管理软件中所应具有的基本功能 设计 实现 关键字 关键字 图书借阅 人员管理 图书维护 Library Management Systems Design and Implementation Abstract Today the growing popularity of the computer for the individual use of a set of effective library management system to manage their own books will be a lot easier Management of books the previous single hand retrieve can not meet the requirements of the people often put a lot of human and financial resources but lack efficient management efficiency In order to facilitate the management of library materials requires effective library management software reducing the workload of staff to facilitate its operations staff to improve the quality and level of management so efficient intelligent management to improve the efficiency of information management to borrow books purposes Generated using database technology library loan management system will greatly facilitate and simplify library management borrowers and staff labor staff from the busy complex task into a simple and efficient work For this problem the development of university library loan system System uses the C S mode the book also achieved by the convenience efficiency effectiveness and timeliness In this paper the design and development of a small academic library management system practice management software described in the university library should have the basic functions design implementation Keywords book lending personnel management book maintenance 目 录 摘摘 要要 I ABSTRACT II 目目 录录 III 第第 1 章章 绪绪 论论 1 第第 2 章章 需求分析阶段需求分析阶段 2 2 1 引言 2 2 2 需求分析阶段的目标与任务 2 2 2 1 处理图像 2 2 2 2 处理功能及要求 3 2 2 3 安全性和完整性要求 3 2 3 需求分析阶段成果 3 2 3 1 体会与收获 3 2 3 2 图书管理系统业务流程图 4 2 3 3 图书管理系统数据流程图 4 2 3 4 图书管理系统数据字典 7 2 3 5 处理逻辑描述 9 第第 3 章章 概念设计阶段概念设计阶段 11 3 1 引言 11 3 2 任务与目标 11 3 3 阶段结果 11 第第 4 章章 逻辑设计阶段逻辑设计阶段 14 4 1 逻辑设计的任务和目标 14 4 2 数据组织 14 4 3 数据处理 19 第第 5 章章 物理设计阶段物理设计阶段 20 5 1 物理设计阶段的目标与任务 20 5 2 数据存储方面 20 5 3 系统功能模块 20 第第 6 章章 数据库实施阶段数据库实施阶段 22 6 1 建立数据库 数据表 试图 索引 22 6 2 数据入库 25 6 3 创建各个功能的存储过程 25 第第 7 章章 系统调试和测试系统调试和测试 27 第第 8 章章 实习心得实习心得 28 第第 9 章章 存在的问题及建议存在的问题及建议 29 参考文献参考文献 30 致致 谢谢 31 附录附录 1 1 存储过程定义存储过程定义 32 附录附录 2 2 数据查看和存储过程功能的验证数据查看和存储过程功能的验证 35 附录附录 3 3 所有的所有的 SQLSQL 运行语句运行语句 41 第 1 章 绪 论 随着社会信息量的与日俱增 职场竞争的日趋激烈 越来越多的人更关注 知识的积累 能力的培养 作为信息存储的主要媒体之一图书 数量 规模比 以往任何时候都大的多 不论个人还是图书管理部门都需要使用方便而有效的 方式来管理自己的书籍 在计算机日益普及的今天 对个人而言若采用一套行之有效的图书管理系 统来管理自己的书籍 会方便许多 对图书管理部门而言 以前单一的手工检 索已不能满足人们的要求 为了便于图书资料的管理需要有效的图书管理软件 对于日益扩大的图书馆 查找特定的书目总是借阅者或工作人员劳神费力 有 时还没有结果 因此往往是投入了大量的人力和财力却得不到高效的管理效率 为了缩短借阅者的等待时间 减轻工作人员的工作量 方便工作人员对它的操 作 提高管理的质量和水平 做到高效 智能化管理 从而达到提高图书借阅 信息管理效率的目的 采用数据库技术生成的图书馆借阅管理系统将会极大地 方便借阅者并简化图书馆管理人员和工作人员的劳动 使工作人员从繁忙 复 杂的工作进入到一个简单 高效的工作中 本文以高校图书馆管理系统管理系统开发过程为背景 全文分为目录 需 求分析 概要设计 逻辑设计 物理设计 以及系统的实现等全过程 在程序 设计与调试上采用了自上而下 逐步细化 逐步完善的原则 采用结构化的功 能模块设计系统功能 可读性好 易于扩充 基本功能全面 系统可读性好 易于维护 更新 安全性好 第第 2 章章 需求分析阶段需求分析阶段 2 1 引言 进行系统设计 首先要对系统的现状进行分析 根据系统的目标 需求和 功能 制定和选择一个较好的系统方案 从而达到一个合理的优化系统 每个 学校都有图书馆 最初由于图书数量和种类较少 人工手动管理比较方便和灵 活 随着社会的发展 图书的数量和种类越来越多 人工手动管理会降低工作 的效率 希望建立一个图书管理系统 是为了解决人工手动管理图书信息在实 践的问题 从而达到系统化 规范化 标准化的水平 该系统的建立不但给管 理者带来了方便 也节省了工作时间从而提高了工作效率 需求分析是在于要弄清用户对开发的数据库应用系统的确切要求 数据库 设计的第一步是明确数据库的目的和如何使用 也就是说需要从数据库中得到 哪些信息 明确目的之后 就可以确定您需要保存哪些主题的信息 表 以及 每个主题需要保存哪些信息 表中字段 在构造系统时 首先从需求出发构造数据库表 然后再由数据库表结合需 求划分系统功能模块 这样 就把一个大的系统分解成了几个小系统 这里把 系统的层次划分为了四个部分 图书维护 人员信息管理 图书借阅管理 信 息查询 能够实现以下功能 进行新书入库 现有图书信息修改以及删除 1 能够实现对读者基本信息的查询和编辑管理 能够进行超期罚款功能 能够进行借阅信息的查询功能 2 2 需求分析阶段的目标与任务 2 2 1 处理图像 读者信息 读者编号 姓名 性别 学号 学院 专业 年级 类型 类 别编号 办证日期 管理员信息 管理员编号 姓名 性别 权限 登录口令 住址 电话 馆藏图书信息 图书编号 索书号 图书名称 作者 出版社 单价 摘 要 关键字 副本数 分类 出版日期 状态 借阅信息 图书编号 读者编号 图书名 作者 借阅日期 归还日期 归还日期 应还日期 罚金 借阅历史信息 图书编号 读者编号 图书名 作者 借阅日期 还书日 期 罚款信息 读者编号 图书编号 图书名 作者 借阅日期 应还日期 归还日期 罚款金额 处理状态 管理员编号 2 2 2 处理功能及要求 1 能够存储一定数量的图书信息 并方便有效的进行相应的书籍数据操作和管理 这主要包括 1 图书信息的录入 删除及修改 2 图书信息的多关键字检索查询 3 图书的出借 返还及超期罚款或丢失赔偿 2 能够对一定数量的读者 管理员进行相应的信息存储与管理 这其中包括 1 读者信息的登记 删除及修改 2 管理员信息的增加 删除及修改 3 读者资料的统计与查询 3 能够提供一定的安全机制 提供数据信息授权访问 防止随意删改 查询 4 对查询 统计的结果能够列表显示 2 2 3 安全性和完整性要求 1 安全性要求 系统安全性要求体现在数据库安全性 信息安全性和系统平台的安全性等 方面 安全性先通过视图机制 不同的用户只能访问系统授权的视图 这样可 提供系统数据一定程度上的安全性 再通过分配权限 设置权限级别来区别对 待不同操作者对数据库的操作来提高数据库的安全性 系统平台的安全性体现 在操作系统的安全性 计算机系统的安全性和网络体系的安全性等方面 2 完整性要求 系统完整性要求系统中数据的正确性以及相容性 可通过建立主 外键 使用 check 约束 或者通过使用触发器和级联更新 2 3 需求分析阶段成果 2 3 1 体会与收获 系统需求分析主要是通过对本校图书管理员的咨询 请教 了解我校图书 馆的管理规则和运行机制 并通过上网搜索有关图书管理系统的知识 了解到 了图书管理的现状 以及在管理中的一些问题 由于是第一次做这样的需求调 查 开始总是觉得无从下手 不知道自己该了解 该清楚那些方面的知识 在 绘制系统业务流程图时 也遇到了很多的问题 但通过老师的帮助与指导 和 自己一遍一遍的分析和完善 才逐步把业务弄清楚 最终顺利完成了需求分析 阶段的任务 2 3 2 图书管理系统业务流程图 2 3 3 图书管理系统数据流程图 顶层数据流图 第 2 层数据流图 读者借阅 读者还书 读者查询 管理员查询 管理员修 改 图 2 1 业务流程图 图 2 2 顶层数据流 第 3 层数据流图 读者借阅 第 3 层数据流图 读者还书 第 3 层数据流图 查询图书信息 查询读者信息 查询借阅历史 查询罚款 信息 第 3 层数据流图 管理员添加 删除 修改图书信息 第 3 层数据流图 管理员添加 删除 修改读者信息 第 3 层数据流图 管理员添加 删除 修改系统用户信息 2 3 4 图书管理系统数据字典 a 数据项 系统涉及的数据项有 44 项 表 1 1 数据项列表 数据项编号数据项编号数据项名数据项名数据项含义数据项含义与其它数据项的关系与其它数据项的关系存储结构存储结构别名别名 DI 1BookID图书条码号char 9 条码号 DI 2BookNo图书索书号char 10 索书号 DI 3BookName图书名char 20 书名 DI 4BookWriter图书作者char 8 作者 DI 5BookPublish图书出版社char 20 出版社 DI 6BookPrice图书单价char 7 单价 DI 7BookDate图书出版日期Date出版日期 DI 8BookClass图书分类char 20 类别 DI 9BookMain图书摘要char 200 摘要 数据项编号数据项编号数据项名数据项名数据项含义数据项含义与其它数据项的关系与其它数据项的关系存储结构存储结构别名别名 DI 10BookPrim图书关键字char 30 关键字 DI 11BookCopy图书副本数char 5 副本数 DI 12BookState图书是否可借char 10 状态 DI 13BookRNo所属馆室号同 RoomNochar 5 馆室号 DI 14ReaID读者条码号char 9 条码号 DI 15ReaName读者姓名char 10 姓名 DI 16ReaSex读者性别char 2 性别 DI 17ReaNo读者学号char 9 学号 DI 18ReaLBID读者类别编号同 LBIDchar 5 类别编号 DI 19ReaType读者类型 职务 char 20 类型 DI 20ReaDep读者所在学院char 20 学院 DI 21ReaGrade读者所属年级char 5 年级 DI 22ReaPre读者所读专业char 20 专业 DI 23ReaDate读者办证时间Date办证时间 DI 24OutDate借阅日期Date借阅时间 DI 25InDate归还日期Date归还时间 DI 26YHDate应还日期Date应还时间 DI 27Fine罚款金额char 3 罚款金额 DI 28CLState是否交纳罚金char 8 处理状态 DI 29LBID类别编号同 ReaLBIDchar 5 类别编号 DI 30LBName读者类别名char 20 类别名 DI 31LBnum允许最多借书数量char 5 借阅数量 DI 32LBbqx允许最长持有时间char 4 借阅期限 DI 33LBqx借阅卡有效期char 3 有效期限 DI 34MID管理员编号同 RoomMIDchar 10 编号 DI 35MName管理员姓名char 10 姓名 DI 36MSex管理员性别char 2 性别 DI 37Mpwd管理员口令char 8 口令 DI 38MAuth管理员权限级别char 4 权限级别 DI 39MTeleph管理员电话char 15 电话 DI 40MAddre管理员地址char 30 住址 数据项编号数据项编号数据项名数据项名数据项含义数据项含义与其它数据项的关系与其它数据项的关系存储结构存储结构别名别名 DI 41RoomNo馆室号同 BookRNochar 5 馆室号 DI 42RoomMID馆室管理员编号同 MIDchar 10 编号 DI 43RoomNum馆室内图书数目char 5 数量 DI 44RoomAddre馆室地址char 20 地址 b 数据结构 表 1 2 数据结构列表 数据结数据结 构编号构编号 数据结构名数据结构名 数据结构数据结构 含义含义 组成组成 DS 1Book馆藏图书信息 BookID BookNo BookName BookWriter BookPublish BookPrice BookDate BookClass BookMain BookPrim BookCopy BookState BookRNo DS 2Reader读者信息 ReaID ReaName ReaSex ReaNo ReaLBID ReaType ReaDep ReaGrade ReaPref ReaDate DS 3Borrow借阅信息BookID ReaID BookName BookWriter Outdate YHdate DS 4History借阅历史BookID ReaID BookName BookWriter Outdate Indate DS 5Fine罚款信息 BookID ReaID BookName Outdate Indate Fine CLState MID DS 6ReaderType读者类别LBID LBName LBnum LBbqx LBqx DS 7Maneger管理员信息MID MName MSex Mpwd MAuth MTeleph MAddre DS 8Room馆室信息RoomNO RoomMID RoomNum RoomAddre 2 3 5 处理逻辑描述 表 1 3 处理逻辑列表 处理编号处理编号处理功能处理功能处理过程处理过程 PR 1判断读者查询涉及的功能模块 馆藏图书信息模块 读者信息模块 读者类别信息模块 借阅信息模块 借阅历史信息模块 罚款信息模块 管 理员模块 馆室信息模块 先确定查询所涉及的功能模块 然后 根据要查询的内 容 确定查询数据流向 最后显示查询结果 PR 2 判断图书 读者修改要涉及的模块 同时把相应的修改数据传到相应的模 块之中 馆藏图书信息模块 读者信息模块 读者类别信息模块 管理员信息模块 馆室信息模块 先确定更新所涉及的功能模块 然后 把更新信息传送 到相应的模块中 最后 进行相应的更新操作 第 3 章 概念设计阶段 3 1 引言 系统开发的总体目标是实现图书馆管理的系统化和自动化 缩短借阅者的 等待时间 减轻工作人员的工作量 方便工作人员对它的操作 提高管理的质 量和水平 做到高效 智能化管理 从而达到提高图书管理效率的目的 主要任务是对读者信息 管理员信息 图书资料信息 借阅信息 归还图 书信息 罚款信息的基本信息的操作及外理 概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构 概念 模型 的过程 它是整个数据库设计的关键 3 2 任务与目标 1 选择中层数据流为切入点 通常选择实际系统中的子系统 2 设计分 E R 图 即各子模块的 E R 图 3 生成初步 E R 图 通过合并方法 做到各子系统实体 属性 联系统 一 4 生成全局 E R 图 通过消除冲突等方面 在本图书管理系统中 从第 3 层数据流程图下手 分析各 3 层数据流图和 数据字典 知道整个系统功能围绕 读者 管理员 和 图书 的处理 根 据实体与属性间的两条准则 作为 属性 不能再具有需要描述的性质 1 属性 不能与其他实体具有联系 数据流程图 2 4 图 2 5 图 2 6 可综合 2 成借阅子系统的分 E R 图 3 1 数据流程图 2 7 可抽象为分 E R 图 3 2 数据流 程图 2 8 可抽象为分 E R 图 3 3 数据流程图 2 9 可抽象为分 E R 图 3 4 然后 采用逐步集成的方式将各分 E R 图合并 消除不必要的冗余和冲突后就生成了 基本 E R 图 3 5 3 3 阶段结果 1 根据不同的对象 从第 3 层数据流程图入手 分别画出各分 E R 图 a 从数据流程图图 三 与图 四 抽象出的分 E R 图 c 从数据流程图图 六 抽象出的分 E R 图 d 从数据流程图图 七 抽象出的分 E R 图 e 从数据流程图图 八 抽象出的分 E R 图 2 合并各分 图 消除属性冲突 命名冲突 结构冲突等三类冲突 得 到初步 E R 图 再消除不必要冗余 得到的基本 E R 图如下所示 3 各 E R 图各实体的属性如下所示 图书 Book BookID BookNo BookName BookWriter BookPublish BookPrice BookDate BookClass BookMain BookPrim BookCopy BookState BookRN 读者 Reader ReaID ReaName ReaSex ReaNo ReaLBID ReaType ReaDep ReaGrade ReaPref ReaDate 管理员 Maneger MID MName MSex Mpwd MAuth MTeleph MAddre 馆室 Room RoomNo RoomMID RoomNum RoomAddre 读者类别 ReaderTpye LBID LBName LBnum LBbqx LBqx 各 E R 图中联系的属性如下所示 借阅信息 Borrow BookID ReaderID BookName BookWriter Outdate YHdate 借阅历史 History BookID ReaderID BookName BookWriter Outdate Indate 罚款信息 Fine BookID ReaderID BookName Outdate Indate Fine CLState MID 第 4 章 逻辑设计阶段 4 1 逻辑设计的任务和目标 以上的概念设计阶段是独立于任何一种数据模型的 但是逻辑设计阶段就 与选用的 DBMS 产品发生关系了 系统逻辑设计的任务就是将概念设计阶段设计 好的基本 E R 图转换为选用 DBMS 产品所支持的数据模型相符合的逻辑结构 具 体内容包括数据组织 将 E R 图转换成关系模型 模型优化 数据库模式定义 用户子模式设计 数据处理 画出系统功能模块图 两大任务 4 2 数据组织 4 2 1 将 E R 图转换为关系模型 实体型转换为关系模式 实体的属性就是关系的属性 实体的码就是关系 的码 对于实体间的联系则有以下不同的情况 一个 m n 联系转换为一个关系模式 与该联系相连的各实体的码以及联系 本身的属性均转换为关系的属性 而关系的码为各实体码的组合 一个 1 n 联系可以转换为一个独立的关系模式 也可以与 n 端对应的关系 模式合并 如果转换为一个独立的关系模式 则与该联系相连的各实体的码以 及联系本身的属性均转换为关系的属性 而关系的码为 n 端实体的码 一个 1 1 联系可以转换为一个独立的关系模式 也可以与任意一端对应的 关系模式合并 三个或三个以上实体间的一个多元联系可以转换为一个关系模 式 与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性 而关系的码为各实体码的组合 具有相同码的关系模式可合并 由于读者类别与读者 馆室与图书的联系方式是 1 n 一对多 可以将其 之间的联系与 n 端实体读者 图书合并 管理员与图书之间的维护联系也是 1 n 一对多 同样也将其之间的联系与 n 端实体合并 而读者与图书之间的 借阅和归还联系方式则是 n m 多对多 这样要把它们之间的联系转化为独立 的关系模式 读者与管理员之间的罚款联系是 m n 多对多 将其联系也转化 成独立的关系模式 具体的基本 E R 图向关系模型的转化如下 图书 Book BookID BookNo BookName BookWriter BookPublish BookPrice BookDate BookClass BookMain BookPrim BookCopy BookState BookRNo 读者 Reader ReaID ReaName ReaSex ReaNo ReaLBID ReaType ReaDep ReaGrade ReaPref ReaDate 管理员 Maneger MID MName MSex Mpwd MAuth MTeleph MAddre 读者类别 ReaderTpye LBID LBName LBnum LBbqx LBqx 馆室 Room RoomNo RoomMID RoomNum RoomAddre 借阅信息 Borrow BookID ReaderID BookName BookWriter Outdate YHdate 借阅历史 History BookID ReaderID BookName BookWriter Outdate Indate YHdate 罚款信息 Fine BookID ReaderID BookName Outdate Indate Fine CLState MID 注 标有直线下划线的为主属性 标有波浪线下划线的是外键属性 主属性与外键属性一起构成主码 4 2 2 模型优化 关系模式 Book Reader Room ReaderType Maneger 不存在非主属性对主属性的 部分函数依赖 也不存在传递函数依赖 已经达到了 3NF 但是借阅关系模式 借阅历史关系模式 罚款关系模式 Borrow History Fine 中存在着一些数据 冗余 现将三个关系模型进行合并 消除冗余 优化为 借阅信息 Borrow BookID ReaderID BookName BookWriter Outdate Indate YHdate Fine CLStaer MID 4 2 3 数据库模型定义 表 2 1 馆藏图书信息表 列名列名数据类型数据类型可否为空可否为空说明说明 BookIDCharnot null图书编号 BookNoCharnot null图书的索书号 BookNameCharnot null图书的书名 BookWriterCharnot null图书作者 BookPulishCharnot null图书出版社 BookPriceChar图书的单价 BookDateDate出版日期 BookClassChar图书的分类 BookMainChar图书的摘要 BookPrimChar图书的关键字 BookCopyChar图书的副本数 BookStateCharnot null图书是否可借 BookRNoCharnot null图书所在馆室号 表 2 2 读者信息表 列名列名数据类型数据类型可否为空可否为空说明说明 ReaIDCharnot null读者编号 ReaNameCharnot null读者姓名 ReaSexCharnot null读者性别 ReaNoCharnot null读者学号 ReaLBIDCharnot null读者类别编号 ReaTypeChar读者类型 ReaDepChar读者所在学院 ReaPrefChar读者所属专业 ReaGradeChar读者的年级 ReaDateDatenot null办证日期 表 2 3 管理员信息表 列名列名数据类型数据类型可否为空可否为空说明说明 MIDCharnot null管理员编号 MNameCharnot null管理员姓名 MSexChar管理员性别 MpswCharnot null管理员密码 MAuthCharnot null管理员权限 MTelephChar管理员电话 MAddreChar管理员地址 表 2 4 馆室信息表 列名列名数据类型数据类型可否为空可否为空说明说明 RoomNoCharnot null馆室号 RoomMIDCharnot null馆室管理员编号 RoomNumChar馆室拥有图书数目 RoomAddreChar馆室地址 表 2 5 读者类别信息表 列名列名数据类型数据类型可否为空可否为空说明说明 LBIDCharnot null读者类别编号 LBNameCharnot null读者类别名 LBnumCharnot null允许借阅图书最大数 LBbqxCharnot null持有图书最长期限 LBqxCharnot null借阅证期限 表 2 6 借阅信息表 列名列名数据类型数据类型可否为空可否为空说明说明 ReaIDCharnot null读者编号 BookIDCharnot null图书编号 BookNameCharnot null图书名 BookWriterChar作者 OutdateDatenot null借阅时间 IndateDate归还时间 YHdateDatenot null应还时间 FineChar罚款金额 CLStateChar处理状态 MIDCharnot null管理员编号 4 2 4 用户子模式定义 表 2 7 用户子模式定义 编号编号用户子模式用户子模式 View 作用作用 共性 提供数据保密和安全保护机制共性 提供数据保密和安全保护机制 V 1BookView便于查询和修改图书的基本信息 V 2ReaderView方便读者基本信息的查询 更新 V 3HistoryView便于借阅历史信息的查询 V 4BorrowView用于当前借阅信息的查询 V 5FineView便于查询罚款信息 表 2 8 读者基本信息视图 列名列名数据类型数据类型可否为空可否为空说明说明 ReaIDCharnot null读者编号 ReaNameCharnot null读者姓名 ReaSexCharnot null读者性别 ReaTypeChar读者类型 ReaDepChar读者所在学院 ReaDateDatel办证日期 表 2 9 图书基本信息视图 列名列名数据类型数据类型可否为空可否为空说明说明 BookNoCharnot null图书的索书号 BookNameCharnot null图书的书名 BookWriterCharnot null图书作者 BookPulishCharnot null图书出版社 BookStateCharnot null图书是否可借 BookRNoCharnot null图书所在馆室号 表 2 10 读者当前借阅信息视图 列名列名数据类型数据类型可否为空可否为空说明说明 BookIDCharnot null图书编号 BookNameCharnot null图书名 OutdateDatenot null借阅时间 YHdateDatenot null应还时间 表 2 11 读者借阅历史信息视图 列名列名数据类型数据类型可否为空可否为空说明说明 BookIDCharnot null图书编号 BookNameCharnot null图书名 OutdateDatenot null借阅时间 IndateDate归还时间 表 2 12 读者罚款信息视图 列名列名数据类型数据类型可否为空可否为空说明说明 BookIDCharnot null图书编号 BookNameCharnot null图书名 OutdateDatenot null借阅时间 IndateDate归还时间 FineCharnot null罚款金额 CLStateCharnot null处理状态 4 3 数据处理 系统功能模块图 第 5 章 物理设计阶段 5 1 物理设计阶段的目标与任务 数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的 过程 在这个阶段中要完成两大任务 1 确定数据库的物理结构 在关系数据库中主要是存取方法和存储结构 2 对物理结构进行评价 评价的重点是时间和空间效率 5 2 数据存储方面 为数据库中各基本表建立的索引如下 为数据库中各基本表建立的索引如下 1 由于基本表 Reader Book 的主码 ReaID BookID 经常在查询条件和连接操 作的连接条件中出现 且它们的值唯一 在两个属性上建立唯一性索引 2 由于基本表 Reader 的属性 ReaDep Book 的属性 BookPublish 经常在查件 中出现在两个属性上建立聚簇索引 3 借阅信息基本表 Borrow 的一属性 ReaID BookID 经常在查询条件中出现 考虑在其之上建立聚簇索引 4 罚款信息基本表 Fine 的一属性 ReaID BookID 经常在查询条件中出现 考 虑在其之上建立聚簇索引 5 3 系统功能模块 5 3 1 读者基本信息的查询和更新模块 将实现对读者基本信息的查询和更新 修改 添加 删除 操作 用于新 生入学 毕业生离校 以及读者补办借阅证或更改信息的情况 具体的功能模 块图如下 5 3 2 图书基本信息的查询和更新模块 将完成对图书基本信息的查询 更新 修改 添加 删除 操作 用于读者对 图书信息的查询及管理员添加新书 删除淘汰的旧书 具体的功能模块图如下 所示 第 6 章 数据库实施阶段 6 1 建立数据库 数据表 试图 索引 6 1 1 建立数据库 create database Book 6 1 2 建立数据表 1 读者类别信息表的建立 create table ReaderType LBID char 5 primary key LBName char 20 not null LBnum char 5 not null LBbqx char 4 not null LBqx char 3 not null 2 管理员基本信息表的建立 create table Maneger MID char 10 primary key MName char 10 not null MSex char 2 Mpwd char 8 not null MAuth char 40 not null MTeleph char 15 MAddre char 30 check MSex 男 or MSex 女 3 图书馆室基本信息表的建立 create table Room RoomNo char 5 primary key RoomMID char 10 not null Roomnum char 5 RoomAddre char 20 foreign key RoomMID references Maneger MID 4 馆藏图书基本信息表的建立 create table Book BookID char 9 primary key BookNo char 20 not null BookName char 50 not null BookWriter char 30 not null BookPublish char 20 not null BookPrice char 7 BookDate datetime BookClass char 20 BookMain char 200 BookPrim char 30 BookCopy char 5 BookState char 10 not null BookRNo char 5 not null foreign key BookRNo references Room RoomNo 5 读者基本信息表的建立 create table Reader ReaID char 9 primary key ReaName char 10 not null ReaSex char 2 not null ReaNo char 9 not null ReaLBID char 5 not null ReaType char 20 ReaDep char 20 ReaGrade char 5 ReaPref char 20 ReaDate Datetime foreign key ReaLBID references ReaderType LBID check ReaSex 男 or ReaSex 女 6 借阅基本信息表的建立 create table Borrow BookID char 9 ReaID char 9 Outdate Datetime not null YHdate Datetime not null Indate Datetime Fine char 5 CLState char 8 MID char 10 not null primary key BookID ReaID foreign key MID references Maneger MID 6 1 3 建立试图 1 用于查询图书基本信息的视图定义如下 create view Bookview 索书号 书名 作者 出版社 图书状态 as select BookNo BookName BookWriter BookPublish BookState from Book 2 用于读者基本信息查询的视图定义如下 create view Readerview 读者姓名 类型 学院 专业 办证日期 as select ReaName ReaType ReaDep ReaPref ReaDate from Reader 3 用于显示当前借阅基本信息的视图定义如下 create view Borrowview 读者编号 书名 作者 借阅日期 到期日期 as select ReaID BookName BookWriter Outdate YHdate from Borrow Book where Borrow BookID Book BookID and Borrow Indate is null 4 用于借阅历史信息查询的视图定义如下 create view Historyview 读者编号 书名 借阅日期 归还日期 as select ReaID BookName Outdate Indate from Borrow Book where Borrow BookID Book BookID and Borrow Indate is not null 5 用于查询罚款信息的视图定义如下 create view Fineview 读者编号 书名 借阅日期 归还日期 罚款 处理状 态 as select ReaID BookName Outdate Indate Fine CLState from Borrow Book where Borrow BookID Book BookID and Fine is not null 6 1 4 建立索引 create clustered index BookPublish on Book BookPublish create clustered index ReaDep on Reader ReaDep 6 1 5 建立触发器 1 当删除 Reader 表中某一读者基本信息时 触发 Borrow 表 删除相应 的记录 create trigger Reader delete on Reader for delete as delete Borrow from deleted where Borrow ReaID deleted ReaID 2 当在中增加一条借阅记录时 使该图书的状态由 可借 变为 不可 借 create trigger Borrow insert1 on Borrow for insert as declare BookID char 9 select BookID BookID from inserted update Book set BookState 不可借 where BookID BookID 6 2 数据入库 系统包括图书基本信息管理 读者基本信息管理 管理员信息管理 借阅 信息管理 查询信息管理等四大功能模块 共有 6 张基本表 采用事先在 Excel 中录入数据 然后使用 SQL Server 2000 数据导入 导出向导功能 直接将数据导入 到相应的基本表中 6 3 创建各个功能的存储过程 系统共创建了 10 个存储过程 具体列表如下 表 3 1 创建的存储过程列表 编号编号存储过程名称存储过程名称定义定义作用作用 P 1Book Insert详见附录 1 1在 Book 中插入一元组 P 2Reader Insert详见附录 1 2在 Reader 中插入一元组 P 3Maneger Insert详见附录 1 3在 Maneger 中插入一元组 P 4Borrow Insert详见附录 1 4在 Borrow 中插入一元组 P 5Delete Book详见附录 1 10从 Book 中删除一元组 P 6Delete Reader详见附录 1 9从 Reader 中删除一元组 P 7Query Reader R详见附录 1 5读者在 Reader 中查询本人信息 P 8Query Reader M详见附录 1 6管理员在 Reader 中查询全部读者 P 9Query Book Writer详见附录 1 7在 Book 按作者查询 P 10Query Book Name Publish详见附录 1 8在 Book 中 按书名和出版社查询 其它表的查询 修改 删除与以上各表的存储过程定义大致相同 这里不再具体列出 第 7 章 系统调试和测试 对该图书管理系统进行测试 验证每个功能是否符合要求 具体的测试如下 1 通过视图查看各个基本表和视图中的数据 见附录 2 2 检测各个存储过程的功能 见附录 2 第 8 章 实习心得 1 这次课程设计使我熟悉了系统设计的整体步骤 系统设计大体可分为需求 分析 概念设计 逻辑设计 物理设计 数据库的实施及调试测试六大步 骤 其中 让我感触最深的是需求分析阶段 在这个阶段 必须对所要设 计的系统有总体的构思和了解 知道自己要做什么 要实现什么 并且要 实际的进行相关的调查 不能凭想象或自己的了解 这样会在后续的工作 中遇到很多的问题 2 这次课程设计加深了我对数据库系统概论相关知识和 SQL SERVER 相关功 能的理解 例如对建立基本表 视图 索引 存储过程 触发器等 都比 以前更加的熟练 并在解决遇到的各种问题的过程中 学到了很多新的知 识 比如在导入 导出数据时 由于外键约束的存在 经常会出现错误 这 就要注意各个表导入的顺序问题 一般是先导入主键表 后导入外键表 这样可以避免很多的错误 3 我进一步掌握了相关的 SQL 语句方面的知识 不但纠正了以前的错误认识 和理解 而且学会了建立存储过程和触发器 通过查阅资料 我还明白了 存储过程是编译后放在服务器端的程序 它可以被别的模块调用 且不需 要重新编译 这样就大大减轻了客户端的负担 且有效的提高了系统执行 的效率 4 当然 在实习的过程中也存在一些问题 由于需求分析阶段的工作完成的 不是很充分 在后面的设计过程中 前后时常会出现矛盾 不一致现象 因此要反复的修改前面的结果 导致整个工作进行的不是很顺利 第 9 章 存在的问题及建议 1 我觉得在这次课程设计中 需求分析阶段是致关重要的 但由于同学们都是 第一次做这样的系统设计 都不是很熟悉需求分析的主要方法和主要任务 所以都很盲目 认为随便从网上搜点相关的知识就可以了 但其实 这直接 影响着后面的各个阶段的工作的进行 所以希望老师在实习前能给我们对需 求分析阶段的工作进行一定的指导 2 在实习过程中 虽然我们每个班都配备了两到三名指导老师 可各指导老师 轮流上班 当我们遇到问题时 有时在身边找不到老师 而浪费了一些宝贵 的时间 或者是本班的指导老师在给别班的学生指导 所以也可能会耗费一 定的等待时间 3 但总的说来 这次实习的各个指导老

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论