数据库应用案例分析课件_第1页
数据库应用案例分析课件_第2页
数据库应用案例分析课件_第3页
数据库应用案例分析课件_第4页
数据库应用案例分析课件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

数据库应用案例分析第8章

图书馆管理信息系统学习目的与要求随着图书馆管理要求的不断提高,传统的图书管理已不再适用。因而现代图书馆的管理基本上都采用了计算机软件进行辅助管理,可大大提高效率。本章将以图书管理信息系统案例为主线,介绍如何结合VisualBasic和Access数据库开发数据库应用系统,并讲解典型图书管理信息系统的设计与实现。在该系统中,把前面几章学习过的数据库基础知识进行了综合应用。2第8章

图书馆管理信息系统学习目的与要求28.1

VisualBasic对数据库开发的支持在VisualBasic开发环境中,提供了3种数据访问方式:数据访问对象(DAO)、远程数据对象(RDO)和ActiveX数据对象(ADO)。1.DAO(DataAccessObjects)DAO最适用于单系统应用程序或在小范围本地分布使用。其内部已经对Jet数据库的访问进行了加速优化,而且它使用起来也比较方便。2.RDO(RemoteDataObjects)远程数据对象是位于ODBCAPI之上的一个对象模型薄层,它依赖ODBCAPI、选定的ODBC驱动程序以及后端数据库引擎实现大部分的智能和功能,因此短小、快速、强健。3.ADO(ActiveXDataObject)ActiveX数据对象是基于全新的OLEDB技术,OLEDB可对电子邮件、文本文件、复合文件、数据表等各种各样的数据通过统一的接口进行存取。38.1

VisualBasic对数据库开发的支持在Vi8.1.1

ADO的编程过程ADO所提供的类和对象可以完成以下动作。(1)连接(Connection)数据源,并可选择开始一个事务。(2)可选择创建表示SQL查询命令(Command)的对象。(3)可选择在SQL命令中将值作为变量参数。(4)执行命令(Command、Connection或Recordset)。(5)如果命令以行返回,将行存储在存储对象中。(6)可选择对数据进行定位、检查、操作和编辑。(7)适当情况下,可以使用存储对象中的变更对数据源进行更新。(8)可选择在事务处理中嵌入更新数据。(9)在使用事务之后,可以接受或拒绝在完成事务之前所做的更改。(10)结束事务(Connection)。48.1.1

ADO的编程过程ADO所提供的类和对象可以完8.1.2

ADO的对象模型ADO对象模型定义了一个可编程的分层对象集合,大体上可分为7个层次。其中由3个对象成员Connection(连接)、Command(命令)和Recordset(记录集),以及几个集合对象Errors(错误)、Parameters(参数)和Fields(字段)等所组成。1.Connection对象Connection对象是交换数据所必需的环境,通过Connection对象可使应用程序访问数据源。Connection对象代表与数据源进行的惟一会话。如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。2.Command对象使用Command对象可以查询数据库并返回Recordset对象中的记录,以便执行大量操作或处理数据库结构。该对象的功能取决于其提供者的功能。3.Recordset对象Recordset对象表示的是来自基本表或命令执行结果的记录集合,它可以操纵来自提供者的数据。在使用ADO时,通过Recordset对象几乎可对所有数据进行操作。而所有Recordset对象均使用记录(行)和字段(列)进行构造。4.Error集合该对象包含与单个操作有关的数据访问错误的详细信息。任何涉及ADO对象的操作都可能产生一个或多个提供者的错误。5.Parameter集合Command对象具有由Parameter对象组成的Parameters集合。6.Field集合Recordset对象含有由Field对象组成的Fields集合。每个Field对象对应于Recordset中的一列。7.Property(属性)ADO对象有两种类型的属性:内置属性和动态属性。58.1.2

ADO的对象模型ADO对象模型定义了一个可编8.1.3

ADO数据控件ADO数据控件是ActiveX外部控件,它使用MicrosoftActiveX数据对象(ADO)来快速建立数据绑定控件和数据源之间的连接。1.添加ADO数据控件2.ADO数据控件的属性1)ConnectionString属性ADO控件使用ConnectionString属性与数据库建立连接。2)RecordSource属性RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中的单个表名、一个用于查询的存储,也可以是使用SQL查询语言的一个查询字符串3)ConnectionTimeout属性该属性用于数据连接的超时设置,若在指定时间内连接不成功则显示超时信息。时间单位为秒。4)MaxRecords属性定义从一个查询中最多能返回的记录数。如果设置为0,则表示没有限制最多返回的记录数。5)BOFAction该属性用于设置当ADO数据控件将当前记录指针移动到BOF时,ADO数据控件采取的操作。6)EOFAction该属性用于设置当ADO数据控件将当前记录指针移动到EOF时,ADO数据控件采取的操作。7)Caption属性设置显示在ADO控件上的内容。68.1.3

ADO数据控件ADO数据控件是ActiveX8.1.3

ADO数据控件3.ADO数据控件的方法数据控件的内置功能很多,可在代码中用数据控件的方法访问数据控件属性。1)Refresh方法2)UpdateControls方法3)AddNew方法4)Move方法组5)UpdateBatch6)CancelUpdate方法78.1.3

ADO数据控件3.ADO数据控件的方法78.1.4

