已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书馆管理系统目 录 第一章 绪 论 .101.1 图书管理系统.101.2 数据库应用系统开发简介.101.3 本次系统开发所做工作.101.4 本文所作工作.10第二章 应用系统开发工具VB6.0 .112.1 VB中数据库的基本概念.112.1.1VB关系数据库.112.1.2VB数据访问对象模型.112.1.3VB结构化查询语言SQL .112.1.4VB数据库的分类.112.2数据管理器的使用.122.2.1建立一个数据库.122.2.2添加数据表.122.3数据对象访问技术.122.3.1 ADO编程模型简介.132.3.2 使用ADO控件.13第三章 数据库理论基础.133.1 数据库系统设计及范式分析.143.1.1 数据库系统设计.143.1.2 数据库设计范式分析. 143.1.3本系统的数据库关系.153.2 SQL语言介绍.153.2.1 SQL基础.153.2.2 SQL语句.16第四章 图书管理系统设计分析.164.1 应用需求分析.164.2 系统功能模块划分.174.3 系统数据库设计.174.3.1 概念设计.174.3.2 关系数据库的逻辑设计.184.3.3性能需求分析.19第五章 图书管理系统应用程序设计.195.1 系统窗体模块组成.195.2 数据模块窗体的设置.195.3 启动画面的实现.195.4 用户登录窗体的的实现.205.5 读者服务模块的实现.215.5.1读者登录功能的实现.215.5.2图书查询功能的实现.215.5.3读者借阅情况信息查询功能的实现.215.5.4借阅者个人资料查询和维护功能的实现.215.6工作人员图书借阅/归还模块的实现.215.6.1工作人员登录功能的实现.225.6.2工作人员进行图书借阅功能实现.225.6.3工作人员进行图书归还功能实现.225.7图书馆管理员模块的实现 .225.7.1图书馆管理员登录功能的实现.235.7.2图书馆管理员图书信息管理功能的实现.235.7.3图书馆管理员工作人员和管理员管理功能的实现.235.7.4图书馆管理员修改图书类别的实现.235.7.5图书馆管理员对读者信息管理功能的实现.235.7.6图书馆实现读者类别功能的实现.245.7.7图书馆图书借阅管理.245.7.8图书馆系统管理功能的实现.245.7.9图书馆系统维护功能的实现.24结论.24致谢.25 参考文献.25 附录.25 题目、摘要、关键词(外文).64题目:图书馆管理系统摘要:图书管理系统是典型的信息管理系统(MIS),其开发主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。对于前者要求应用程序功能完备,用户界面友好,易使用等特点。而对于后者则要求建立起数据一致性和完整性强、数据安全性好的库。经过分析,我使用 MICROSOFT公司的 VISUAL BASIC开发工具,因为它的可视化数据管理器,控件以及ADO都使得VB在信息系统开发中具有相当的优势。利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。在图书管理系统的设计与实现过程中,我深深体会到此次毕业设计的重要性它是我在进一步升造学习前的一次重要的练习,更深刻体会到理论联系实践的重要性和必要性。同时,我也感受到Visual Basic 6.0 和ACCESS 7.0 的功能之强大,事件处理的灵活性和高效性。但我掌握和应用的还不是很熟练,应多加实践和练习,在以后的工作中,我将不断的学习和充实自己,力争成为一个高水平的程序员。关键词(中文):数据库,SQL语言,VB6.0, ADO,可视化数据管理器,窗体。第一章 绪 论1.1 图书管理系统图书管理系统是典型的信息管理系统(MIS),其开发主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。对于前者要求应用程序功能完备,用户界面友好,易使用等特点。而对于后者则要求建立起数据一致性和完整性强、数据安全性好的库。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用计算机进行信息管理。他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。这就是管理信息系统的开发的基本环境。因此有必要建立一个好的图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。建立图书管理系统要考虑三方面的需求:管理员,图书馆工作人员和读者。两方面的关系:读者和图书。以保证图书管理系统的安全性,使用权限的有效性,各项操作的正确性。1.2 数据库应用系统开发简介数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库系统的主要组件。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。VB数据库的核心结构是所谓的MicroSoft JET数据库引擎,JET引擎的作用就像是一块面板,在其上可以插入多种ISAM(Indexed Sequential Access Method,即索引顺序存取方 法)数据驱动程序。JET引擎为Access格式数据库提供了直接的内部(build-in)支持,这就是VB对Access数据库具有丰富支持的真正原因。基于这种丰富的支持,我就使用了Microsoft公司的Access作为数据库开发工具。1.3本次系统开发所做工作1) 了解应用开发工具的现状2) 了解VB6.0在数据库编程方面的基础知识。3) 设计数据库;设计界面。4)开发数据库。5)连接数据库和前端应用程序。数据库实现的一些功能有1 多条件的查询、多条记录的检索;2 数据文件某种存储格式导入数据窗体,经过数据完整性校验存入数据库;3 数据和数据说明的醒目显示;4 数据库安全性的设计;5 数据库的设计、数据接口、界面的设计。1.4 本文所作工作第一章绪论对图书管理信息系统,数据库应用系统、开发系统所做工作进行了简要介绍。第二章介绍了VB6.0的数据库编程技术。 第三章介绍了数据库的设计和范式分析,并系统介绍了SQL语言。第四章分析了图书管理系统的应用需求,设计了系统的数据库结构,并根据需求对系统功能进行了划分和细化。第五章根据第四章的设计结果利用Microsoft Access和VB6.0进行了具体的应用程序设计。总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。第二章 应用系统开发工具VB6.0数据库系统是计算机系统的重要组成部分。信息处理系统的大量推广应用,使得数据库应技术成为人们普遍关注的问题。数据库技术所研究的问题是如何科学地组织和存储数据,如何高效地获取和处理数据。数据库管理是VB的一项重要功能,在VB6.0中,不仅引入了功能强大的ADO作为存取数据的新标准,还提供了新的数据环境设计器,使得数据库编程更为灵活,简便。2.1数据库的基本概念2.1.1关系数据库数据库按其结构可分为层次数据库,网状数据库和关系数据库。其中关系数据库是应用最多的一种数据库。VB默认的数据库是Access数据库,可以在VB中直接创建,库文件的扩展名为.MDB。除此之外,VB还可以处理各种外部数据库,例如FoxPro,Dbase,Excel,Paradox等格式的数据库,甚至其他非关系的数据库。无论各种数据库内部格式怎样不同,VB都会自动将其转变为关系结构的数据库。2.1.2数据访问对象模型数据访问接口是一个对象模型,它代表了访问数据的各个方面。在VB6.0中,可用的数据访问接口有3种:ActiveX数据对象(ADO),远程数据对象(RDO)和数据访问对象(DAO)。 为什么在VB中有3种数据访问接口呢?因为数据访问技术总是在不断进步,而这3种接口的每一种都分别代表了该技术的不同发展阶段。最新的是ADO,它是比RDO和DAO更加简单,更加灵活的对象模型。对于新工程,应该使用ADO作为数据访问接口。 ADO是为Microsoft最新和最强大的数据访问范例OLE DB而设计的,是一个便于使用的应用程序层接口。OLE DB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库,电子邮件和文件系统,文本和图形,自定义业务对象等。ADO在关键的Internet方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供高性能的接口。另外,ADO使用了与DAO和RDO相似的约定和特性,简化的语义使它更易于学习。2.1.3结构化查询语言SQLSQL(Structure Query Language结构化查询语言)是一种用于数据查询的编程语言。由于它功能丰富,使用方式灵活,语言简洁易学,在计算机工业界和用户中备受欢迎,现已成为关系数据库语言的国际标准。使用SQL可以完成定义关系模式,录入数据,建立数据库,查询,更新,维护数据库,数据库重构,数据库安全性控制等一系列的操作要求。对于VB中的关系数据库,一旦数据存入数据库以后,就可以用SQL同数据库“对话”。通常,都是由用户用SQL来“发问”,数据库则以符合发问条件的记录来“回答”。查询的语法中通常都包含表名,字段名及一些条件等。2.1.4数据库的分类VB可以访问的数据库有以下3类:(1) Jet数据库:数据库由Jet引擎直接生成和操作,不仅灵活而且速度快,Microsoft Access和VB使用相同的jet数据库引擎。(2) ISAM数据库:索引顺序访问方法(ISAM)数据库。有几种不同的形式,如Dbase,FoxPro,TextFiles和Paradox。在VB中可以生成和操作这些数据库。(3) ODBC数据库:开放数据库连接。这类数据库包括遵守ODBC标准的客户/服务器数据库,如Microsoft SQL Server,Oracle,Sybase等,VB可以使用任何支持ODBC标准的数据库。2.2数据管理器的使用VB提供了一个非常实用的工具程序,即可视化数据管理器(Visual Data Manager),使用它可以方便地建立数据库,数据表和数据查询。可以说,凡是有关VB数据库的操作,都能使用它来完成。由于它使用可视化的操作界面,因此很容易为用户所掌握。2.2.1建立一个数据库1启动一个数据库启动数据管理器有两种方法:(1) 在VB集成环境中启动数据管理器:单击“外接程序”菜单下的“可视化数据管理器”命令,既可打开可视化数据管理器“VisData”窗口。(2) 直接执行VisData程序:可不进入VB环境,直接运行VB安装目录下的VisData.exe程序文件来启动可视化数据管理器。“数据管理器”窗口由菜单栏,工具栏,子窗口区和状态栏组成,启动完成时,其子窗口区为空。2建立Access数据库使用可视化数据管理器建立VB默认数据库Access数据库的步骤如下:(1) 选择“文件”菜单中的“新建”项,在“新建”子菜单中,可以选择新创建的数据库的类型。(2) 选择“Microsoft Access”子菜单中的“Version 7.0 MDB”,打开创建数据库对话框,在对话框中选择保存数据库的路径和库文件名。如本系统中输入数据库文件名为“database”。(3) 单击“保存”按钮后,在VisData多文档窗口中将出现“数据库窗口”和“SQL语句”两个子窗口。在“数据库窗口”中单击“+”号,将列出新建数据库的常用属性。Access数据库的概念与Dbase,FoxBASE数据库的概念不同,.dbf文件本身是二维表格,而.mdb文件是Access数据库文件。一个.mdb文件可包含多个二维关系的数据表,每个数据表不是以文件的方式保存在磁盘上,而是包含在数据库文件中。单击“数据库窗口”右上角的窗口关闭“”钮,可关闭建立和打开的数据库。3打开数据库在“文件”菜单的“打开数据库”的子菜单中选择“Microsoft Access”,将显示“打开Microsoft Access数据库”对话框。在该对话框中选择要打开的.mdb文件,单击“打开”按钮即可打开选定的文件,数据库窗口和SQL语句窗口将显示在VisData窗口中。2.2.2添加数据表利用可视化数据管理器建立数据库后,就可向该数据库中添加数据表。1 建立数据表结构打开已经建立的Access数据库,如“database.mdb”。用鼠标右键单击数据库窗口,在快捷菜单中选择“新建表”,此时将打开“表结构”对话框。在“表结构”对话框中,“表名称”必须输入。可通过“添加字段”和“添加索引”按钮添加字段和索引。2 修改数据表结构用鼠标右键单击欲修改的数据表表名,在快捷菜单中选择“设计”即可。2.3数据对象访问技术在VB6.0中推出的ADO(Active Data Object)是Microsoft公司未来的数据访问策略,将逐步替代DAO和RDO而成为主要的数据访问接口。在VB6.0中,提供了Access/Jet,ODBC,ORACLE以及SQL Server等OLE DB数据源,ADO访问数据是通过OLE DB来实现的,它是连接应用程序和OLE DB数据源之间的一座桥梁,它提供的编程模型可以完成几乎所有的访问和更新数据源的操作。2.3.1 ADO编程模型简介ADO对象模型包括以下一些可编程的对象:1 .连接(Connection)对象“连接”是交换数据所必需的环境,通过“连接”可使应用程序访问数据源。ADO对象模型使用Connection对象使连接概念得以具体化,Connection对象用于指定专门的提供者和任意参数。2.命令(Command)对象“命令”对象描述将对数据源执行的命令。通过已建立的连接发出的“命令”可以某种方式来操作数据源。一般情况下,命令可以在数据源中添加,删除或更新数据,或者在表中以行的格式检索数据。ADO对象模型用Command对象来体现命令概念。使用Command对象可使ADO优化命令的执行。3.记录集(Recordset)对象 “记录集”对象描述来自数据表或命令执行结果的记录集合,其组成为记录(行)。Recordset是在行中检查和修改数据最主要的方法。常用于指定可以检查的行,移动行,指定移动行的顺序,添加,更改或删除行,通过更改行更新数据源等。2.3.2 使用ADO控件 尽管可以在应用程序中直接使用ADO数据对象,但VB提供的ADO Data控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使得可以用最少的代码创建数据库应用程序。1 添加ADO Data控件由于ADO Data控件属于ActiveX控件,每次创建工程前都要先将其添加到工具箱中,以便在工程中使用。在“工程”菜单中选择“部件”菜单项,打开“部件”对话框,找到部件Microsoft ADO Data Control6.0(OLEDB)将其选上,确定即可。2 ADO Data控件的属性ADO Data 控件的大多数属性可以通过“属性页”对话框来进行。3 ADO Data控件对数据的操作ADO Data控件对数据的操作主要是由Recordset对象的属性与方法来实现的。本程序中大量的使用了ADO Data控件第三章 数据库理论基础信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(1) 数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。(2) 概念设计的任务是从DFD出发,绘制出本主题的实体关系图,并列出各个实体与关系的纲要表。(3) 逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。(4) 物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如MS SQL Server,我就是用的中文字段名),实现物理建库,完成数据库物理设计字典。(5) 加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:1 基本表的个数越少越好。2 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。3 字段的个数越少越好。4 所有基本表的设计均应尽量符合第三范式。下面我们着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。3.1 数据库系统设计及范式分析信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。3.1.1 数据库系统设计数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。数据库设计的步骤是:(1) 数据库结构定义:针对选择的DBMS,进行数据库结构定义。(2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。(3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。(4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。(5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成.建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。 确定数据资源的安全保密属性:系统所提供的安全保密功能一般有8个等级(0-7级),4种不同方式(只读、只写、删除、修改)。原则上所有文件都定义为4级,个别优先级特别高的办公室(终端或微机的入网账号)可定义高于4级的级别,反之则定义为低于4的级别。统计文件(表)和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只读方式。 3.1.2 数据库设计范式分析 一个良好的数据指标体系是建立DB的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。 在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:l 在表中的任意一列上,数据项应属于同一个属性。 2 表中所有行都是不相同的,不允许有重复组项出现。3 在表中,行的顺序无关紧要。 4 在表中,列的顺序无关紧要,但不能重复。 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,依此类推。第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。第三范式(third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。3.1.3本系统的数据库关系根据以上数据库系统设计的要求本系统采用如下的数据库关系:用户表(user_ID,mima)读者类别 (种类名称,借书数量,借书期限,有限期限)读者信息(读者姓名,读者编号,性别,读者类别,工作单位,家庭住址,电话号码,登记日期,已借书数量)借阅信息(借阅编号,读者编号,读者姓名,图书编号,书籍名称,出借日期,还书日期)书籍信息(图书编号,书名,类别,作者,出版社,出版日期,登记日期,是否被借出)图书类别(类别名称,类别编号)3.2 SQL语言介绍3.2.1 SQL基础SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。标准的SQL命令,比如Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作。SQL语言有着非常突出的优点,主要是:a. 非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;b. 统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。c. 是所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,所以用SQL编写的程序都是可以移植的。SQL为许多任务提供了命令,其中包括:1 查询数据2 在表中插入、修改和删除记录3 建立、修改和删除数据对象4 控制对数据和数据对象的存取5 保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。3.2.2 SQL语句SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据;DML组可以细分为以下的几个语句:SELECT:用于检索数据;INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据;DELETE:用于从数据库中删除数据。DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象;它是用来创建和修改数据库结构的一种语句,包括 Create、Alter和Drop 语句。下面是DDL命令:CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEXDCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。第四章 图书管理系统设计分析4.1 应用需求分析图书管理系统需要满足来自三方面的需求,这三个方面分别是:图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护。图书借阅者根据本人借书证号可查看图书馆图书情况,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录。图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。设计不同用户的操作权限和登陆方法借阅者查阅图书信息借阅者维护借阅者个人部分信息借阅者查看个人借阅情况信息工作人员完成读者的借书还书请求维护图书信息维护工作人员和管理员信息维护借阅者信息数据备份和恢复4.2 系统功能模块划分针对不同用户把系统分为三部分:给读者提供基本服务,工作人员的基本工作,数据库管理人员的工作针对图书分为:图书类别管理和图书信息管理图书类别管理又分为:添加,修改,删除图书信息管理又分为:添加,修改,删除,查询读者管理分为:读者类别管理和读者信息管理读者类别管理又分为:添加,修改,删除读者信息管理又分为:添加,修改,删除,查询图书借阅管理分为:借书管理和还书管理借书管理又分为:添加借书管理和查询借书管理系统管理分为:添加管理员,更改密码和注销系统维护分为:数据备份,数据压缩,数据恢复,数据清理另外还有关于和帮助4.3 系统数据库设计4.3.1 概念设计在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。(1) 设计局部ER模式实体和属性的定义:用户表(user_ID,mima)读者类别 (种类名称,借书数量,借书期限,有限期限)读者信息(读者姓名,读者编号,性别,读者类别,工作单位,家庭住址,电话号码,登记日期,已借书数量)借阅信息(借阅编号,读者编号,读者姓名,书籍编号,书籍名称,出借日期,还书日期)书籍信息(图书编号,书名,类别,作者,出版社,出版日期,登记日期,是否被借出)图书类别(类别名称,类别编号)ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。联系定义解释如下:a. 一个借阅者只能具有一种身份,而一种身份可被多个借阅者所具有;b. 一本图书只能属于一种图书类别(类别),而一种图书类别可以包含多本图书;c. 一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。(2)设计全局ER模式所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。1)确定公共实体类型为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。2)局部ER模式的合并合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。3)消除冲突冲突分为三类:属性冲突、结构冲突、命名冲突。设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。(3)全局ER模式的优化在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。4.3.2 关系数据库的逻辑设计由于概念设计的结果是ER图,DBMS一般采用关系型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。(1) 导出初始关系模式读者类别 (种类名称,借书数量,借书期限,有限期限)读者信息(读者姓名,读者编号,性别,读者类别,工作单位,家庭住址,电话号码,登记日期,已借书数量)书籍信息(图书编号,书名,类别,作者,出版社,出版日期,登记日期,是否被借出)图书类别(类别名称,类别编号)(2) 产生子模式子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。借阅信息(借阅编号,读者编号,读者姓名,书籍编号,书籍名称,出借日期,还书日期)(3) 根据设计中出现的问题本人在写系统时还加入了一个关系模式:1用户表(user_ID,mima):用于存储图书馆管理员的用户名和密码及权限,以便图书馆管理员进入相应的功能模块时进行验证用户的身份。4.3.3性能需求分析1硬件环境1 处理器:InterCR3002 内存:128MB(建议196MB)3 硬盘空间:20MB2软件环境1 操作系统:Windows98或Windows2000/WindowsNTServer4.02数据库:Microsoft Access2000第五章 图书管理系统应用程序设计5.1 系统窗体模块组成本系统由31个窗体组成,它们分别是:frmsplash(启动界面) load(总登录界面) readerload(读者登录界面) workerload(工作人员登录界面) login(管理员登录界面) main(管理员主界面) main1(工作人员主界面) form2(读者主界面) addbookinfo(添加图书信息) addbookstyle(添加图书类型)addreaderinfo(添加读者信息) adduser(添加管理员)backbook(还书) bookinfo(查询图书信息)borrowbook(借书) findborrowinfo(查询借书信息) modifybookinfo(修改图书信息) modifymima(修改密码)modifyreaderinfo(修改读者信息) modifyreaderstyle(修改读者类型)modifystyle(修改图书类型) reloaddata (数据恢复)savedata(数据备份) yaso(数据压缩)opendir(打开备份路径) clean(数据清理) help(帮助) about(关于)leave(退出)5.2 数据模块窗体的设置在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工件,而且要保证这些数据源的确是相同的也需花一番功夫。那么,能不能将这些数据源集中管理,最好是做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身呢?数据模块(DataModule)是解决这个问题最好的答案。简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可被需要的地方随时引入。在开发这个系统时,使用了一个数据模块 Module1Public book_num As String 记录图书的总量Public username As String 记录登录时的用户名,以便修改密码5.3 启动画面的实现启动画面是为了给用户一个良好的印象,加深软件的亲和力,没有实际的功能,在VB6.0中有现成的启动画面可供采用。具体使用方法是:点击工具栏上的“添加窗体控件”弹出“添加窗体对话框”选择“新建”下的“展示屏幕”点击确定,再在代码窗口添加Load.show及添加一些内容即可5.4 用户登录窗体的的实现登陆窗体共由四个界面组成,窗体load是为三种不同的用户(读者,工作人员,管理员)提供选择以进入不同的用户登录界面。读者的登录界面是readerload;工作人员的登录界面是workload;管理员的登录界面是login。读者在登录是需输入借书证号;工作人员在登录时需输入统一的系统密码;管理员登录时需输入管理员的姓名和个人密码。对于读者和管理员都有输入次数的限制共三次机会。读者的密码认证是通过检查“读者信息表”的“读者编号”字段来实现的。管理员的姓名和密码认证是通过“用户表”的“User_ID”和“mima”字段来实现的。源代码见附录。 5.5 读者服务模块的实现读者服务窗体的功能主要是图书的查询,个人借阅情况查看及个人部分信息的查询及维护。读者主界面: 5.5.1读者登录功能的实现这个功能的实现与工作人员和管理人员登录功能实现的方法大致一样,并且还要简单。是从读者信息表中查到到借阅证号,看与读者输入的是否一致。如果一致,那么读者就可查看自已的借阅情况并维护自己的部分信息。源代码见附录。5.5.2图书查询功能的实现该查询是通过调用bookinfo(图书查询)窗体来实现的。实现的查询功能有多种,如按图书编号,图书名称,图书类别,出版社,作者字段进行查找,还有按多个条件进行逻辑与或是逻辑或的多条件查找。其中实现的方法者差不多。源代码见附录。5.5.3读者借阅情况信息查询功能的实现当借阅者正确登录到系统后,此功能将被激活,使用户能查看到自身的借阅情况。5.5.4借阅者个人资料查询和维护功能的实现此功能实现当前借阅者部份资料的修改,但借书证号和身份类别这样的信息不允许修改,这是图书馆管理员模块的功能。在此界面中点击修改按钮将出现“修改”窗体。源代码见附录。5.6工作人员图书借阅/归还模块的实现5.6.1工作人员登录功能的实现 该功能相当简单,只需在登录窗口中输入系统密码“8888”即可。我这样设计主要是为了方便图书馆工作人员的日常工作。5.6.2工作人员进行图书借阅功能实现 在这个功能中,工作人员先输入所要借阅的图书的图书编号(或图书名,出版社,图书类别,作者)选定所要借阅的图书,点击借阅按钮,出现借书对话框。在借书对话框中输入读者的读者证号(或姓名),然后点击借阅按钮就可进行图书借阅。借阅成功会出现提示框,显示借
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届陕西省重点初中数学高三第一学期期末教学质量检测试题含解析
- 2025届辽宁省铁岭市生物高三上期末经典模拟试题含解析
- 2025届山东省泰安市东平县英语高三第一学期期末质量检测试题含解析
- 重庆市四区联考2025届高二数学第一学期期末质量跟踪监视模拟试题含解析
- 河南省郑州市2025届高二上数学期末学业质量监测模拟试题含解析
- 2025届江苏省张家港市外国语学校生物高三第一学期期末学业质量监测试题含解析
- 广东省东莞外国语学校2025届高二上数学期末质量检测试题含解析
- 2025届福建省龙岩二中英语高三上期末调研模拟试题含解析
- 福建省漳州第八中学2025届生物高一上期末学业水平测试模拟试题含解析
- 2025届天津市和平区名校高一生物第一学期期末质量跟踪监视试题含解析
- 6.2 交友的智慧(课 件)-2024-2025学年统编版道德与法治七年级上册
- 清华大学中学生标准学术能力诊断性测试2025届英语高三上期末监测试题含解析
- 2023年河北张家口银行股份有限公司招聘微贷业务信贷经理考试真题
- 团队协作课件教学课件
- 11《宇宙生命之谜》第二课时 教学设计-2024-2025学年语文六年级上册统编版
- 2024年全国职业院校技能大赛高职组(环境检测与监测赛项)考试题库(含答案)
- 国开2024年秋季《形势与政策》专题测验1-5答案
- 2024年高考英语时事热点:航天主题(附答案解析)
- 2024-2030年工业自动化行业市场发展分析及发展前景与投资机会研究报告
- 国外工程项目合同范本
- JT∕T 937-2014 在用汽车喷烤漆房安全评价规范
评论
0/150
提交评论