




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 I 摘要 图书管理是图书馆或阅览室的重要工作 具有量大 重复的特点 其中的信 息录入 读者管理 书目查询 书籍借阅是经常性的工作 为方便检索和管理 借助计算机开发相应的图书馆信息系统可以提高工作效率 本文进行了图书馆信 息系统的设计和开发 包含数据库设计和系统功能设计 将图书入库 查询 借 阅 维护 用户信息等功能集成在一起 具有用户界面友好 操作简单 数据安 全 功能强大 实用性强的特点 测试表明该系统可有效提高大学图书馆的图书 管理效率 关键词关键词 图书管理 查询 设计 数据库 ABSTRACT II Abstract Books management is an important work in library or reading room It is a vast and repetitive one The work often includes so much work such as writing information managing readers information querying bibliography and lending books In order to query and manage information conveniently the library information system can improve work effectively Design and exploitation of library information system is given in this paper it includes the design of database and program functions The system integrates such functions as storage consult lend safeguard and the management of users information The user interface is good and the data is safe the operation is convenient and practical The testing shows that this system can improve the affectivity of books management in the university library Key words books management search design database 目录 III 目 录 第 1 章引言 1 1 1 设计目的和意义 1 1 2 论文的结构与安排 1 第 2 章相关知识简介 3 2 1 信息管理系统概述 3 2 1 1 信息管理系统 3 2 1 2 MIS 系统开发过程 3 2 2 数据库概述 4 2 2 1 数据库的概念 4 2 2 2 数据库管理系统 4 2 2 3 数据库技术 5 2 3 SQL 语言介绍 5 2 3 1 SQL 基础 5 2 3 2 SQL 的特点 6 2 3 3 SQL 语句的分类及基本语法 6 2 4 应用程序开发工具 7 2 4 1 Visual C 7 2 4 2 应用程序开发的基本步骤 10 2 5 相关定义 11 第 3 章图书信息系统概要设计 12 3 1 需求分析 12 3 2 系统功能设计及目标 13 3 3 系统总体架构 14 3 3 1 模块描述 14 3 3 2 系统的总体结构图 15 3 4 数据库设计 16 3 4 1 数据库设计简介 16 3 4 2 数据库设计 16 目录 IV 3 4 3 数据库需求分析 17 3 4 4 数据库概念结构设计 17 3 4 5 数据库逻辑结构设计 21 第 4 章图书信息系统详细设计 25 4 1 总体处理流程 25 4 2 用户界面设计 25 4 3 系统窗体模块设计 25 4 3 1 用户登陆模块的实现 25 4 3 2 用户主界面的实现 29 4 3 3 出版社信息模块的实现 30 4 3 4 客户信息模块的实现 32 4 3 5 图书借阅模块的实现 34 4 3 6 图书信息模块的实现 36 4 3 7 用户信息模块的实现 38 4 3 8 综合查询模块的实现 40 4 3 9 数据导入模块的实现 41 4 3 10 综合设置模块的实现 42 第 5 章测试 45 5 1 引言 45 5 2 目的 45 5 3 测试策略 45 5 3 1 面向对象的单元测试 45 5 3 2 面向对象的集成测试 46 5 3 3 面向对象的确认测试 46 5 4 测试方法 46 5 5 测试结果 46 结论 48 参考文献 50 致 谢 51 外文资料原文 52 翻译文稿 55 第 1 章 引言 1 第 1 章引言 1 1 设计目的和意义 当今时代是飞速发展的信息时代 在各行各业中离不开信息处理 这正是计 算机被广泛应用于信息管理系统的环境 计算机的最大好处在于利用它能够进行 大量而复杂的信息管理 使用计算机进行信息控制 不仅提高了工作效率 而且 大大的提高了其安全性 尤其对于复杂的信息管理 计算机能够充分发挥它的优 越性 图书馆是为教学服务的 在图书馆的日常运作过程中 最主要的工作就是对 大量的读者信息 书籍信息以及两者相互作用产生的图书流通信息等的管理 建 立一个图书馆信息系统 使图书管理工作规范化 系统化 程序化 避免图书管 理的随意性 提高信息处理的速度和准确性 能够及时 准确 有效的查询和修 改图书情况 提高图书信息管理的效率 这也是管理科学化 正规化重要途径 有了图书馆信息系统 我们可以对图书进馆实行书目编排 并对其进行数据库备 份 以便我们以后对其进行管理和出错恢复 图书借阅时 我们可以通过模糊查 询实现对用户要求图书的查找 并对图书进行各项统计 如果用户需要借阅的图 书已被借出 可以及时反馈给用户 避免时间的浪费 对于各类用户的借阅权限 时间可以通过系统进行设定 满足各类用户的最大需求 本论文是从学校图书馆 的实际操作流程出发 经过详细的系统调查 对图书馆信息系统进行了详细的分 析和设计 重点进行了各功能模块和界面的详细设计 并对系统功能进行了测试 为学校图书馆开发出的一个实用的图书馆信息系统 本系统的前端开发工具是 Visual C 后台数据库选用的是大型关系数据库 Microsoft SQL Server 2000 1 2 论文的结构与安排 本文第一章介绍图书馆信息系统的设计背景 设计目的和意义 第二章对本 系统涉及到的几个相关知识点 如信息管理系统 数据库 SQL 语言 开发平台 电子科技大学成都学院本科毕业设计论文 2 进行了简单的介绍 第三章介绍了图书馆信息系统的概要设计和数据库设计 第 四章介绍了系统的详细设计 功能设计和界面设计 第五章对系统测试进行了介 绍 最后对整个设计做出的总结 第 2 章 相关信息简介 3 第 2 章相关知识简介 2 1 信息管理系统概述 2 1 1 信息管理系统 信息管理系统是一个利用计算机软硬件资源 手工作业 分析 计划 控制 和决策模型以及数据库的人机系统 它能提供信息支持企业或组织的运行 管理 和决策功能 图书馆信息系统是典型的信息管理系统 MIS 其开发主要包括后台数据库 的建立和维护以及前端应用程序的开发两个方面 对于前者要求建立起数据一致 性和完整性强 数据安全性好的数据库 而对于后者则要求应用程序功能完备 易 使用等特点 2 1 2 MIS 系统开发过程 一个 MIS 系统的开发过程一般包括如下几个步骤 需求分析 需求分析主要是了解用户的需求 需求了解得越详细 程序的后 期开发与维护费用就会越少 一般的开发团队中 需求分析都是由资历较深的系 统分析员或项目经理担当 可见它的重要性 需求分析制订好后 需要反复修改 将最后的结果交给用户审定 确认无误后 由系统分析员完成需求分析文档 再 开始下一步工作 概要设计 概要设计紧跟在需求分析之后 用户需求明确后 将得到的数据 分析后 开始构建数据库的逻辑结构 此时 数据库中的表格还未成形 通过各 种分析工具 如 PowerDesigner 等 画出数据流图 最后就可抽象出数据库的具 体表结构 这由系统分析人员反复审核 确认所有的需求都考虑在内 没有遗漏 后 就可以开始制订概要设计文档 概要设计文档形成后 整个程序的逻辑框架 也就形成了 详细设计 概要设计完成后 根据设计中制订的业务模块 就可以进行详细 分析设计了 详细设计就是将各个业务模块的窗口全部建好 各个窗口控件的处 电子科技大学成都学院本科毕业设计论文 4 理代码全部用语言表达出 所以详细设计是整个系统中最繁琐的环节 详细设计 完成后 整个程序就确定了 再由编程人员根据详细设计文档将代码完成 整个 开发工作就宣告结束 2 2 数据库概述 从 20 世纪 50 年代中期开始 计算机的应用由科学研究部门逐步扩展至企业 行政部门 至 60 年代 数据处理成为计算机的主要应用 数据库技术作为数 据管理技术 是计算机软件领域的一个重要分支 产生于 60 年代末 现已形成 相当规模的理论体系和实用技术 2 2 1 数据库的概念 数据库 Database DB 是统一管理的相关数据的集合 本系统采用 SQL Server2000 数据库 2 2 2 数据库管理系统 数据库管理系统 Database Management System DBMS 是位于用户和操作系 统之间的一层数据管理软件 为用户或应用程序提供访问 DB 的方法 包括 DB 的建立 查询 更新及各种数据控制 DBMS 是数据库系统的核心组成部分 对 数据库的一切操作 包括定义 更新及各种控制 都是通过 DBMS 进行的 DBMS 总是基于某种数据模型 可以把 DBMS 看成是某种数据模型在计算机系统 上的具体实现 根据数据模型的不同 DBMS 可以分成层次型 网状型 关系型 面向对象型等 MS SQL Server2000 就是一种关系型数据库管理系统 1 关系模型 关系模型主要是用二维表格结构表达实体集 用外键表示实 体间联系 关系模型是由若干个关系模式组成的集合 关系模式相当于 前面提到的记录类型 它的实例称为关系 每个关系实际上是一张二维 表格 2 关系模型和层次 网状模型的最大区别是用关键码而不是用指针导航数 据 表格简单用户易懂 编程时并不涉及存储结构 访问技术等细节 关系模型是数学化模型 SQL 语言是关系数据库的标准化语言 已得到 了广泛的应用 第 2 章 相关信息简介 5 DBMS 的特点和功能可以分为三个子系统 设计工具子系统 运行子系统和 DBMS 引擎 设计子系统有一个方便数据库及其应用创建的工具集 它包含产生表 窗体 查询和报表的工具 DBMS 产品还提供编程语言和对编程语言的接口 运行子系统处理用设计子系统开发的应用组件 它所包含的运行处理器用来 处理窗体和数据库的数据交互 以及回答查询和打印报表等 DBMS 引擎从其他两个组件接受请求 并把它们翻译成对操作系统的命令 以便读写物理介质上的数据 DBMS 引擎还涉及事务管理 锁 备份和恢复 1 2 2 2 3 数据库技术 数据库技术 是一门研究数据库的结构 存储 管理和使用的软件学科 2 3 SQL 语言介绍 2 3 1 SQL 基础 SQL Structured Query Language 结构查询语言 是一个功能强大的数据库语 言 SQL 通常使用于数据库的通讯 ANSI 美国国家标准学会 声称 SQL 是 关系数据库管理系统的标准语言 SQL 语句通常用于完成一些数据库的操作任务 比如在数据库中更新数据 或者从数据库中检索数据 使用 SQL 的常见关系数据 库管理系统有 Oracle Sybase Microsoft SQL Server Access 等等 虽然绝 大多数的数据库系统使用 SQL 但是它们同样有它们自立另外的专有扩展功能用 于它们的系统 但是 标准的 SQL 命令 比如 Select Insert Update Delete Create 和 Drop 常常被用于完成绝大多数数据库的操作 MS SQL Server 就是用的 Transact SQL 3 2 3 2 SQL 的特点 SQL 语言之所以能够为用户和业界所接受 成为国际标准 是因为它是一个 综合的 通用的 功能极强 同时又简洁易学的语言 其主要特点包括 1 综合统一 电子科技大学成都学院本科毕业设计论文 6 2 高度非过程化 3 面向集合的操作方式 4 以同一种语法结构提供两种使用方式 5 语言简洁 易学易用 3 2 3 3 SQL 语句的分类及基本语法 SQL 语句可以分为 4 大类 数据定义语言 DDL 用于定义数据结构 数据操纵语言 DML 用于检索和修改数据 数据控制语言 DCL 用于规定数据库用户的各种权限 数据库事务处理 事务处理语句用来保证数据库的完整性 SQL 语句基本语法包括如下几点 1 每条 SQL 语句必须以分号结束 2 每条 SQL 语句可以单独写成一行 但为了清楚 也可以分成若干行 3 SQL 语句对大小写不敏感 对于 SQL 语句的关键字 表名 列名等 可 以大小写混合 但对列的内容则是大小敏感的 数据定义语言 数据定义语言用来定义数据的结构 如创建 修改或者删除数据库对象 常 用的数据定义语言有 CREATE ALTER DROP 等 各定义语言的语法结构如下 CREATE TABLE table name Field name data type NOT NULL NULL PRIMARY KEY ALTER TABLE table name ADD COLUMN field name DATATYPE DROP TABLE table name 第 2 章 相关信息简介 7 数据操纵语言 数据操纵语言用于对表的操作 包括 SELECT INSERT UPDATE DELETE 等 各操纵语言的语法结构如下 SELECT select list INTO new table FROM table source WHERE search condition GROUP BY group by expression HAVING search condition ORDER BY order expression ASC DESC INSERT INTO table name VALUES UPDATE table name SET values WHERE search condition 3 2 4 应用程序开发工具 2 4 1 Visual C Microsoft Visual C 是一种编程语言 它是为生成在 NET Framework 上运 行的多种应用程序而设计的 C 简单 功能强大 类型安全 而且是面向对象 的 C 凭借它的许多创新 在保持 C 样式语言的表示形式和优美的同时 实现 了应用程序的快速开发 Visual Studio 支持 Visual C 这是通过功能齐全的代 码编辑器 项目模板 设计器 代码向导 功能强大且易于使用的调试器以及其 他工具实现的 通过 NET Framework 类库 可以访问多种操作系统服务和其他 有用的精心设计的类 这些类可显著加快开发周期 4 2 4 1 1 C 从 JAVA 继承而来的特点 在 C 中类的申明与 Java 很相似 这是合理的因为经验告诉我们 Java 模型工 作得很好 Java 的关键字 import 已经被替换成 using 它起到了同样的作用 一 个类开始执行的起点是静态方法 Main 下面的 Hello World 程序展示了基本的 形式 using System 电子科技大学成都学院本科毕业设计论文 8 class Hello static void Main Console WriteLine Hello world 在这个例子中 System 这个名字指向一个包括了基本 C 实用类集合的命名空 间 namespace 这个命名空间包括了 Console 类 它在这个例子中被用来输出一 个字符串 类可以是抽象的和不可继承的 一个被申明成 abstract 的类不能被实例化 它 只能被用做一个基类 C 关键字 sealed 就像 Java 关键字 final 它申明一个类不 是抽象的 但是它也不能被用做另一个类的基类界面 就像在 Java 中一样 一个 界面是一组方法集合的抽象定义 当一个类或结构体实现一个界面的时候 它必 须实现这个界面中定义的所有方法 一个单一的类可以实现几个界面 也许以后 会出现一些微妙的差别 但是这个特点看起来与 Java 相比没有变化 如 Java 中那样 通过抛出和捕捉异常对象来管理错误处理过程 内存管理 由 底层 NET 框架进行自动内存垃圾回收 4 5 2 4 1 2 C 从 C 和 C 继承而来的特点 程序可以直接编译成标准的二进制可执行形式 但 C 的源程序并不是被编译 成二进制可执行形式 而是一种中间语言 类似于 JAVA 字节码 如果前面的 Hello World 程序被保存成一个文本文件并被命名为 Hello cs 它将被编译成命名 Hello exe 的可执行程序 一个 C 的结构体与 C 的结构体是相似的 因为它能够包含数据声明和方法 但是 不同于 C C 结构体与类是不同的而且不支持继承 但是 与 Java 相 同的是 一个结构体可以实现界面 C 中存在预编译指令支持条件编译 警告 错误报告和编译行控制 没有了 include 伪指令 你无法再用 define 语句对符号赋值 所以就不存在源代码替 换的概念 第 2 章 相关信息简介 9 2 4 1 3 C 独有的特点 C 中可以进行命名空间中的申明 当你创建一个程序的时候 你在一个命名 空间里创建了一个或多个类 同在这个命名空间里 在类的外面 你还有可能声明 界面 枚举类型和结构体 必须使用 using 关键字来引用其他命名空间的内容 C 拥有比 C C 或者 Java 更广泛的数据类型 这些类型是 bool byte ubyte short ushort int uint long ulong float double 和 decimal 像 Java 一样 所有这些类型都有一个固定的大小 又同 C 和 C 一样 每个数据类型都有符号和无符号两种类型 与 Java 相同的是 一个字符变量包含 的是一个 16 位的 Unicode 字符 C 新的数据类型是 decimal 数据类型 对于货币 数据 它能存放 28 位 10 进制数字 C 具有两个基本类 一个名叫 object 的类是所有其他类的基类 而一个名叫 string 的类也像 object 一样是这个语言的一部分 作为语言的一部分存在意味着 编译器有可能使用它 无论何时你在程序中写入一句带引号的字符串 编译器会 创建一个 string 对象来保存它 C 中方法可以被声明接受可变数目的参数 缺省的参数传递方法是对基本数 据类型进行值传递 ref 关键字可以用来强迫一个变量通过引用传递 这使得一 个变量可以接受一个返回值 out 关键字也能声明引用传递过程 与 ref 不同的地 方是 它指明这个参数并不需要初始值 C 对 Windows 程序最大的卖点可能就是它与 COM 的无缝集成了 COM 就 是微软的 Win32 组件技术 实际上 最终有可能在任何 NET 语言里编写 COM 客户和服务器端 C 编写的类可以子类化一个以存在的 COM 组件 生成的类也 能被作为一个 COM 组件使用 然后又能使用 4 5 2 4 2 应用程序开发的基本步骤 我们要开发应用程序时 首先要对它进行分析 无论哪种 哪方面的应用程 序 都要先建立一个应用对象 下面我们介绍应用程序开发的基本步骤 1 首先要建立应用对象 2 创建窗口 在窗口里放置各种控件和编写事件响应的脚本 3 创建菜单 窗口里的菜单可包括菜单条 下拉式菜单 级联菜单和弹出 电子科技大学成都学院本科毕业设计论文 10 式菜单为菜单编写事件响应的脚本 4 创建用户对象 如果想要重复使用某个控件的功能 可以把窗口上经常 放置的控件定义为用户对象 5 创建数据窗口 数据窗口可以检索数据库中的数据 可以建立各种报或 统计表 可以修改数据库 6 创建函数 结构 事件 为了能够更好地支持脚本 编写自定义的函数 定义结构类型变量 也可以为对象和控件定义自己的事件 7 运行与调试 可以在开发环境中随时运行应用程序 发现错误后 可以 用调试工具进行调试 8 当应用程序开发完毕后 可以把它编译成可执行的文件 让用户比较容 易地建立应用系统的运行环境 6 2 5 相关定义 DFD 数据流程图 SQL SERVER 系统服务器所使用的数据库管理系统 DBMS SQL 一种用于访问查询数据库的语言 事务流 数据进入模块后可能有多种路径进行处理 主键 数据库表中的关键域 值互不相同 外键 数据库表中与其它表主键关联的域 1 3 7 第 3 章图书信息系统概要设计 11 第 3 章图书信息系统概要设计 3 1 需求分析 图书管理涉及图书信息 系统用户信息 读者信息 图书借阅等多种数据管 理 从管理的角度可将图书分为三类 图书信息管理 系统用户管理 读者数据 管理 图书信息管理包括图书录入 借还 查询等操作 系统用户管理包括系统 用户类别和用户数据管理 读者数据管理包括读者类别管理和个人数据的录入 修改和删除 图书借阅者的需求是查询图书馆所存的图书 个人借阅情况及个人信息的修 改 管理员对图书借阅者的借阅及还书要求进行操作 同时给借阅者查看确认 图书馆管理人员的功能最为复杂 包括对图书借阅者 图书进行管理和维护 及 系统状态的查看 维护等 图书借阅者可直接查看图书馆图书情况 如果图书借 阅者根据本人借书证号和密码登录系统 还可以进行本人借书情况的查询和维护 部分个人信息 管理员功能的信息量大 数据安全性和保密性要求最高 要能实 现对图书信息 借阅者信息 总体借阅情况信息的管理和统计 用户和管理人员 信息查看及维护 图书馆管理员可以浏览 查询 添加 删除 修改 统计图书 的基本信息 浏览 查询 统计 添加 删除和修改图书借阅者的基本信息 浏 览 查询 统计图书馆的借阅信息 添加 删除和修改借阅信息 删除某条图书 借阅者基本信息记录时 应实现对该图书借阅者借阅记录的级联删除 具体功能 如下 1 借阅者维护借阅者个人部分信息 2 借阅者查看个人借阅情况信息 3 维护借阅者个人密码 4 查询及统计各种信息 5 维护图书信息 6 维护管理员信息 电子科技大学成都学院本科毕业设计论文 12 7 维护借阅者信息 3 2 系统功能设计及目标 对于图书馆主要负责提供的功能是指从图书的购入开始直到该图书过期下架 的整个流通过程 这其中包括图书入库 借出 归还以及对参与此流通过程的读 者的信息管理 图书信息管理 建立图书信息库 以便读者进行查询和借阅 在建立信息库 时可能因操作错误或其它情况而造成数据库里图书信息的错误 需要修改这些错 误 图书因使用过久或在读者借阅书籍时发生遗失的情况下需做遗失处理 这些 都需要修改数据库关于书籍的信息 出版社信息管理 建立出版社信息库 在图书入库的时候及时添加出版社信 息 并按需要随时修改和更新 读者信息管理 读者一般都是在校的学生和教师 可按需要修改数据库关于 读者的信息 借还书管理 图书馆主要的功能就是提供书籍供读者借阅 在借阅图书时应 按图书馆的规则进行借阅 例如如果已有超时借阅的图书 则在归还前不允许再 借阅等等 对于图书遗失或超期归还的情况应根据图书馆的规则进行处罚 规则管理 对于读者借阅书籍的权限 可借阅书籍数目 每人每本书可持有 天数等 应该能加以分类 若有图书遗失或超期未还的情况发生 图书馆都应该 规定处罚的条例 权限管理 另外对于操作此系统的前端工作人员的权限也应该有一定限制 这些都应该只能由系统管理员来进行操作和修改 信息查询 读者在借阅书籍前都需查询图书馆关于所借书籍的大概信息 该 图书是否在馆 是否已借出 在馆中的书架号 除查询书籍外 图书管理员还可 查询关于读者的信息 是否有超期未还的图书 还可借阅书籍数目等 第 3 章图书信息系统概要设计 13 3 3 系统总体架构 3 3 1 模块描述 图书信息管理系统共分为七个模块 客户信息维护模块 图书信息维护 模块 出版社信息管理模块 用户信息管理模块 客户借还书管理模块 综合查询模块 综合设置模块 图书信息系统的功能模块如图 用户系统管理员客户 用 户 信 息 管 理 租 书 还 书 客 户 信 息 维 护 图 书 信 息 维 护 出 版 社 信 息 管 理 客 户 租 还 书 信 息 管 理 综 合 查 询 综 合 设 置 图 3 1 功能模块图 其中 客户租还书管理模块包括以下 3 个子模块 1 租借图书 2 归还图书 图书信息系统 电子科技大学成都学院本科毕业设计论文 14 3 查询租借信息 客户信息维护模块包括以下 5 个子模块 1 增加客户信息 2 删除客户信息 3 修改客户信息 4 查询客户信息 5 遍历客户信息 同理 如图书信息管理 出版社信息管理 用户信息管理模块也被类似地划 分为增加 删除 修改 查询和遍历 5 个模块 3 3 2 系统的总体结构图 图 3 2 系统的总体结构图 综 合 信 息 管 理 系 统 图 书 信 息 系 统 用户信息模块 客户信息模块 图书信息模块 出版社信息模块 客户租还书信息模块 综合查询模块 综合设置模块 第 3 章图书信息系统概要设计 15 3 4 数据库设计 3 4 1 数据库设计简介 数据库设计有几个范式 第一范式 要求数据表中的每一个字段都不可再分 也就是说同一个数据表 中同类字段不允许重复出现 在一个字段内也不允许放置多个数据项 第二范式 要求所有的非主键字段完全依赖于整个主键 而不是只依赖于构 成主键的个别字段 第三范式 要求第一个非主键字段列中没有可传递的依赖性 即一个非主键 列不能依赖于另一个非主键列 一般我们要做到的是第三范式 即数据表中没有冗余字段以及同一个表中的 字段没有函数依赖关系 函数依赖性就是一个表中的字段间不应该有计算关系 如一个表中有单价字段 数量字段 就不应该有一个总金额字段 如果程序运行 过程中需要总金额 可以实时计算 不过在一些较常用的表中 我们可以适当地 保留冗余字段 这样 在程序运行过程中可以减少由于表间互相关联而使用速度 降低等问题 这就是所谓的第四范式 数据表设计时 最好不要使用用户输入的 信息作为主键 每一个数据表自己定义一个主键 添加信息是由程序自动添加 这样就可以减少数据更新时产生的错误 表与表相关联的外键最好是由程序自动 生成的主键 这样数据库就比较规范了 数据库初期设计时一定要谨慎 把所有 可能的情况都考虑进去 即使当时没有用到 也要将它留在数据库中作为备用字 段以便将来扩充 程序一旦开始编码 就应该尽量避免再修改数据库 因为如果数据库结构一 旦改变 所有与修改的数据表相关的业务都有可能受到影响 而某些影响还很难 看到 这样就容易形成一个恶性循环 只要数据库结构改动 相应的模块就一定 要重新修改 否则一定会出问题 1 3 7 3 4 2 数据库设计 数据库平台 Microsoft SQL Server 2000 数据库中各种元素的命名约定 例如表名 字段名的命名约定 电子科技大学成都学院本科毕业设计论文 16 表名命名约定 表名为该表的英文缩写 字段命名约定 字段名为该字段名的英文缩写 按照每个模块要实现的功能 通过其英文简写后 为每张表命名 每张表的 字段名也是通过按其英文简写后命名 数据库的用户创建以及安全性检查在前面 已经说明 包括给用户赋予权限 密码等 设计数据库系统时应该首先充分了解用户各个方面的需求 包括现有的以及 将来可能增加的需求 数据库设计一般包括如下几个步骤 1 数据库需求分析 2 数据库概念结构设计 3 数据库逻辑结构设计 1 3 7 3 4 3 数据库需求分析 用户的需求具体体现在各种信息的提供 保存 更新和查询 这就要求数据 库结构能充分满足各种信息的输出和输入 收集基本数据 数据结构以及数据处 理的流程 组成一份详尽的数据字典 为后而后具体设计打下基础 根据数据流程图 可以列出以下数据项和数据结构 图书信息 包括的数据项有 图书编号 图书书名 图书类别 图书作者 出版社 价格 图书库存数量 现在库存数量等 借阅信息 包括的数据项有 图书编号 客户编号 借阅时间 应归还日期 实际归还日期等 出版社信息 其数据项有 出版社名称 地址 电话 邮件地址等 客户基本信息 其数据项有 客户编号 客户姓名 密码 电话号码 电子 邮 件地址 借书数量等 用户信息 包括的数据项有 用户编号 密码 权限等 3 4 4 数据库概念结构设计 得到上面的数据项和数据结构后 就可以设计出能够满足用户需求的各种实 第 3 章图书信息系统概要设计 17 体 以及它们之间的关系 为后面的逻辑结构设计打下基础 以下分别为系统 E R 图 图书信息实体 E R 图 租借书信息实体 E R 图 客 户信息实体 E R 图 出版社信息实体 E R 图 用户信息实体 E R 图 图 3 3 系统 E R 图 电子科技大学成都学院本科毕业设计论文 18 图书 图书编号 图书作者 出版社 图书定价 图书分类 图书库存数 量 数量 现在库存数 量 数量 出版日期 图书名称 图 3 4 图书信息实体 E R 图 租借书 客户编号 图书编号 应归还日 期 实际归还 日期 租借日期 图 3 5 租借书信息实体 E R 图 第 3 章图书信息系统概要设计 19 出版社 出版社名 称 出版社地 址 电子邮件 出版社电 话 图 3 6 出版社信息实体 E R 图 客户 客户编号 客户姓名 客户密码 借书数量 电子邮件 电话号码 图 3 7 客户信息实体 E R 图 电子科技大学成都学院本科毕业设计论文 20 用户 用户编号用户分类 用户密码 图 3 8 用户信息实体 E R 图 3 4 5 数据库逻辑结构设计 在上面的实体以及实体之间关系的基础上 形成数据库中的表格以及各个表 格之间的关系 图书管理系统数据库中各个表格的设计结果如下面的几个表格所示 每个表 格表示在数据库中的一个表 表 3 1 图书表 Book 编号字段名称数据结构说明备注 1 BookIDChar 10 图书编号主键 2 BookNameVarchar 30 图书名称允许为空 3 BookWriterVarchar 20 图书作者允许为空 4 BookPublishVarchar 50 出版社允许为空 5 BookNameDat e DateTime出版日期允许为空 6 BookPriceFloat图书定价允许为空 7 BookSortVarchar 20 图书分类允许为空 8 BookAmountInt图书库存数量允许为空 9 BookRemainInt现在库存数量 允许为空 第 3 章图书信息系统概要设计 21 表 3 2 租借信息表 BorrowBook 编号字段名称数据结构说明备注 1ReaderIDChar 6 客户编号主键 2BookIDChar 10 图书编号外键 3BorrowBookDateTime租借日期允许为空 4ReturnDateDateTime 应归还日期允许为空 5FactReturnDateDateTime实际归还日期允许为空 表 3 3 出版社表 PublishCompany 编号字段名称数据结构说明备注 1PublishNameVarChar 50 出版社名称主键 2PublishAddressVarchar 50 出版社地址允许为空 3PublishPhoneNumberVarchar 15 出版社电话允许为空 4PublishEmailVarchar 30 电子邮件允许为空 表 3 4 客户表 Reader 编号字段名称数据结构说明备注 1ReaderIDChar 6 客户编号主键 2ReaderNameVarchar 20 客户姓名允许为空 3ReaderPasswordVarchar 10 客户密码允许为空 4ReaderPhoneNumberVarchar 15 电话号码允许为空 5ReaderEmailVarchar 50 电子邮件允许为空 6 ReaderBorrowBooksInt借书数量允许为空 表 3 5 用户表 User 编号字段名称数据结构说明备注 1UserIDChar 10 用户编号主键 2UserPasswordChar 10 用户密码允许为空 3BookSortVarchar 10 用户分类允许为空 电子科技大学成都学院本科毕业设计论文 22 1 规划有效的索引 1 在组合表的列中创建索引 包括主关键字和外部关键字所在的列 2 在列或类组合中创建唯一的索引能增强唯一性 3 浏览索引并卸载不使用的索引 索引需要一定硬盘空间和时间来维护 具有较高数据插入操作频率的数据库最好不要索引 有较高读操作频率的数据库 应该有更多的索引 4 避免在簇索引中包括不必要的列 在可能的情况下 使用较小的数据类 型 例如用 varchar 替代 char 5 考虑使用簇索引来支持排序和范围化查询 在为数据检索优化表时 簇 索引必须支持数据的分组索引 为簇关键字选择列或列组 簇关键字以经常需要 的顺序排序数据或以必须被一起访问的记录而分组记录 6 创建支持一般查询的查找参数索引 具有高选择性的列是索引的最好候 选列 具有高密度的列是索引糟糕的候选列 2 使用约束实现数据的完整性 PRIMARY KEY 约束在表中定义了主关键字 它是行唯一的标识符 它可以 强制实体完整性 在使用 PRIMARY KEY 约束时考虑以下事实 1 每个表只能有一个 PRIMARY KEY 约束 2 键入的值必须是唯一的 3 不允许有空值 4 PRIMARY KEY 约束在指定的列创建唯一的索引 可以指定簇索引和非 簇索引 如果非簇索引先前并不存在 簇索引是默认的 3 UNIQUE 约束指定 在一列中的两行不能有相同的值 该约束使用唯一 的索引来强制实体的完整性 在已有一个主关键字时 UNIQUE 约束很有用 在使 用 UNIQUE 约束时 考虑以下事实 1 允许有空值 2 在一个表中可以设置多个 UNIQUE 约束 3 可以将 UNIQUE 约束运用于具有唯一值的单列或多列 但不能用于表的 第 3 章图书信息系统概要设计 23 主关键字 4 通过在指定的列或列组中创建唯一的索引 可以使 UNIQUE 索引得到强 制 3 10 11 电子科技大学成都学院本科毕业设计论文 24 第 4 章图书信息系统详细设计 4 1 总体处理流程 用户从客户端登录系统 服务器收到登录命令后要在已有的管理员资料数据 表中读出管理员 ID 和密码 并检验该密码和用户输入的密码是否匹配 用户登 录成功后就可以进行各种操作了 正确的填写各个界面的内容后 客户端就会向 服务器发送命令 服务器按照要求对数据库进行处理 写入 读出 修改 然 后返回操作结果或查询的数据 4 2 用户界面设计 当今软件界的所有软件无不是可视化的用户界面 它的好处不外乎它有美观 直接 操作者易懂和操作方便等好处 本系统设计思想 为用户设计 而不是设计者 本系统设计原则 界面美观 操作方便并能高效率地完成工作 界面根据用户需求设计 界面能引导用户操作的功能 并能提供一些帮助功能 4 3 系统窗体模块设计 系统窗体由登陆界面 系统主界面和多个功能模块界面组成 基本上一个模 块完成一个或几个功能 4 3 1 用户登陆模块的实现 用户登陆界面如图 4 1 第 4 章 图书信息系统详细设计 25 图 4 1 用户登陆界面 该模块主要实现系统的登陆 在用户名和密码中输入用户的账号和密码 点击确定 将调用 private void btnOk Click object sender System EventArgs e 系统管理员登陆 if UserCheck this textUserID Text this textUserPassword Text system this Visible false Form mainform new MainForm this textUserID Text system mainform ShowDialog this Close 普通用户登录 else if UserCheck this textUserID Text this textUserPassword Text user this Visible false Form mainform new MainForm this textUserID Text user mainform ShowDialog this Close else 电子科技大学成都学院本科毕业设计论文 26 错误信息提示 if MessageBox Show 输入用户密码有误 是否重新登陆 输入有误 MessageBoxButtons OKCancel MessageBoxIcon Question DialogResult OK this textUserID Clear this textUserPassword Clear else this Close 进行验证 如果用户名或者密码输入不正确即提示 输入用户密码有误 是否重 新登陆 用户名和密码都正确 则进入系统的主界面 登陆模块运行时通过语 句 string fileName config ini try sReader new StreamReader fileName System Text Encoding Default connectionString sReader ReadLine conday Convert ToInt16 sReader ReadLine sum Convert ToInt16 sReader ReadLine day Convert ToInt16 sReader ReadLine rate Convert ToDouble sReader ReadLine catch System Exception error MessageBox Show 错误信息是 error Message 警告 MessageBoxButtons OK MessageBoxIcon Error finally 第 4 章 图书信息系统详细设计 27 if sReader null sReader Close this sqlConnectionLogin new SqlConnection this sqlConnectionLogin ConnectionString connectionString 从 config ini 文件读入数据库连接字符串 续借天数 借书天数 罚款金额 最大 借书数信息 设置为静态变量 为其它窗体使用 为了区分管理员中系统管理员和普通图书管理员的权限 在登陆模块中通过 string UserCheck string username string userpassword string txtSql usersort usersort nobody 在数据库表User中查询合法用户 txtSql SELECT FROM User SqlCommand checkuser new SqlCommand txtSql this sqlConnectionLogin try this sqlConnectionLogin Open SqlDataReader sqlreader checkuser ExecuteReader while sqlreader Read if sqlreader 0 ToString Trim username break catch Exception e MessageBox Show e ToString sqlConnectionLogin Close return usersort 电子科技大学成都学院本科毕业设计论文 28 根据用户名和密码对管理员信息表逐行对比 返回权限说明 并把参数传给主功 能模块 如果是系统管理员权限则管理员信息功能可用 4 3 2 用户主界面的实现 主界面如图 4 2 图 4 2 图书管理系统主界面 在主界面中 通过文件 MainForm cs 中 退出系统模块 private void btnExit Click object sender System EventArgs e 图书信息模块 private void btnBook Click object sender System EventArgs e 用户信息模块 private void btnUser Click object sender System EventArgs e 客户信息模块 private void btnReader Click object sender System EventArgs e 综合查询模块 private void btnQuery Click object sender System EventArgs e 出版社信息模块 private void btnPublishing Click object sender System EventArgs e 第 4 章 图书信息系统详细设计 29 客户租还书模块 private void btnBorrow Click object sender System EventArgs e 综合设置模块 private void btnset Click object sender System EventArgs e 数据导入模块 private void btnexcel Click object sender System EventArgs e 函数来调用所有功能模块 是系统的主要框架 4 3 3 出版社信息模块的实现 出版社信息模块界面如图 4 3 图 4 3 出版社信息界面 电子科技大学成都学院本科毕业设计论文 30 该模块通过文件 PublishConpany cs 中 初始化 SqlConnection DataSet SqlCommand SqlDataAdapter 类的新实例 通过 this sqlConnectionBook ConnectionString Library Login connectionString 获取 用于打开 SQL 数据库的字符串 public Publishing 使用 SqlDataAdapter 的 Fill 方法填充 DataSet 及显示该表 private void ShowGrid 初始化 SqlConnection DataSet SqlCommand SqlDataAdapter 类的新实例 通过 comm Comm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程项目施工技术标准执行方案
- 2025年国际贸易考试试题及答案
- 高压输电线路设计与优化方案
- 2025年铁路连接员专业知识考试试题及答案
- 建筑物外观美化与装饰方案
- 智能化建筑设施设计与安装方案
- 2025年铁路中级工考试试题及答案
- 乡村劳动力迁移与就业支持方案
- 粤教版信息技术第二册下第二章第四节《VB逐帧动画》听评课记录
- 部编版语文八年级上册-单元检测试卷及答案-第一单元听评课记录
- 劳动仲裁员任职培训课件
- 2025年中学生法治素养竞赛题库及答案
- 益阳市融资担保有限责任公司招聘考试真题2024
- 新人教版五年级上册小学数学教学计划+教学进度表
- 痔疮的健康教育课件
- 优甲乐(左甲状腺素钠片)健康教育
- 肝脏弥漫性病变超声诊断与检查规范
- 2025年长沙市中考物理试卷真题(含答案)
- 建筑工地驻场人员管理办法及流程
- 2025年全国工会系统经审业务技能大赛知识总题库(1800题)-中部分
- 心脏骤停的急救及处理
评论
0/150
提交评论