数据绑定控件数据邦定控件是用于显示ADO控件的记录集中字段的值的控件,并且可以通过邦定控件接受经过编辑或添加的记录。1.绑定控件的分类VisualBasic6.0版本中提供了许多绑定控件。这些绑定控件总体上可分为两大类。1)内部控件总共有7个,分别是:TextBox(文本框)、Label(标签)、Image(图像框)、PictureBox(图片框)、ListBox(列表框)、ComboBox(组合框)、CheckBox(复选框)。2)外部控件RichText控件:用于格式文本的输入和处理。MSChart控件:将数据图形化显示。MaskedEdit控件:提供受限制的数据输入和格式化输出。DataCombo控件:是一个数据绑定组合框,它自动地由一个附加数据源中的一个字段充填;并且可选择地更新另一个数据源的一个相关表中的一个字段。DataList控件:是一个数据绑定列表框,功能与DataCombo控件相同。DataGrid控件:用于显示并允许对Recordset对象中代表记录和字段的一系列行和列进行数据操纵。DataRepeater控件:该控件的功能是作为数据绑定用户控件的可滚动的容器。每一个控件都作为“重复的”控件出现在自己所在的行里,使用户能够一次浏览多个数据绑定用户控件。HierarchicalFlexGrid控件:用于对表格数据进行显示和操作。在对包含字符串和图片的表格进行分类、合并以及格式化时,具有完全的灵活性。88.1.4

数据绑定控件数据邦定控件是用于显示ADO控件8.1.4

数据绑定控件2.绑定控件的两个属性以上绑定控件均有两个相同的属性:DataSource属性和DataField属性。可以通过设置控件的这两个属性来使它成为ADO数据控件的数据绑定控件。1)DataSource属性该属性用来指定要与控件绑定的Data控件。在【属性】对话框中选中该属性,然后单击其右边的向下箭头按钮,可在下拉列表框中选择当前可用的Data控件。2)DataField属性该属性用来设置控件对应的数据库字段。在设置了DataSource属性后,DataField属性的下拉列表框中将列出可用的字段。98.1.4

数据绑定控件2.绑定控件的两个属性98.2

概述图8.9所示的是一个典型的图书管理信息系统的界面。图书管理信息系统的主要功能包括:图书库存管理、管理员信息管理、借阅卡管理、图书借阅管理和图书返还管理。图书库存管理:是这个管理信息系统的核心部分,它必须提供添加、修改、查询和删除图书等操作的功能。管理员信息管理:每个管理员只有凭分配的ID和密码才能登录图书管理信息系统,以避免非法使用该管理信息系统。此外,还能增加和删除管理员和更改管理员的信息。借阅卡管理:包括新增、删除、修改和查询借阅卡信息等功能。图书借阅管理:通过该功能把读者和其借阅的书籍的信息保存下来。图书返还管理:通过该功能可以记录读者还书的情况,并查询该读者所借图书是否过期。108.2

概述图8.9所示的是一个典型的图书管理信8.3

需求分析需求分析是数据库系统开发的第一步,也是最重要的一步。首先要通过对客户调研来获取需求,通过理解后严格定义该系统的需求规格说明书。本节中将需求分析分为两个步骤来讲解,分别是理解需求和分析需求。118.3

需求分析需求分析是数据库系统开发的第一步,8.3.1

理解需求理解需求是设计图书管理信息系统的前提,开发人员只有在同用户充分的沟通,并理解了用户的真正需求才能开始设计系统。由于业务的需要和保密性,也为了便于管理,管理员用户应该具有不同的等级,即不同的权限。按等级分为两个,超级管理员用户和一般管理员用户。超级管理员用户可以查询、添加、修改和删除一般管理员的记录,而一般管理员用户只能查询。通过该系统可以建立读者的信息,主要为借阅卡号、姓名、性别、年龄和系别等信息。一般管理员可以新增、修改读者信息和注销借阅卡。通过该系统一般管理员可以对拥有借阅卡的用户办理借书、还书业务。通过该系统一般管理员可以统计所有借出的图书的信息。该系统中,一般管理员可以修改图书信息,新增和删除图书和图书种类。通过该系统一般管理员可以为用户查询其所需借的图书的在库信息。系统可以运行在Windows平台上,系统还应该有一个较好的图形用户界面。系统应该有很好的可扩展性。128.3.1

理解需求理解需求是设计图书管理信息系统的前提8.3.2

分析需求需求分析就是描述系统的需求,通过定义系统中的关键类域来建立模型。分析的根本目的是在开发者和提出需求的用户之间建立一种理解和沟通的机制。需求分析的第一步描述图书管理信息系统的功能,即定义用例,以此确定系统的功能需求。图书管理信息系统的用例分析主要找出系统中所有的用例,以及对用例进行说明。在开发人员和用户进行讨论后,可确定图书管理信息系统的用例包括:管理员信息管理;图书库存信息管理;借阅卡信息管理;图书借阅管理;图书返还管理。图书管理信息系统中可以把模块分为3个功能集合。(1)基本信息管理功能集合。(2)借还管理功能集合。(3)用户管理及权限功能集合。138.3.2

分析需求需求分析就是描述系统的需求,通过定义8.4

UML系统建模需求分析完成后,就可以对图书管理信息系统进行UML建模了。下面讲解图书管理信息系统的UML建模过程。这部分的内容主要包括系统的用例分析、系统的类域分析和系统的设计。148.4

UML系统建模需求分析完成后,就可以对图书管理信8.4.1

