1、 第三章 网络数据库应用系统的结构桌面型数据库:小型数据库产品v广泛用于单机环境v不提供或仅提供有限的网络应用功能v没有或仅有较弱的安全功能v开发的数据库应用系统主要是日常小型办公需要,提供较弱的较弱的数据库管理和较弱的前端开发工具,开发工具与数据库集成一体网络数据库v需要网络操作系统v数据库系统管理工具,前端开发工具和后台数据库是可以分离的v具有强大的网络功能和分布式功能,可根据软硬件和网络环境的不同组合成各种模式v技术先进,支持超大规模数据库技术、并行查询、多线程服务等v提供完备的数据库安全性方案,提供完善的数据库备份和恢复手段v3.1网络数据库系统的主要体系结构vc/s,b/sv数据访问
2、接口ODBC,JDBC,ASP与JSP对远程数据库的访问方法3.1.1 C/S结构 C/S(Client/Server)结构即客户机/服务器结构,是以网络环境为基础,将计算机应用有机地分布在多台计算机中的结构,是网络软件运行的一种形式。图3.1 C/S体系结构应用示意图 客户/服务器体系结构可用于局域网、广域网和因特网。共同特点:工作负载在服务器和客户机之间进行分配。无论在哪种网络中,客户机实际上是一个“需要什么”的程序,由应用程序及相应的数据库连接程序组成,一般是要求服务,包括打印、信息检索和数据库访问。服务器则是“提供什么”的程序,负责处理客户机的要求,一般是某种数据库系统。WS1WS1W
3、S1接 口DBMSDBDB网络电缆客户机服务器 图3.1 C/S结构用户客户机应用系统客户机数据库API连接性软件网络协议网络协议连接性软件服务器软件服务器OS客户机服务器数据库SQL结果C/S内部结构两层客户两层客户/服务器结构和多层客户服务器结构和多层客户/服务器结构服务器结构 两层客户两层客户/服务器结构服务器结构 两层结构应用软件模型SQL语言用户界面应用逻辑数据库服务器客户机服务器三层客户三层客户/服务器结构服务器结构 客户机上只需要安装应用程序,它负责处理与用户的交互和与应用服务器的交互。应用服务器负责处理应用逻辑,数据库服务器根据应用服务器发送的请求进行数据库操作,并将操作的结果
4、传送给应用服务器。三层结构应用软件的特点是用户界面与应用逻辑位于不同的平台上,并且应用逻辑被所有用户所共享。S Q L 语言自 定 义 协议用户界面应用逻辑数据库客户机应用服务器数据库服务器三层体系结构应用软件的逻辑模型v优点:v灵活的硬件系统构成 v提高了程序的可维护性 v可以进行严密的安全管理 3.1.2 B/S结构 B/S(Browser/Server)即浏览器/服务器结构,是随着Internet技术的兴起,对C/S结构的一种变化或改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但主要事务逻辑在服务器端实现。B/S结构,主要是利用了不断成熟的WWW浏
5、览器技术,结合浏览器的多种Script语言(VBScript和JavaScript等)和ActiveX技术,用通用浏览器就实现了原来需要专用软件才能实现的强大功能,并节约了开发成本.Internet B/S体系结构应用示意图B/S技术的优点:基于开放的、非专用的标准。B/S技术所基于的标准是开放的、非专有的,是经过标准化组织指定而非单一厂商指定的。较低的应用开发以及管理成本。客户/服务器的应用,无论是安装、配置还是升级都需要在所有的客户机上实施,B/S技术的成本较为低廉,一般只需要安装、配置在服务器上,在客户机上的工作较少,故而降低了开发及管理成本。对信息及应用系统的自由访问。现在许多计算机用
6、户都已经建立了网络,由于信息和应用系统可通过WWW浏览器进行访问,因此几乎所有的客户都可以自由地、主动地访问信息和系统。主动服务的信息系统。每个用户在信息系统上可以各取所需,自由地、主动地访问信息系统。较低的培训成本。浏览器的技术简单易用。只要用户掌握了浏览器的用法,就可以享用网络系统上的各种信息资源。v多层B/S结构SQL处理数据库管理HTTP服务器服务器端脚本视图CRUDHTTP客户客户端脚本视图实例化.ODBC.ADO.OLE/DB.Native Call浏览器Web服务器数据库服务器HTTP:.请求.响应 B/S的三层体系结构3.2 集成集成Web和和DBMS的方法的方法(1)公共网关
7、接口()公共网关接口(CGI)(2)Web服务器扩充的应用程序接口(服务器扩充的应用程序接口(API)(3)Java Applet和和JDBC(4)Microsoft的的ActiveX平台平台(5)可扩充的标识语言()可扩充的标识语言(XML)3.2.1 ODBC 1 ODBC的基本原理 ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部
8、分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。2.OBDC 的 的结构I.应用程序(Application)II.驱动管理员(器)(Driver Manager)III.驱动程序(Driver)IV.数据源(DSN)数据源数据源数据源数据库数据库数据库应用程序驱动程序管理器驱动程序驱动程序驱动程序ODBC结构示意图3.数据源与Web 的ODBC连接 数据源是数据库位置、数据库类型和ODBC驱动程序信息的集成3种类型数
9、据源:(1)用户数据源:作为位于计算机本地的用户数据源而创建的,并且只能被创建这个数据源的用户所使用;(2)系统数据源:作为属于计算机或系统而不是特定用户的系统数据源而创建的,用户必须有访问权才能使用;(3)文件数据源:指定到文件中作为文件数据源而定义的,任何已经正确地安装了驱动程序的用户皆可以使用这种数据源。3.2.2 ASP的数据库访问技术ASP(Active Server Pages),动态网页技术,是一个服务端的脚本环境(1)ActiveX控件 软件提供商开发的可重用的软件组件。能够运行在Web页面上或其他应用程序 的软件组件。ActiveX控件依赖于平台(2)ASP 的语法1)定界符
10、 2)Script标志ASP可以使用任何Script语言 JavaScript:基于对象的脚本语言。VBScript:过程化语言(缺省)3)HTML标记在ASP文件中可以包含HTML语言的各种表达4)ASP内建对象五个内置对象vRequest:从使用者获取信息vResponse:将信息送给使用者vServer:提供Web Server工具vSession:存储在一个Session内使用者的信息vApplication:在一个ASP应用内让不同使用者共享信息(3)ASP访问数据库的方式ASP脚本中可以通过三种方式访问数据库:IDC(Internet Database Connector)方式AD
11、O(ActiveX Data Objects)方式:RDS(Remote Data Service)方式 1.Internet数据库接口(IDC)IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。使用IDC访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问。2ActiveX数据对象(ADO)ADO:ActiveX Data Object,是一种功能强大的数据库应用程序接口,可以通过ADO编写紧凑简明的脚本程序以便连接到ODBC数据源兼容的数据库。利用ADO组件连接数据库有两种方式:(1)直接连接数据库方式(2)创建数据源
12、名(DSN)方式使用创建数据源方式:使用ADO的一般流程(1)设置数据源(系统数据源)(2)生成ADODB组件实例(3)连接数据库(4)设定查询(5)执行查询(6)显示结果(7)关闭结果集对象,断开与数据库的连接v(2)vset connect=server.createobject(“adodb.connection”)v(3)vconnect.open(“dsn=dsnname;uid=userid;pwd=password”)v(4)vstrsql=“select*from tablename”v(5)vset rs=connnect.execute(strsql)v(7)vrs.closevconnect.closeADO主要包括Connection,Recordset和Command三个对象,它们的主要功能如下:Connection对象:负责打开或连接数据库文件;Recordset对象:存取数据库的内容;Command对象:对数据库下达行动查询指令,以及执行SQL Server的存储过程。v3 远程数据服务(RDS)