第三章 系统技术简介与分析
3.4数据库开发工具——Access 2000简介
本系统采用Microsoft公司的Access 2000作为数据库开发工具,Office套件中一部分的Access,有着同样强大的功能。Access数据库管理系统是Microsoft Office套件的重要组成部分,适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。
Microsoft Access是一种关系式数据库工具,关系式数据库是已开发的最通用数据库之一。关于关系数据库,本文将在下文进行说明。Access是由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。因此,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。要注意的是Access数据库以文件形式保存,文件的扩展名是MDB。 3.4.1 Access数据库的六种对象
1.表(Table):表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。 2.查询(Query):查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
3.窗体(Form):窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。 4.报表(Report):报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
5.宏(Macro):宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。
6.模块(Module):模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。 3.4.2关系数据库简介
这里所说的关系型数据库,主要是指能够支持企业级应用的关系型数据库管理系统。比如Access,SQL Server,Oracle等。
关系型数据库的主要特点有以下几个方面:
7
电子科技大学成都学院本科毕业设计论文
1.能够保证数据的完整性.否则,存储在Access 2000数据库中的数据就是毫无价值的。关系型数据库系统包括许多特性,目的是阻止不符合要求的数据库进入数据库。
2.关系型数据库系统是一个便于修改的系统。
3.在文件系统中,相同的数据常重复出现在许多个文件中,而关系型数据库系统则会排除大多数的冗余数据,这就减少了对存储空间的需求,加快了数据访问的速度。
4.应用程序可以通过多级的安全检查来限制对数据的访问。
3.5 ASP介绍(Active Server Pages)
ASP技术主要采用脚本来进行服务器端的处理,同时可以将脚本的结果嵌入到页面中,对于Web开发人员来说,只需编写相对简单的脚本程序,就可以完成Web引用程序的开发。目前ASP技术中使用的脚本语言主要是VBScriPt和JavascriPt语言,它不需进行很大的修改就能直接应用于服务器端。
Active Server Pages是Microsoft 1997年推出的建立高级网站的方案。今天Internet上运行的很多大型的、技术要求极高的商业网站都是由ASP构建的。ASP页面中的脚本是解释运行的,它的实现过程是这样的,假设用户在浏览器的地址栏中键入http: //www.host.com/showme.asp,再按下回车后,浏览器就将操作请求送往Internet服务器上的WVVW服务程序,接受到这个请求,就启动showme.asp,运行其中的脚本,并将脚本运行的结果和原先页面中存在的静态HTML代码结合起来,生成页面,最后返回到客户的浏览器中,并以网页的形式出现。下图显示了ASP的这种实现原理:(如图3-2所示)
图3-2 ASP工作原理
特别是,当用户看到页面结果时,尽管地址栏中显示是仍然是.asp文件的URL地址,但是查看页面源代码时显示的是ASP脚本运行后的结果,换句话说,写在.asp文件中的脚本是不会出现在HTML页面中的,因而不会泄露程序的源代码,这是服务器端脚本同客户端脚本最大的区别。 以下罗列了ASP所独具的一些特点:
(I)使用VBScript、JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
(2)无须编译,容易编写,可在服务器端直接执行。
8
第三章 系统技术简介与分析
(3)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。 (4)与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBScript , JavaScript)均在Web服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。
(5)内置功能强大的对象和组件。这使开发人员能够利用它们快速地建立功能强大的Web应用程序。
(6) ASP的源程序,不会下载到客户浏览器,因而可以避免所写的源程序被他人到窃,也提高了程序的安全性。
(7)使用ADO(ActiveX Date Objects)数据库访问技术,使得访问数据库变得易如反掌。
由此可以看出,ASP是在IIS ( Internet Information Server)服务器 PWS(Personal Web Server)上使用,来开发Web应用的一种简单、方便的编程工具。US集成了Microsoft的组件技术、安全管理、数据库访问等多方面的先进技术,它支持多种服务器端Web程序开发技术,最值得称道的就是在IIS中使用的ASP了。在了解了JavaScript的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。
3.6创建和配置ODBC数据源
3.6.1.ODBC简介
ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
ODBC是Open Database Connectivity的缩写,是MicroSoft提出的数据库访问接口标准。ODBC定义了访问数据库的API一个规范,这些API独立于不同厂商的DBMS,也独立于具体的编程语言(但是MicroSoft的ODBC文档是用C语言描述的,许多实际的ODBC驱动程序也是用C语言写就的。)ODBC规范后来被X/OPEN和ISO/IEC采纳,作为SQL标准的一部分,具体内容可以参看
《ISO/IEC9075-3:1995(E)Call-Level Interface(SQL/CLI)》等相关的标准文件。
ODBC现在看来是一个比较古老的东西,在1996年左右就比较定型了,其最新的版本是3.52,MicroSoft也不打算对它做什么大的更新,更多的目光应该被放到OLEDB、.NET DATA PROVIDER身上了。然而,正因为它是一个比较成熟和古老的规范,ODBC在大多数DBMS上都做可以使用,可以说一个像样的DBMS都应该支持ODBC 3.0或以上的版本。
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是SQL Server、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术。它
9
电子科技大学成都学院本科毕业设计论文
实际上是我们要在本章后面加以讨论的ADO的前身。Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。换句话说,访问DBF文件或Access Basic以得到MDB文件中的数据时,无需懂得Xbase程序设计语言。事实上,Visual C++就是这样一个程序设计平台,即Microsoft最初是以ODBC为目标的。
ODBC工作起来和Windows一样,它用包含在DLL内的驱动程序完成任务。其实,ODBC提供一套两个驱动程序,一个是数据库管理器的语言,另一个为程序设计语言提供公用接口。允许Visual C++用标准的函数调用经公用接口访问数据库的内容,是这两个驱动程序的汇合点。当然,还有其它和ODBC有关的实用程序类型的DLL。
ODBC能履行承诺,提供对数据库内容的访问,并且没有太多的问题。唯一影响ODBC前程的是,它的速度低,至少较早版本的产品是这样。ODBC最初面世时,因为速度问题,在数据库领域产生了一些影响。然而,以Microsoft的市场影响力,如今只要有两种ODBC驱动程序的一种,那么几乎每一个数据库管理器的表现都会很卓越。 3.6.2.ODBC的架构
(1)应用程序(Application)
应用程序对外提供使用者交谈界面,同时对内执行资料的准备工作和调用ODBC程序函数,传送SQL指令以及接收数据库系统所传回来的结果再显示给使用者看。简单来说,应用程序藉ODBC界面执行下列主要工作:
a)Request a connection(i.e.session)with a data source. b)Send SQL requests to the data source.
c)Define storage areas and data formats for the result of SQL requests.
d)Request results. e)Process errors. f)Request a commit or rollback of operations for transcation control. g)Terminate a connection a data source. (2)驱动管理员(Driver Manager) 驱动管理员本身是MS Windows中一个动态连接链接库文件(ODBC.DLL)。应用程序透过驱动管理员去加载并连结资料来源的驱动程序(driver)并连接资料来源。驱动管理员主要工作如下:
a)Uses ODBC INI file to map a data source name to a specific driver DLL.
b)Processes server ODBC initalization calls.
c)Provides entry points to ODBC functions for each driver.
d)Provides parameter validation and sequence validation for ODBC calls.
(3)驱动程序(Driver)
驱动程序也是一个动态连接链接库文件,当应用程序调用ODBC函数
SQLConnect或SQLDriverConnect时,驱动管理员就会加载相对的驱动程序与应用程序呼应。驱动程序主要是执行ODBC之相对函数,并与对应之资料来源做沟
10
第三章 系统技术简介与分析
通。驱动程序之工作如下:
a)Establishes a connect to a data source. b)Submits requests to a data sources.
c)Trnslates data to or from other formats,if requested by the application.
d)Return results to the application.
e)Formats errors into standard error codes and returns them to the application.
f)Declares and manipulates cursors if necessary(invisible to the application).
g)Initiates transactions if the data source requires explicit transactioninitiation(invisible to the app).
(4)资料来源(Data Source)
资料来源于数据库系统(DMBS)或是数据库操作系统的一个组合。开发过程中不需指定特定的数据库系统,所以数据库系统的开放性从此被建立。在计算机系统进入开放时代之时,我们应该体会到标准的建立与系统的发展是同样的重要。而信息系统架构在数据库的必要性也随着信息化社会的蓬勃发展而更显重要,因此在ODBC标准日益成熟的同时,我们也同时可以感受到数据库系统在开放架构下,更须扮演强而有力的角色。
3.6.3.依据ODBC的规格,其界面共可分为以下九类界面函数
1)连接资料来源(Connecting to a Data Source) a)SQLAllocEnv. b)SQLAllocConnect. c)SQLConnect.
d)SQLPriverConnect. e)SQLBrowseConnect.
2)取得驱动程序及资料来源的相关讯息 a)SQLDataSource. b)SQLGetInfo.
c)SQLGetFunctions. d)SQLGetTypeInfo.
3)设定及取得驱动程序的选项 a)SQLSetConnectOption. b)SQLGetConnectOption. c)SQLSetStmtOption. d)SQLGetStmtOption. 4)准备SOL指令之需求 a)SQLAllocStmt. b)SQLPrepare. c)SQLSetParam. d)SQLParamOptions. e)SQLGetCursorName.
11