图书馆管理信息系统的用例分析使用RationalRose软件进行UML建模,其用例图如图8.12所示。该用例图标记了所有的用例,从中可以得知,图书管理信息系统的角色可以划分为两类。一般管理员:可操作除管理员信息管理外所有的用例。超级管理员:可操作所有的用例。158.4.1

图书馆管理信息系统的用例分析使用Ration8.4.2

图书馆管理信息系统的域类分析域类分析的主要目的是确定系统中所用到的类以及这些类之间的关系,并得到类图。由于域类分析是建立在用例分析基础上的,因此需要根据上一节中的用例来确定图书管理信息系统中所要用到的类及其关系,从而得到类图,如图8.13所示。168.4.2

图书馆管理信息系统的域类分析域类分析的主要目8.4.3

图书馆管理信息系统的设计使用UML对系统的动态方面建模分5个部分:用例图,活动图、状态图、时序图和协作图。这里我们需要使用状态图来描述对象的状态,以显示对象的生命周期。在图书管理信息系统中,状态图的类有借还信息(Borrow)和借阅卡信息(Reader)。这里把两个状态图结合在一起,如图8.14所示。借书管理的时序图,如图8.15所示。178.4.3

图书馆管理信息系统的设计使用UML对系统的动8.5

系统配置一个好的数据库系统必须有一个相对最优的系统配置方案才能发挥这个数据库系统的效率。系统配置主要依据是系统的吞吐量和系统对稳定性的要求。此外,还需要考虑到用户的维护水平和经济实力也是一个比较重要的方面。188.5

系统配置一个好的数据库系统必须有一个相对最8.5.1

软件配置软件配置主要包括数据库的选择和操作系统的选择。1.数据库选择2.操作系统选择198.5.1

软件配置软件配置主要包括数据库的选择和操作系8.5.2

硬件配置图书管理信息系统的硬件配置同样需要根据用户对系统的稳定性要求、系统的容量、系统的吞吐量以及用户的维护水平来确定,如表8.4所示。用

户每秒数据库并发数据访问的记录数稳定性

要求维护

水平备选服务器中小学图书馆2~50低

差PentiumⅢ/256MB/20GB个人计算机高中/专科院校图书馆50~200中

一般XEON双CPU/1GB/RAID53×72GB综合性大学图书馆200~1000较高

较好XEON双CPU/1GB/RAID56×72GB国家级图书馆1000以上高

好计算机集群/双机热备208.5.2

硬件配置图书管理信息系统的硬件配置同样需要根8.5.3

网络配置该系统需要有能够支持TCP/IP相关协议的局域网。可以根据用户情况选择不同的网络配置,如表8.5所示。用

户每秒数据库并发数据访问的记录数稳定性

要求维护

水平备选网络方案中小学图书馆2~50低

差单机模式高中/专科院校图书馆50~200中

一般百兆模式综合性大学图书馆200~1000较高

较好百兆模式国家级图书馆1000以上高

好千兆模式218.5.3

网络配置该系统需要有能够支持TCP/IP相关8.6

数据库分析在UML建模工作完成后,可以说该系统的需求分析阶段已经完成。下面我们需要对数据库进行分析。数据库分析是数据库设计过程中一个重要环节,它具体可分为两部分:概念结构设计和逻辑结构设计,也可以称为E-R图分析和表与字段的分析。228.6

数据库分析在UML建模工作完成后,可以说该系统的8.6.1

E-R图分析通过对前面建模的结果进行分析,并设计其局部的E-R图,对局部的E-R图进行消除冲和冗余,并集成为一个基本的E-R图,如图8.17所示。238.6.1

E-R图分析通过对前面建模的结果进行分析,并8.6.2

表与字段分析和数据库建模表与字段分析,即逻辑结构设计。它的目标是在E-R图的基础上,确定系统所需要的表以及表中的字段,并给表和字段命名。同时还要确定每个字段的数据类型,将E-R图转换成具体数据库可使用的数据模型。如图8.18所示,带下划线且属性前标志为PK的为主键,其属性前标志为FK的为外键,黑体的表示不能为空。248.6.2

表与字段分析和数据库建模表与字段分析,即逻辑8.7

数据库设计8.7.1创建数据库创建数据库的步骤比较简单,其步骤如下:(1)选择【开始】|【程序】|

MicrosoftOffice

|

MicrosoftAccess命令,即可打开Access软件。(2)打开MicrosoftAccess后,选择菜单【文件】|【新建】命令,即可新建一个空数据库文件,将新建的空数据库保存为library.mdb。258.7

数据库设计8.7.1创建数据库258.7.2

创建表1.管理员信息表2.图书类别信息表3.图书信息表4.借阅卡信息表5.借还记录表6.读者类别表7.系别信息表268.7.2

创建表1.管理员信息表268.7.3

设定表关系当表创建好以后,它们之间并没有设定关系。在Access中可以设定表之间的关系。选择【工具】|【关系】命令,可以打开如图8.21所示的界面。选择【关系】|【显示表】命令,将弹出如图8.22所示的对话框。选择除Librarian外所有的表,单击【添加】按钮,将把表添加到编辑关系的面板中。编辑关系时,使用鼠标将一个表中的字段拖动到另一表就可以为两个表建立外键关系。添加表的关系如图8.23所示。278.7.3

设定表关系当表创建好以后,它们之间并没有设定8.8

