《网络数据库技术.doc》由会员分享,可在线阅读,更多相关《网络数据库技术.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络数据库技术1.2.1 网络数据库系统的定义数据库技术+网络技术网络数据库网络数据库系统:是在计算机网络环境下运行的数据库系统,它的数据库分散配置在网络节点上,将数据库系统的事务分开进行处理,为网络用户提供远程数据库访问服务,实现了网络的分布式计算。1.2.2 网络数据库系统的模式结构 集中式 客户机/服务器模式C/S 浏览器/服务器模式B/S1.3 当前流行的网络数据库系统1.3.1 SQL Server 1.3.2 Oracle 1.3.3 DB2 1.3.4 MySQL *NoSQL数据库数据模型分为两类n 概念模型,逻辑模型,逻辑模型通常由数据结构、数据操作和完整性约束三要素组成。物
2、理模型逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等2.2.1 数据库系统的三级模式结构 模式(Schema)也称逻辑模式,一个数据库只有一个模式,模式的地位:是数据库系统模式结构的中间层外模式(External Schema)也称子模式或用户模式,外模式的地位:介于模式与应用之间,模式与外模式的关系:一对多。内模式(Internal Schema)也称存储模式,一个数据库只有一个内模式。 3.1 数据库设计概述3.2 需求分析3.3 概念设计3.4 逻辑设计3.5 物理设计在数据库规范设计中,比较著名的设计方法是新奥尔良(New Orleans)方法,该方法将数据库设计分为四个
3、阶段:需求分析(分析用户需求)是数据库设计的基础,它通过调查和分析,了解用户的信息需求和处理需求,以数据流图,数据字典等形式加以描述。是数据库设计中最困难、最耗费时间的一步。需求分析的全过程为:收集资料(信息需求、处理需求、安全性和完整性需求)分析整理,绘制数据流图(DFD),编写数据字典,包括数据项、数据结构、数据流、数据存储和处理过程。概念设计(信息分析和定义)是整个数据库设计的关键,得到E-R图。逻辑设计(设计实现)设计的任务:把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。将概念结构转化为一般的关系、网状、层次模型。E-R图向关系模型的转
4、换。数据模型的优化,设计用户子模式。得到视图。物理设计(物理数据库设计)设计数据的存取路径,确定数据的存储结构,确定系统配置。n 其中:需求分析和概念设计独立于任何数据库管理系统;而逻辑设计和物理设计与选用的DBMS密切相关常见的数据库设计工具:PowerDesigner , Oracle 公司的CASE工具Designer 2000 , Microsoft公司的工具。4.1 网络数据库系统的工作模式4.1.1 二层结构的C/S模式n C/S模式:是由一个或者多个客户机和一个或者多个服务器与底层的操作系统及通信系统一起构成的一个允许分布式计算、分析和表示的复合系统。n 由一个或多个计算机提供服
5、务,称为服务器(Server)n 其他的计算机则接受服务,称为客户机(Client)n C/S模式将用户界面逻辑和应用处理逻辑通过前端开发工具融合在一起,将一个复杂的计算机应用任务公解成多个不同的子任务,把它们分配到具有前端(客户机)和后端(服务器)的分布式计算机环境中。在前端客户机上运行应用程序,而后端服务器则提供某些特定服务。n 服务器所提供的服务有数据库服务、文件服务和通信服务等。C/S模式的工作过程一般是:客户机提出数据服务请求,服务器把按照请求处理后的数据传送给客户。Client客户用户界面与应用逻辑Server服务器端数据请求结果返回数据库n 两层C/S模式起源于桌面局域网应用系统
6、,其特点有: 数据库安装在服务器一端,数据库的完整性和一致性有了结构上的保证。 客户机为应用提供图形接口,而应用的数据处理部分由服务器完成。n 这样一个应用分成了两个部分,分布于网络上,便于充分发挥客户机和服务器的处理能力。 网络上传输记录而不是文件,与集中式系统相比系统整体性有了质的飞跃,网络吞吐能力也大为增加。 系统升级容易,能较好保护已有投资。尽管两层的C/S模式实现了功能的分布,但它仅能在各自的客户机和服务器之间使用,功能分布还不均衡,系统的性能、可伸缩性较差,不能支持大量用户的访问和搞容量事务的处理。为此,人们在客户端和数据库服务端之间增加了应用服务器,形成了三层的C/S模式。4.1
7、.2 三层结构的C/S模式三层C/S模式中,服务器端被分为两部分,即应用服务器和数据库服务器,形成了“客户机一应用服务器一数据库服务器”的模式。n 客户机主要提供用户登录界面,负责用户与应用层之间的对话:n 应用服务器包括了从客户端划出来的一部分应用和从原来数据库服务器中划分出来的一部分工作,它主要实施商业和应用逻辑,并基于商业规则确认从客户端得到的数据,响应客户端的请求,完成业务处理或复杂计算。 应用服务器在三层体系结构中起到承上启下的作用,是整个系统的核心n 数据库服务器执行存储数据和处理数据的功能,它分析功能服务器送来的SQL命令,实现对数据库的读写、删改、查询等操作,并将结果返回给功能
8、服务器,再传回给客户端。三层CS体系结构的特点是,用户界面与商业、应用逻辑位于不同的平台上,所有的用户可以共享商业和应用逻辑。Client客户端应用服务器数据请求结果返回数据库数据库服务器SQL语句查询查询结果返回然而,无论是两层、三层还是多层C/S模式都存在着极大的局限性。随着业务计算的复杂化,C/S结构的弱点逐渐显示出来: C/S结构的计算能力过于分散,网络中服务器和客户机的数目正发生“细胞”分裂,使得系统的管理费用以几何级数的方式增长; C/S结构中数据库信息的使用一般只限于局域网的范围内,无法利用Internet的网络资源; 在C/S结构中,无论多小的企业都必须安装自己的服务器,而服务
9、器和服务器软件的管理和维护都是非常复杂的工作,需要专门人员负责,小企业往往无力购买高性能的服务器和聘任专门的技术人员。因此,C/S模式的网络数据库系统不利于小企业计算机应用的发展。4.1.3 B/S模式n B/S模式是C/S模式的继承和发展,使企业应用系统更简化、规模伸缩性更大、安全保密控制更灵活。n B/S模式利用了比较成熟的WWW浏览器技术,结合浏览器的多种Script语言(如VBScript,JavaScript等等)和ActiveX技术。n 使用通用浏览器来实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本。n 基于B/S的网络数据库应用系统通常采用三层或多层结构。下图给出的
10、是“浏览器一Web服务器一数据库服务器”三层结构。n 用户完全通过浏览器登录,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器Web服务器HTML请求HTML页面数据库数据库服务器数据请求查询结果返回用户在这一系统中,第一层为用户层,第二层为应用层,第三层为数据库层1)用户层n 用户层负责处理用户的输入和对用户的输出,但不负责解释其含义。2)应用层n 该层就是Web应用服务器,是上下两层的纽带,建立实际的数据库连接。所有的应用系统、应用逻辑、控制都在应用层。系统的复杂性也主要体现在这层。数据库层n 该层为数据库服务器,存储着大量的数据信息和数据逻辑。n 该层的任务是负责协调不同
11、的Web服务器请求,负责实际的数据存储和检索,管理数据库系统。n 所有与数据有关的安全、完整性控制、数据的一致性、并发操作等都在该层完成。还有“浏览器Web服务器一中间件一数据库服务器”多层结构。n 这一结构中的中间件通常通过定义统一的数据模型来解决不同数据库之间的数据转化问题,确保客户机和服务器之间信息查询和结果返回的顺畅性。浏览器Web服务器HTML请求结果返回数据库数据库服务器数据请求结果转化为HTML用户中间件SQL语句查询查询结果返回i目前流行的B/S结构多采用多层结构。n 在B/S结构模式中,客户机仅需要一个单一的浏览器软件就可以访问不同的应用平台,负担很轻,要求的配置较低,易于管
12、理和维护。浏览器的主要功能是检查用户输人的数据,显示系统输出的数据。n 其工作过程大致如下:当浏览器向某一个Web服务器提出服务请求后,Web服务器首先对用户身份进行验证,然后用超文本传输协议(HTTP)把所需的文件资料传给客户机;客户机接收传来的文件资料,并按照HTTP格式把它显示在Web浏览器上。B/S模式和C/S模式都是以请求/应答方式来执行,但传统的C/S模式需在客户机集中大量应用软件,而B/S模式则是一种基于Web的三层或多层结构,客户只需要浏览器。总体上,B/S结构具有以下优势:n 利用统一的浏览器访问界面,用户可以在任何访问Web数据库。n 开发效率高。对于各种资源,无论是文本还
13、是图形,无论基于何种平台,客户机都可以采用相同的界面访问。n 具有极强的伸缩性。可以透明的跨越异种网络,计算机平台,无缝的联合使用数据库、超文本、多媒体等多种形式的信息,可以选择不同厂家的设备和服务。n 开放性。采用公开的标准协议,系统资源的冗余小,可扩充性好。n 以服务器为中心的管理,对网络应用进行升级时,只需更新服务器端的软件,减低了成本,减少了客户端的维护工作量。n 三层或多层B/S模式的数据库系统的特点:n 借用现成的浏览器软件,无需开发数据库前端n 标准统一,开发过程简单n 多平台支持4.2 基于C/S模式的数据库系统n 联机事务处理(LOTP)的需求 数据库的应用之一就是联机事务处
14、理。在联机事务处理中通常有上百个用户在同时使用该系统。n 如民航定票系统和银行ATM机就是联机事务处理系统的例子。 事务是数据库系统中工作的离散单位。在联机事务处理系统中,其主要任务是实时地处理事务。n 如数据库中最频繁的数据更新事务。 要求系统的吞吐量要高,响应时间要短,能够均衡的分配负载,减少网络传输量。对数据库的完整性和可用性也有更高的要求。 与集中式的数据库系统相比,C/S模式的DBMS能提供更高的运行效率,更好的满足联机事务处理的需求。在一个单服务器的系统环境下,C/S的功能划分可以有三种不同的方案:CS结构,RU结构和EWS结构。n CS结构 应用的处理(包括用户界面和表示逻辑)由
15、客户机完成,数据访问和事务处理由服务器完成。 实现了功能分布,即由客户机承担了部分处理任务,但数据都集中在服务器中RU结构n 服务器主要执行一些底层的操作,如封锁、页面读写等。n 客户机主要完成查询优化和查询处理,相当于客户机执行了部分DBMS的功能。EWS结构n 每个客户都可以通过对查询结果来进行缓存,建立其局部数据库,而且在客户机有一个功能完整的数据库系统,它与服务器上的DBMS相互协作来完成数据库访问。n 这种结构不仅功能分布,而且还有数据分布的特点。因而可以避免客户机向服务器再申请相同的数据,减少了网络传输和服务器端的数据输入/输出。n C/S的功能划分到底采用哪种方案,可以根据用户的
16、需求以及系统所处的环境、客户机访问服务器的数据量和数据库是否经常存在重复等来选择。4.3.1基于B/S模式的数据库系统的体系结构出现了基于“浏览器/Web服务器/数据库服务器(B/W/D)”的计算模型。这种模式中客户机统一以浏览器的形式表现给用户,用户通过HTTP协议把任务提交给Web服务器,Web服务器通过和数据库服务器的交互把处理后的结果通过HTTP协议传递给客户机,然后客户机再通过浏览器显示结果。也就是B/S模式。n 基于B/S模式的数据库系统要解决的关键问题是数据库传输的安全性和事务性。 HTTP本质上是一个无状态的连接,所以事务处理就非常重要。 由于整个业务是基于网络系统结构的,所以
17、要解决安全性。基于B/S模式的数据库系统的工作方式n 基于B/S模式的数据库系统有三种工作方式:即简单式、交互式和分布式4.3.2 异构数据库环境n 异构数据库环境下的数据库的异构性体现为: 计算机体系结构的异构 基础操作系统的异构 DBMS本身的异构n 要实现网络环境下的资源共享,就必须集成异构数据库,通过建立统一的协调管理机制,实现不同数据库之间的数据信息资源集成和共享。对于异构数据库的查询操作,目前有三种较为通用的解决方法:公共数据库网关技术、公共协议技术、公共编程接口技术。1)公共数据网关技术n 解决异构数据库的互联问题,可采用公共数据库网关技术,用户可通过它访问异构数据库。通过网关可
18、以把第三方为其他厂商开发的工具连接到自己的数据库产品上。n 但是,公共网关实现任意两个异种数据库的互操作比较复杂,而且网关仅是查询语言的转换器它不支持事务管理。2)公共协议技术n 公共协议是指对客户和服务器之间通信的格式和协议以及数据库语言进行标准化。这是一种较好的解决异构数据库互联的方法3)公共编程接口技术n 公共编程接口包括客户应用编程界面(CAPI)和服务器应用编程界面(SAPI)。 CAPI是一组过程库,通常驻留在客户端,通过装载后端专用的驱动程序访问不同的数据库。 SAPI提供一个应用编程界面,控制服务器与客户应用请求和目标数据之间产生交互。n 0DBC、JDBC和CORBA技术就属
19、于公共编程接口方法,支持在分布式计算环境中异构数据库的访问。 其中,0DBC是开放式数据库接口,是用来在数据库系统之间存取数据的标准应用程序接口,它使数据库系统具有很好的开攻性,数据格式转换也很方便 JDBC是支持基本SQL功能的一个通用的底层应用编程接口,它在不同的数据库功能模块的层次上提供统一的用户界面 CORBA提供了一个很好的模式来封装和构建各种异构数据库的应用,它能提供访问各种异构数据库,尤其是Web数据库时所需要的多种特片:甲向对象性、模块性、灵活性和分布性等。n 目前,异构数据库系统的集成以及建立此基础之上的数据仓库、数据挖掘已经成为网络数据库技术研究的重点之一。n 数据仓库可以
20、从异构数据库系统中的多个数据库收集数据,并建立统一的全局模式同时收集的数据还支持对历史数据的访问,用户通过数据仓库提供的统一的数据接口进行决策支持的查询。在数据仓库的基础上,又可以进行数据挖掘、Web挖掘实现真正地信息检索查询。4.3.3 半结构化的数据结构Web上的数据信息是一种介于严格结构化的数据和完全无结构的数据之间的数据形式,它既不是完全结构化的,也不是完全无结构化的。半结构化数据是指其结构隐含或无规则、不严谨的自我描述型数据。在半结构化环境中,模式信息通常包含在数据中,即模式与数据问的界限混淆,这样的数据称作自我描述型数据。某些自我描述型数据中存在结构,数据的内容和结构混杂在一起,不
21、清晰明显,需要从中提取;而某些数据的结构可见,但是不严谨,如可以采用不同的方式表达同一信息。半结构化数据主要有两大来源:异构数据集和万维网。半结构化数据具有两大特性,即结构不规则和结构隐含n 对于这两种不同特性的半结构化数据,分别可以用集成和信息抽取使其结构化。4.3.4 工作方式和工作过程(1)基于B/S模式的数据库系统的工作方式n 基于B/S模式的数据库系统有三种工作方式:即简单式、交互式和分布式n B/S模式的数据库系统的工作过程分为以下四个部分:n 连接。Web浏览器与Web服务器建立连接,打开一个称为Socket的虚拟文件,此文件的建立标志着连接成功。n 请求。Web浏览器通过Soc
22、ket向Web服务器提交请求。n 应答。Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理。处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。n 关闭连接。当应答结束后,Web浏览器与Web服务器必须断开,以保证其他Web服务器能够与Web服务器建立连接。Web服务器的处理过程是一个完整的逻辑阶段,即接受连接产生静态或动态内容并把它们传回浏览器关闭连接接受下一个连接,如此进行下去。第五章 数据库访问接口n 目前流行的开放数据库访问接口有: ODBC JDBC OLE DB 数据库网关(SQL网关)。5.2 ODBC与DA
23、O对象n API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。n ODBC的最大优点是能以统一的方式处理所有的关系数据库。n 但是,ODBC仅限于关系数据库,由于ODBC的关系型特性,很难使用ODBC与非关系数据源进行通信,例如对象数据库、网络目录服务、电子邮件存储等。n DAO(Database Access Object,数据访问对象)属于数据访问客户端。是第一个面向对象的数据库访问接口。 1. ODBC的组成和结构n 一个完整的ODBC由四个部分组成:应用程序接口、驱动程序管理器、数据库驱动程序和数据源。(1)应用程序接口n
24、负责处理并调用ODBC函数、发送对数据库的SQL请求及取得结果。(2)驱动程序管理器n 驱动程序管理器是一个带有输入程序的动态链接库(DLL),主要目的是为应用程序装载数据库驱动程序处理0DBC调用的初始化调用,提供0DBC调用的参数有效性和序列有效性。(3)数据库驱动程序所以,ODBC驱动管理器的目的是加载数据库驱动器,便于ODBC函数调用。(4)数据源数据源负责为应用程序存储和管理数据。2. ODBC的基本工作流程5.3.1 JDBCJDBC主要由两层组成:JDBC应用程序接口(JDBC API)和JDBC驱动应用程序接口。n JDBC技术是JavaSoft公司设计的Java语言的数据库访
25、问API。 ODBC主要是对数据库系统的C语言接口 最初的Java语言并没有数据库访问能力。JDBC是第一个支持Java语言的标准的数据库APIn 与ODBC相似,JDBC提供给程序员的编程接口是由两部分组成: 一是面向应用程序的编程接口JDBC API,它是为应用程序员提供的,可以进行数据库连接和调用SOL语句访问支持JDBC的数据库,并得到返回结果; 二是供底层开发的驱动程序接口JDBC Driver API,它是各个数据库厂商提供的。n 值得一提的是,JavaSoft提供了一种特殊的驱动程序,JDBC-ODBC桥,它支持JDBC通过现有的ODBC来访问数据库系统。JDBC的数据库驱动程序
26、有四类1. JDBC-ODBC桥(bridge)n JDBC-ODBC桥利用ODBC驱动程序提供JDBC访问。 在服务器上必须可以安装ODBC驱动程序。 作为JdbcOdbc.class实现2本地API Java驱动程序3网络协议Java驱动程序4数据库协议Java驱动程序:第3类和第4类驱动程序将成为JDBC访问数据库的首选方法。第1类和第2类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。5.3.4 JDBC访问数据库的模式JDBC既支持两层模型,也支持三层模型。5.4 OLE DB和ADOn ADO是在OLE DB之上的一个层面,被用来沟通这个低级接口与数据库,简化并
27、实现OLE DB的强大功能,它是为应用程序员设计的。ODBC为了向后兼容也包含在MDAC中,但ODBC有被OLE DB替代的趋势。ADO(ActiveX Data Objects)是微软公司推出的一个功能强大的数据库应用编程接口,它的主要功能是用于应用程序与OLE DB兼容的数据源的连接。应用程序可以通过ADO实现对各种类型数据库的连接,对数据的查询、修改、更新等。通过ADO存取数据已经成为流行的选择。5.4.2 OLE DBn OLE DB:数据库链接和嵌入对象。目的是提供一种统一的数据访问接口访问各种数据源,n ADO是DAO后继产品,它扩展了DAO和RDO所使用的对象模型,因为它包含更少
28、的对象,更多的属性、方法(和参数)以及事件。n ADO提供了一种数据库编程对象模型,类似于DAO的对象模型,但比DAO有更高的灵活性。ADO简化了OLE DB,属于高层的数据库接口。另外同OLE DB相比,能够使用ADO的编程语言更多。n 在使用上一般具有以下两种层次关系: 应用程序 - ADO - OLE DB - ODBC - 数据源 应用程序 - ADO - OLE DB - 数据源。n ADO技术是通过ADO对象的属性、方法来完成相应的数据库访问的。ADO共有以下7个独立对象类。 Connection:连接 Command:命令RecordSet:记录集 Property:属性 Err
29、or: 错误Field:域 Parameter:参数n ADO实际上是OLE DB的应用层接口,可以处理各种OLE DB支持的数据源。n 在ADO模型中,主体对象只有三个:Connection、Command和Recordset下面首先介绍0DBC管理器中各个页面的用途:n 用户DSN。0DBC用户数据源存储了如何与指定数据库提供者连接的信息,用户数据源只对当前用户可见,且只能用于当前机器。这里的当前机器是指这个配置只对当前的机器有效,而不是指只能配置本机上的数据库。它可以配置局域网中另一台机器上的数据库。n 系统DSN。0DBC系统数据源存储了如何指定数据库提供者连接的信息。系统数据源对当前
30、机器上的所有用户都是可见的,包括NT服务。也就是说在这里配置的数据源,只要是这台机器的用户都可以访问。n 文件DSN。0DBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱动程序的用户共享。这是介于用户DSN和系统DSN之间的一种共享情况5.5.1 中间件的基本概念中间件是:网络环境中运行于操作系统与应用软件之间,可以简化应用软件的复杂性,克服网络环境多种挑战的一类系统软件。从上到下的关系应用软件中间件DBMS操作系统目前面向数据库的中间件有多种类型,主要包括:本地中间件、呼叫层接口和数据库网关。SUN的J2EEn J2EE (JavaTM 2 Platform, Enterp
31、rise Edition,J2EETM)是Java 2平台的一个完整版本,将业务紧要(Mission Critical)的企业应用系统推向任何 web 浏览器。n 包括了 多层应用开发模型 开发平台 - APIs 和服务 测试软件包 参考实现J2EE 支持4类构件: Application clients Applets Servlets and JSP pages Enterprise JavaBeansJ2EE主要技术:中间层 EJB Enterprise JavaBeans实体bean(Entity Bean)会话bean(Session Bean)J2EE设计模式(MVC框架)n Vi
32、ew 表示:显示输入输出数据 (可以是 HTML,jsp,也可以是一个 windows 应用)n Model 业务逻辑和数据:基于输入和定义的业务流程执行计算 或其它操作(javabean or ejb)n Controller 协调view 和 model,在它们之间交换数据(action or servlet)中间件产品n 目前的中间件产品种类繁多,且对规范的实现也有很大的差距: 有的产品仅实现某个特定的规范,象早期的事务中间件、消息中间件产品 有的产品主要实现某个架构中系列规范的部分内容,这是多数中间件产品的现状,因为全部实现系列规范的代价较大,也不必要 有些产品实现多个架构系列规范的部
33、分内容。例如许多实现 J2EE 规范的应用服务器也同时支持 SOA 中的一些访问方式n 应用服务器中间件的占有量已经居于各类中间件的首位n 消息中间件和事务中间件分别居第二,三名,在银行,电信、证券等许多对效率、可靠性等方面要求严格的关键任务系统中消息中间件及事务中间件,仍然将占有重要的地位1、 应用服务器应用服务器产品进行如下划分: n 中间件厂商开发的产品,例如: BEA公司开发的WebLogic。IONA公司开发的iPortal ApplicationServern 数据库厂商开发的产品,例如: Oracle公司开发的 Oracle 9i Application Server等n 操作系
34、统厂商开发的产品,例如: IBM公司开发的Websphere SUN开发的SUN ONE Application Servern 开发工具厂商开发的产品,例如: Inprise公司开发的Borland Application Server等n 其它大量由独立开发组织完成的产品,例如: JBOSS组织开发的Jboss OpenEJB组织开发的OpenEjb Ironflare AB开发的Orion Macromedia开发的JRUN JBoss 应用服务器n JBossAS是一个运行EJB的J2EE应用服务器,是JBoss组织的核心产品n JBOSS AS是一个开源项目,遵循最新的J2EE规范n
35、 从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web) 体现了J2EE规范中最新的技术,在JavaWorld Editors Choice 评选中获得“最佳Java应用服务器”奖 无论是学习还是应用,JBoss为我们提供了一个非常优秀的平台第七章 网络数据库的安全控制美国颁布的TCSEC把数据安全级别划分为四类七级: D级:安全性方面没有专门机制; C1级:初级自主安全保护,能实现用户和数据的分离,进行自主存取控制(DAC),限制用户权限传播; C2级:提供受控的存取保护,DAC进一步细化,以个人身
36、份注册,实施审计和资源隔离; B1级:对系统数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)和审计; B2级:建立形式化安全策略模型对系统内所有主体和客体实施DAC和MAC; B3级:审计跟踪能力更强并提供系统恢复过程; A1级:提供B3级保护并给出系统形式化设计说明。7.2.3 网络数据库的安全模型网络数据库的安全模型有:n 基本的存取控制模型n 扩展的存取控制模型n 多级安全模型(1)基本的存取控制模型n 三部分组成:主体集合、客体集合和规定主题允许对客体进行的存取操作集合。 主体:要求存取数据库的某个用户或用户组、用户启动的进程和服务。用S表示。 客体:要求保护的数据对象,如
37、关系或者属性的名字,用O表示。 存取操作;如READ、UPDATE、APPEND和DELETE等操作,用t表示。(2)扩展的存取控制模型n 扩展的存取控制模型能有效地控制主体对客体的存取,但并不能控制主体如何使用客体。 如,授了权的客体读出客体之后,会把客体泄露给无权读取该客体的程序信息流控制问题。(3)多级安全模型n 多级安全模型为所有的主体和客体制定一个安全级别,例如绝密级、机密级、秘密级和无密级。n 不同的安全级别标记了不同重要程度和能力的实体,不同级别的主体对不同级别的客体的访问是在强制的安全策略下实现的。当前的访问集合(主体、客体、访问类型),即(S、O、T)n 存取控制分类: 自主
38、存取控制(DAC):用户对于不同的数据对象有不同的存取权限,不同用户对同一对象也有不同的权限,用户还可以将其拥有的权限转授给其他用户。自主存取控制相对灵活。 强制存取控制(MAC):每个数据对象被标记为一定的密级,每个用户也被授予某个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制相对比较严格。 SQL中的授权n 对象权限:delete、insert、select、update、references。其中references权限:如果用户即将创建的关系中包含参照其他关系属性的外码,那么用户必须在这些属性上具有references权限。n 系统权限:index(允
39、许创建和删除索引)、resource (允许创建新表)、alteration(允许添加和删除关系中属性)、drop(允许删除关系)n 最大的授权形式是给数据库管理员(DBA)。n 授权与收回权限:Grant、revoke Grant on to with grant option revoke on from cascaden 例:grant select,insert on s to u1 with grant option revoke insert on s from u1 cascade7.3 网络数据库的安全控制技术7.3.1 Web的访问控制7.3.2 用户身份认证7.3.3 授权
40、控制7.3.4 监视跟踪7.3.5 安全审计7.3.6 备份与故障恢复7.3.7 数据库加密7.3.8 反病毒技术第8章 数据仓库技术联机事务处理(Online Transaction Processing,OLTP)3 数据仓库的概念n 数据仓库(Data Warehouse,DW)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策”。n 将数据仓库定义为“数据仓库是支持管理决策过程的、面向主题的、集成的、随时间变化的、持久的数据集合”。定义2:实化视
41、图 定义3:数据仓库系统 n 数据仓库系统是以数据仓库技术为基础,以联机分析处理(OLAP)和数据挖掘(Data Mining)等工具为手段进行数据分析处理的一整套解决方案。1.4 数据仓库类型:企业数据仓库(EDW),操作型数据库(ODS),数据集市(Data Mart)典型的企业数据仓库系统通常包含: 数据源 数据抽取转换和装入 ( ETL 、 extraction transformation、load,) 数据存储与管理 OLAP服务器 前端工具与应用 2.1 数据仓库的开发流程n (1) 启动工程。建立开发数据仓库工程的目标及制定工程计划。计划包括数据范围、提供者、技术设备、资源、技
42、能、培训、责任、方式方法、工程跟踪及详细工程调度等。n (2) 建立技术环境。选择实现数据仓库的软硬件资源,包括开发平台、DBMS、网络通信、开发工具、终端访问工具及建立服务水平目标(关于可用性、装载、维护及查询性能)等。n (3) 确定主题。进行数据建模要根据决策需求确定主题,选择数据源,对数据仓库的数据组织进行逻辑结构设计。n (4) 设计数据仓库中的数据库。基于用户需求,着重某个主题,开发数据仓库中数据的物理存储结构,及设计多维数据结构的事实表和维表。n (5) 数据转换程序实现。从源系统中抽取数据、清理数据、一致性格式化数据、综合数据和装载数据等过程的设计和编码。n (6) 管理元数据
43、。定义元数据,即表示、定义数据的意义以及系统各组成部分之间的关系。元数据包括关键字、属性、数据描述、物理数据结构、映射及转换规则、综合算法、代码、默认值、安全要求、变化及数据时限等。n (7) 开发用户决策的数据分析工具。建立结构化的决策支持查询,实现和使用数据仓库的数据分析工具,包括优化查询工具、统计分析工具、C/S工具、OLAP工具及数据挖掘工具等,通过分析工具实现决策支持需求。n (8) 管理数据仓库环境。数据仓库必须像其他系统一样进行管理,包括质量检测、管理决策支持工具及应用程序,并定期进行数据更新,使数据仓库正常运行。2.3 数据仓库的多维建模n 数据仓库和OLAP采用多维数据模型来
44、表示数据,它利用维和度量的概念来刻画数据,将数据看作数据立方体(data cube)的形式。n 维是元组的透视或实体,维是人们观察客观世界的角度。因此数据仓库要将基于二维的数据多维化,多维化是将面向平面、行和列的数据转化为一个虚拟的多面体,将数据组织成一个多维矩阵,每一维描述一个重要的视角。n 多维分析以多维数据为核心,目前多维数据的存储方式可以有两种存储方法:n 基于多维数据库(Multi-Dimensional DataBase,MDDB),是物理地以多维数据结构方式来组织数据库。n 基于关系数据库,利用多维建模来存储多维数据,模拟多维数据库。1 多维数据结构-建立多维数据库2 多维建模n 常用的多维建模方法有以下几种:星形模式、雪花模式、事实星座、标准/非标准化ER图和聚集等级模式等