创建数据源在使用数据库library.mdb之前,必须在Windows的ODBC数据源管理器中注册该数据库,具体步骤如下:(1)依次单击或选择【开始】|【设置】|【控制面板】|【管理工具】|【数据源(ODBC)】,打开系统提供的ODBC数据源管理器,如图8.24所示。(2)单击【用户DSN】选项卡中的【添加】按钮,在弹出的创建新数据源的对话框中选择DriverdoMicrosoftAccess(*.mdb)并单击完成。(3)系统会弹出如图8.25所示的ODBCMicrosoftAccess安装对话框。单击【选择】按钮,找到library.mdb所在的目录,选择该文件并确定。所选择的文件会在【数据库】文本后显示。(4)在【数据源名】文本框中输入library,单击【确定】按钮。这时在图8.25所示的“系统数据源”选项组中出现了library的数据源。至此,数据源的创建完成。288.8

创建数据源在使用数据库library.mdb之前,8.9

设计工程框架在数据库分析和设计的工作完成后,以下的工作就是具体的编写代码实现。从本节开始设计工程的框架和各个模块,并使用VisualBasic6.0创建工程实现各个模块的功能。298.9

设计工程框架在数据库分析和设计的工作完成后,以下8.9.1

创建工程项目实现具体的功能之前,首先要使用VisualBasic6.0创建图书管理系统的工程,该工程的文件名为LibManage.vbp,以下为创建工程的步骤:(1)运行VisualBasic6.0软件,在新建工程的工程模板中选择【标准EXE】。(2)单击【打开】按钮,主窗口中会出现一个默认的窗体Form1。(3)选择菜单【工程】|【工程1属性】命令,弹出【工程属性】对话框,将该对话框中的工程名称下面的文本改为LibManage,即将该工程的名称更改为LibManage。(4)单击【确定】按钮,然后选择【文件】|【保存工程】命令,将工程保存为LibManage.vbp。默认的窗体Form1保存为FrmLogin.frm。308.9.1

创建工程项目实现具体的功能之前,首先要使用V8.9.2

添加模块这里模块指的是标准模块(Module)。在VisualBasic6.0中,标准模块(文件扩展名为.BAS)是应用程序内其他模块访问的过程和声明的容器。它们可以包含变量、常量、类型、外部过程和全局过程的全局声明或模块级声明。选择【工程】|【添加模块】命令,为项目添加一个模块。在属性框中将该模块的名称更改为mdlMain,并保存为mdlMain.bas。该模块中定义了一个全局常量ConnectionString,用于保存连接数据源的配置信息。其中,DSN指定为前面所创建的用户数据源library。UID用于指定用户名,PWD用于指定用户的密码。用户名和密码必须和创建数据源时使用的用户名和密码一致。318.9.2

添加模块这里模块指的是标准模块(Module8.9.3

添加类模块选择菜单【工程】|【添加类模块】命令,在弹出的对话框中选择类模块即可为项目添加一个空的类模块。1.DbConnection类模块DbConnection类模块主要用来完成对数据库的连接和数据库表的相关操作的功能。2.clsCombo类模块定义GetComboList方法。该方法包含两个参数:第一个是指定添加内容的组合框;第二个参数是一条查询语句。通过执行该查询语句获得组合框控件中所需的数据。328.9.3

添加类模块选择菜单【工程】|【添加类模块】命8.10

界面设计及其代码分析图书管理信息系统的界面主要由如下几个部分组成:系统主界面管理员登录界面管理员管理界面借阅卡信息管理界面图书信息管理界面借/还书管理界面338.10

界面设计及其代码分析图书管理信息系统的界面主要8.10.1

管理员登录界面及系统主界面设计

系统的主界面用于加载各个模块的界面,一般而言都把该界面设计为多文档界面(MDI),用户可以通过主界面的菜单来调用不同的管理界面。通过选择【工程】|【添加MDI窗体】命令,即可添加。管理员登录界面使用创建工程时默认的窗体Form1。把窗体的名称设为FrmLogin,并保存为FrmLogin.frm。在该窗体上添加控件并作相应的设置,如图8.26所示。 348.10.1

管理员登录界面及系统主界面设计 系统的主界8.10.2

管理员信息模块设计选择【工程】|【添加窗体】命令,给工程中添加一个新窗体,并给该窗体添加控件,做相应的设置,如图8.27所示。其中Adodc控件命名为AdodcAdmin,并设置该控件的Visible属性值为False,ConnectionString属性值为Provider=MSDASQL.1;PersistSecurityInfo=False;DataSource=library和RecordSource属性值为select*fromLibrarian。管理员列表里是一个DataGrid控件DataGrid1,并设置其DataSource属性值为AdodcAdmin,这样就将DataGrid1绑定到AdodcAdmin控件上了。358.10.2

管理员信息模块设计选择【工程】|【添加窗体8.10.3

借阅卡管理模块设计借阅卡管理即读者信息的管理,该模块分为3个模块:办理借阅卡、注销借阅卡和借阅卡信息管理,分别对应主界面菜单的3个子菜单。其中借阅卡信息管理包括对借阅卡的查询和编辑,其界面如图8.28所示。选择菜单中的【办理借阅卡】命令,会出现如图8.29所示的对话框。选择菜单中的【注销借阅卡】命令,可以看到如图8.30所示的【注销借阅卡管理】对话框。首先单击【查找】按钮,在数据库中查找该借阅卡是否存在,然后再进行注销。单击【注销】按钮即可把查询到的借阅卡信息从数据库中删除,如果这个借阅卡还有书未还,将会被拒绝注销。368.10.3

借阅卡管理模块设计借阅卡管理即读者信息的管8.10.4

借/还书业务模块设计借书/还书业务是图书管理信息系统的主要功能。借书管理的对话框如图8.31所示。在借书时,首先要验证借阅卡是有效的借阅卡,然后才可以允许借书。因此当单击【确定】按钮检索借阅卡的信息时,需要对借阅卡进行检验。当单击【查询】按钮查询图书时,需要判断该编号的书是否存在,或者是否已借出。如果借阅卡验证可以借书,且图书在库,则单击【借阅】按钮可以实现借书功能。还书时,首先单击【查询】按钮,查询借阅的记录;然后单击【还书提交】按钮,通过更新还书日期来消除借书记录。此外,在还书时还需要取消因借书达到上限所设置的状态(sState)标志。还书的对话框如图8.32所示。378.10.4

借/还书业务模块设计借书/还书业务是图书管8.10.5

库存管理模块设计图书库存管理的窗体如图8.33所示。该对话框包含了图书的添加、编辑和删除功能。单击【添加】按钮,弹出如图8.34所示的添加图书种类窗口。在该对话框中,可以添加新的图书信息。单击【提交】按钮,可触发cmdPost_Click事件。388.10.5

库存管理模块设计图书库存管理的窗体如图8.8.11

实例演示选择【工程】|【LibManage属性】命令,出现如图8.35所示的对话框。在“启动对象”下的下拉列表框中选择SubMain,这表示设置系统从模块mdlMain中定义的Main过程作为开始运行的过程。然后按F5键或选择【运行】|【启动】命令,系统经过编译后开始运行,出现登录界面,如图8.36所示。输入用户名和密码,单击【确认】按钮,如果身份验证通过则可进入到系统主界面。如图8.37所示。选择【库存管理】|【图书信息】命令,进入图书信息对话框,如图8.38所示。398.11

实例演示选择【工程】|【LibManag本章小结本章主要包括以下内容:VisualBasic对数据库开发的支持。图书管理信息系统的需求分析。图书管理信息系统的UML建模。图书管理信息系统的系统配置。图书管理信息系统的数据库分析和设计。图书管理信息系统的数据库连接。图书管理信息系统的界面设计和代码分析。图书管理信息系统的演示示例。40本章小结本章主要包括以下内容:40数据库应用案例分析第8章

图书馆管理信息系统学习目的与要求随着图书馆管理要求的不断提高,传统的图书管理已不再适用。因而现代图书馆的管理基本上都采用了计算机软件进行辅助管理,可大大提高效率。本章将以图书管理信息系统案例为主线,介绍如何结合VisualBasic和Access数据库开发数据库应用系统,并讲解典型图书管理信息系统的设计与实现。在该系统中,把前面几章学习过的数据库基础知识进行了综合应用。42第8章

图书馆管理信息系统学习目的与要求28.1

VisualBasic对数据库开发的支持在VisualBasic开发环境中,提供了3种数据访问方式:数据访问对象(DAO)、远程数据对象(RDO)和ActiveX数据对象(ADO)。1.DAO(DataAccessObjects)DAO最适用于单系统应用程序或在小范围本地分布使用。其内部已经对Jet数据库的访问进行了加速优化,而且它使用起来也比较方便。2.RDO(RemoteDataObjects)远程数据对象是位于ODBCAPI之上的一个对象模型薄层,它依赖ODBCAPI、选定的ODBC驱动程序以及后端数据库引擎实现大部分的智能和功能,因此短小、快速、强健。3.ADO(ActiveXDataObject)ActiveX数据对象是基于全新的OLEDB技术,OLEDB可对电子邮件、文本文件、复合文件、数据表等各种各样的数据通过统一的接口进行存取。438.1

VisualBasic对数据库开发的支持在Vi8.1.1

ADO的编程过程ADO所提供的类和对象可以完成以下动作。(1)连接(Connection)数据源,并可选择开始一个事务。(2)可选择创建表示SQL查询命令(Command)的对象。(3)可选择在SQL命令中将值作为变量参数。(4)执行命令(Command、Connection或Recordset)。(5)如果命令以行返回,将行存储在存储对象中。(6)可选择对数据进行定位、检查、操作和编辑。(7)适当情况下,可以使用存储对象中的变更对数据源进行更新。(8)可选择在事务处理中嵌入更新数据。(9)在使用事务之后,可以接受或拒绝在完成事务之前所做的更改。(10)结束事务(Connection)。448.1.1

ADO的编程过程ADO所提供的类和对象可以完8.1.2

ADO的对象模型ADO对象模型定义了一个可编程的分层对象集合,大体上可分为7个层次。其中由3个对象成员Connection(连接)、Command(命令)和Recordset(记录集),以及几个集合对象Errors(错误)、Parameters(参数)和Fields(字段)等所组成。1.Connection对象Connection对象是交换数据所必需的环境,通过Connection对象可使应用程序访问数据源。Connection对象代表与数据源进行的惟一会话。如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。2.Command对象使用Command对象可以查询数据库并返回Recordset对象中的记录,以便执行大量操作或处理数据库结构。该对象的功能取决于其提供者的功能。3.Recordset对象Recordset对象表示的是来自基本表或命令执行结果的记录集合,它可以操纵来自提供者的数据。在使用ADO时,通过Recordset对象几乎可对所有数据进行操作。而所有Recordset对象均使用记录(行)和字段(列)进行构造。4.Error集合该对象包含与单个操作有关的数据访问错误的详细信息。任何涉及ADO对象的操作都可能产生一个或多个提供者的错误。5.Parameter集合Command对象具有由Parameter对象组成的Parameters集合。6.Field集合Recordset对象含有由Field对象组成的Fields集合。每个Field对象对应于Recordset中的一列。7.Property(属性)ADO对象有两种类型的属性:内置属性和动态属性。458.1.2

ADO的对象模型ADO对象模型定义了一个可编8.1.3

ADO数据控件ADO数据控件是ActiveX外部控件,它使用MicrosoftActiveX数据对象(ADO)来快速建立数据绑定控件和数据源之间的连接。1.添加ADO数据控件2.ADO数据控件的属性1)ConnectionString属性ADO控件使用ConnectionString属性与数据库建立连接。2)RecordSource属性RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中的单个表名、一个用于查询的存储,也可以是使用SQL查询语言的一个查询字符串3)ConnectionTimeout属性该属性用于数据连接的超时设置,若在指定时间内连接不成功则显示超时信息。时间单位为秒。4)MaxRecords属性定义从一个查询中最多能返回的记录数。如果设置为0,则表示没有限制最多返回的记录数。5)BOFAction该属性用于设置当ADO数据控件将当前记录指针移动到BOF时,ADO数据控件采取的操作。6)EOFAction该属性用于设置当ADO数据控件将当前记录指针移动到EOF时,ADO数据控件采取的操作。7)Caption属性设置显示在ADO控件上的内容。468.1.3

ADO数据控件ADO数据控件是ActiveX8.1.3

ADO数据控件3.ADO数据控件的方法数据控件的内置功能很多,可在代码中用数据控件的方法访问数据控件属性。1)Refresh方法2)UpdateControls方法3)AddNew方法4)Move方法组5)UpdateBatch6)CancelUpdate方法478.1.3

ADO数据控件3.ADO数据控件的方法78.1.4

数据绑定控件数据邦定控件是用于显示ADO控件的记录集中字段的值的控件,并且可以通过邦定控件接受经过编辑或添加的记录。1.绑定控件的分类VisualBasic6.0版本中提供了许多绑定控件。这些绑定控件总体上可分为两大类。1)内部控件总共有7个,分别是:TextBox(文本框)、Label(标签)、Image(图像框)、PictureBox(图片框)、ListBox(列表框)、ComboBox(组合框)、CheckBox(复选框)。2)外部控件RichText控件:用于格式文本的输入和处理。MSChart控件:将数据图形化显示。MaskedEdit控件:提供受限制的数据输入和格式化输出。DataCombo控件:是一个数据绑定组合框,它自动地由一个附加数据源中的一个字段充填;并且可选择地更新另一个数据源的一个相关表中的一个字段。DataList控件:是一个数据绑定列表框,功能与DataCombo控件相同。DataGrid控件:用于显示并允许对Recordset对象中代表记录和字段的一系列行和列进行数据操纵。DataRepeater控件:该控件的功能是作为数据绑定用户控件的可滚动的容器。每一个控件都作为“重复的”控件出现在自己所在的行里,使用户能够一次浏览多个数据绑定用户控件。HierarchicalFlexGrid控件:用于对表格数据进行显示和操作。在对包含字符串和图片的表格进行分类、合并以及格式化时,具有完全的灵活性。488.1.4

数据绑定控件数据邦定控件是用于显示ADO控件8.1.4

数据绑定控件2.绑定控件的两个属性以上绑定控件均有两个相同的属性:DataSource属性和DataField属性。可以通过设置控件的这两个属性来使它成为ADO数据控件的数据绑定控件。1)DataSource属性该属性用来指定要与控件绑定的Data控件。在【属性】对话框中选中该属性,然后单击其右边的向下箭头按钮,可在下拉列表框中选择当前可用的Data控件。2)DataField属性该属性用来设置控件对应的数据库字段。在设置了DataSource属性后,DataField属性的下拉列表框中将列出可用的字段。498.1.4

数据绑定控件2.绑定控件的两个属性98.2

概述图8.9所示的是一个典型的图书管理信息系统的界面。图书管理信息系统的主要功能包括:图书库存管理、管理员信息管理、借阅卡管理、图书借阅管理和图书返还管理。图书库存管理:是这个管理信息系统的核心部分,它必须提供添加、修改、查询和删除图书等操作的功能。管理员信息管理:每个管理员只有凭分配的ID和密码才能登录图书管理信息系统,以避免非法使用该管理信息系统。此外,还能增加和删除管理员和更改管理员的信息。借阅卡管理:包括新增、删除、修改和查询借阅卡信息等功能。图书借阅管理:通过该功能把读者和其借阅的书籍的信息保存下来。图书返还管理:通过该功能可以记录读者还书的情况,并查询该读者所借图书是否过期。508.2

概述图8.9所示的是一个典型的图书管理信8.3

需求分析需求分析是数据库系统开发的第一步,也是最重要的一步。首先要通过对客户调研来获取需求,通过理解后严格定义该系统的需求规格说明书。本节中将需求分析分为两个步骤来讲解,分别是理解需求和分析需求。518.3

需求分析需求分析是数据库系统开发的第一步,8.3.1

理解需求理解需求是设计图书管理信息系统的前提,开发人员只有在同用户充分的沟通,并理解了用户的真正需求才能开始设计系统。由于业务的需要和保密性,也为了便于管理,管理员用户应该具有不同的等级,即不同的权限。按等级分为两个,超级管理员用户和一般管理员用户。超级管理员用户可以查询、添加、修改和删除一般管理员的记录,而一般管理员用户只能查询。通过该系统可以建立读者的信息,主要为借阅卡号、姓名、性别、年龄和系别等信息。一般管理员可以新增、修改读者信息和注销借阅卡。通过该系统一般管理员可以对拥有借阅卡的用户办理借书、还书业务。通过该系统一般管理员可以统计所有借出的图书的信息。该系统中,一般管理员可以修改图书信息,新增和删除图书和图书种类。通过该系统一般管理员可以为用户查询其所需借的图书的在库信息。系统可以运行在Windows平台上,系统还应该有一个较好的图形用户界面。系统应该有很好的可扩展性。528.3.1

理解需求理解需求是设计图书管理信息系统的前提8.3.2

分析需求需求分析就是描述系统的需求,通过定义系统中的关键类域来建立模型。分析的根本目的是在开发者和提出需求的用户之间建立一种理解和沟通的机制。需求分析的第一步描述图书管理信息系统的功能,即定义用例,以此确定系统的功能需求。图书管理信息系统的用例分析主要找出系统中所有的用例,以及对用例进行说明。在开发人员和用户进行讨论后,可确定图书管理信息系统的用例包括:管理员信息管理;图书库存信息管理;借阅卡信息管理;图书借阅管理;图书返还管理。图书管理信息系统中可以把模块分为3个功能集合。(1)基本信息管理功能集合。(2)借还管理功能集合。(3)用户管理及权限功能集合。538.3.2

分析需求需求分析就是描述系统的需求,通过定义8.4

UML系统建模需求分析完成后,就可以对图书管理信息系统进行UML建模了。下面讲解图书管理信息系统的UML建模过程。这部分的内容主要包括系统的用例分析、系统的类域分析和系统的设计。548.4

UML系统建模需求分析完成后,就可以对图书管理信8.4.1

图书馆管理信息系统的用例分析使用RationalRose软件进行UML建模,其用例图如图8.12所示。该用例图标记了所有的用例,从中可以得知,图书管理信息系统的角色可以划分为两类。一般管理员:可操作除管理员信息管理外所有的用例。超级管理员:可操作所有的用例。558.4.1

图书馆管理信息系统的用例分析使用Ration8.4.2

图书馆管理信息系统的域类分析域类分析的主要目的是确定系统中所用到的类以及这些类之间的关系,并得到类图。由于域类分析是建立在用例分析基础上的,因此需要根据上一节中的用例来确定图书管理信息系统中所要用到的类及其关系,从而得到类图,如图8.13所示。568.4.2

图书馆管理信息系统的域类分析域类分析的主要目8.4.3

图书馆管理信息系统的设计使用UML对系统的动态方面建模分5个部分:用例图,活动图、状态图、时序图和协作图。这里我们需要使用状态图来描述对象的状态,以显示对象的生命周期。在图书管理信息系统中,状态图的类有借还信息(Borrow)和借阅卡信息(Reader)。这里把两个状态图结合在一起,如图8.14所示。借书管理的时序图,如图8.15所示。578.4.3

图书馆管理信息系统的设计使用UML对系统的动8.5

系统配置一个好的数据库系统必须有一个相对最优的系统配置方案才能发挥这个数据库系统的效率。系统配置主要依据是系统的吞吐量和系统对稳定性的要求。此外,还需要考虑到用户的维护水平和经济实力也是一个比较重要的方面。588.5

系统配置一个好的数据库系统必须有一个相对最8.5.1

软件配置软件配置主要包括数据库的选择和操作系统的选择。1.数据库选择2.操作系统选择598.5.1

软件配置软件配置主要包括数据库的选择和操作系8.5.2

硬件配置图书管理信息系统的硬件配置同样需要根据用户对系统的稳定性要求、系统的容量、系统的吞吐量以及用户的维护水平来确定,如表8.4所示。用

户每秒数据库并发数据访问的记录数稳定性

要求维护

水平备选服务器中小学图书馆2~50低

差PentiumⅢ/256MB/20GB个人计算机高中/专科院校图书馆50~200中

一般XEON双CPU/1GB/RAID53×72GB综合性大学图书馆200~1000较高

较好XEON双CPU/1GB/RAID56×72GB国家级图书馆1000以上高

好计算机集群/双机热备608.5.2

硬件配置图书管理信息系统的硬件配置同样需要根8.5.3

网络配置该系统需要有能够支持TCP/IP相关协议的局域网。可以根据用户情况选择不同的网络配置,如表8.5所示。用

户每秒数据库并发数据访问的记录数稳定性

要求维护

水平备选网络方案中小学图书馆2~50低

差单机模式高中/专科院校图书馆50~200中

一般百兆模式综合性大学图书馆200~1000较高

较好百兆模式国家级图书馆1000以上高

好千兆模式618.5.3

网络配置该系统需要有能够支持TCP/IP相关8.6

数据库分析在UML建模工作完成后,可以说该系统的需求分析阶段已经完成。下面我们需要对数据库进行分析。数据库分析是数据库设计过程中一个重要环节,它具体可分为两部分:概念结构设计和逻辑结构设计,也可以称为E-R图分析和表与字段的分析。628.6

数据库分析在UML建模工作完成后,可以说该系统的8.6.1

E-R图分析通过对前面建模的结果进行分析,并设计其局部的E-R图,对局部的E-R图进行消除冲和冗余,并集成为一个基本的E-R图,如图8.17所示。638.6.1

E-R图分析通过对前面建模的结果进行分析,并8.6.2

表与字段分析和数据库建模表与字段分析,即逻辑结构设计。它的目标是在E-R图的基础上,确定系统所需要的表以及表中的字段,并给表和字段命名。同时还要确定每个字段的数据类型,将E-R图转换成具体数据库可使用的数据模型。如图8.18所示,带下划线且属性前标志为PK的为主键,其属性前标志为FK的为外键,黑体的表示不能为空。648.6.2

表与字段分析和数据库建模表与字段分析,即逻辑8.7

数据库设计8.7.1创建数据库创建数据库的步骤比较简单,其步骤如下:(1)选择【开始】|【程序】|

MicrosoftOffice

|

MicrosoftAccess命令,即可打开Access软件。(2)打开MicrosoftAccess后,选择菜单【文件】|【新建】命令,即可新建一个空数据库文件,将新建的空数据库保存为library.mdb。658.7

数据库设计8.7.1创建数据库258.7.2

创建表1.管理员信息表2.图书类别信息表3.图书信息表4.借阅卡信息表5.借还记录表6.读者类别表7.系别信息表668.7.2

创建表1.管理员信息表268.7.3

设定表关系当表创建好以后,它们之间并没有设定关系。在Access中可以设定表之间的关系。选择【工具】|【关系】命令,可以打开如图8.21所示的界面。选择【关系】|【显示表】命令,将弹出如图8.22所示的对话框。选择除Librarian外所有的表,单击【添加】按钮,将把表添加到编辑关系的面板中。编辑关系时,使用鼠标将一个表中的字段拖动到另一表就可以为两个表建立外键关系。添加表的关系如图8.23所示。678.7.3

设定表关系当表创建好以后,它们之间并没有设定8.8

创建数据源在使用数据库library.mdb之前,必须在Windows的ODBC数据源管理器中注册该数据库,具体步骤如下:(1)依次单击或选择【开始】|【设置】|【控制面板】|【管理工具】|【数据源(ODBC)】,打开系统提供的ODBC数据源管理器,如图8.24所示。(2)单击【用户DSN】选项卡中的【添加】按钮,在弹出的创建新数据源的对话框中选择DriverdoMicrosoftAccess(*.mdb)并单击完成。(3)系统会弹出如图8.25所示的ODBCMicrosoftAccess安装对话框。单击【选择】按钮,找到library.mdb所在的目录,选择该文件并确定。所选择的文件会在【数据库】文本后显示。(4)在【数据源名】文本框中输入library,单击【确定】按钮。这时在图8.25所示的“系统数据源”选项组中出现了library的数据源。至此,数据源的创建完成。688.8

创建数据源在使用数据库library.mdb之前,8.9

设计工程框架在数据库分析和设计的工作完成后,以下的工作就是具体的编写代码实现。从本节开始设计工程的框架和各个模块,并使用VisualBasic6.0创建工程实现各个模块的功能。698.9

设计工程框架在数据库分析和设计的工作完成后,以下8.9.1

创建工程项目实现具体的功能之前,首先要使用VisualBasic6.0创建图书管理系统的工程,该工程的文件名为LibManage.vbp,以下为创建工程的步骤:(1)运行VisualBasic6.0软件,在新建工程的工程模板中选择【标准EXE】。(2)单击【打开】按钮,主窗口中会出现一个默认的窗体Form1。(3)选择菜单【工程】|【工程1属性】命令,弹出【工程属性】对话框,将该对话框中的工程名称下面的文本改为LibManage,即将该工程的名称更改为LibManage。(4)单击【确定】按钮,然后选择【文件】|【保存工程】命令,将工程保存为LibManage.vbp。默认的窗体Form1保存为FrmLogin.frm。708.9.1

创建工程项目实现具体的功能之前,首先要使用V8.9.2

添加模块这里模块指的是标准模块(Module)。在VisualBasic6.0中,标准模块(文件扩展名为.BAS)是应用程序内其他模块访问的过程和声明的容器。它们可以包含变量、常量、类型、外部过程和全局过程的全局声明或模块级声明。选择【工程】|【添加模块】命令,为项目添加一个模块。在属性框中将该模块的名称更改为mdlMain,并保存为mdlMain.bas。该模块中定义了一个全局常量ConnectionString,用于保存连接数据源的配置信息。其中,DSN指定为前面所创建的用户数据源library。UID用于指定用户名,PWD用于指定用户的密码。用户名和密码必须和创建数据源时使用的用户名和密码一致。718.9.2

添加模块这里模块指的是标准模块(Module8.9.3

添加类模块选择菜单【工程】|【添加类模块】命令,在弹出的对话框中选择类模块即可为项目添加一个空的类模块。1.DbConnection类模块DbC

温馨提示

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

评论

0/150

提交评论