数据库系统实现.ppt

上传人:小飞机 文档编号:5270398 上传时间:2023-06-21 格式:PPT 页数:15 大小:324.97KB
返回 下载 相关 举报
数据库系统实现.ppt_第1页
第1页 / 共15页
数据库系统实现.ppt_第2页
第2页 / 共15页
数据库系统实现.ppt_第3页
第3页 / 共15页
数据库系统实现.ppt_第4页
第4页 / 共15页
数据库系统实现.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据库系统实现.ppt》由会员分享,可在线阅读,更多相关《数据库系统实现.ppt(15页珍藏版)》请在三一办公上搜索。

1、数据库系统实现,Hector Garcia-Molina Jeffrey D.Ullman 著 Jennifer Widom(斯坦福大学)杨冬青 唐世渭 徐其钧 等译机械工业出版社,第一讲数据库系统回顾第二讲实现概述第三讲数据存储第四讲数据元属的表示第五讲索引结构及多维索引第六讲查询执行第七讲查询编译器第八讲系统故障对策第九讲并发控制第十讲再论事务管理,第一讲数据库系统回顾,DBMS的发展历史 关系数据库语言SQL查询处理及优化事务管理数据依赖和关系模式的规范化,DBMS的发展历史 数据处理的发展有三个阶段 手工处理 文件系统 数据库系统 数据库的发展也可分为三个阶段 IMS DBTG 关系模

2、型 关系数据库系统(RDBMS)发展历史大致可以分为三个阶段。第一阶段从 1970年提出关系模型后,七十年代对关系数据库的理论研究和原型开发时代。这一时期奠定了关系模型的理论基础。研究了关系数据库语言,开发出了关系数据库管理系统的一些原型,是以IBM公司的SYSTEM R和Barklay大学的Ingres为代表。第二阶段是从七十年代后期开始,RDBMS的实用阶段。这一时期一方面从理论上攻克了诸如查询优化,并发控制,完整性机制和故障恢复等一系列重大技术问题。从而使得数据库走向实用化、商业化。这一时期开发了大量的商业RDBMS产品。以ORACLE,DB2,Infomix,Ingress,RDB等为

3、代表。第三阶段是从八十年代以来,微机在性/价比上的提高,网络技术的成熟并实用化,计算机进入各个领域,大量的大规模的信息系统的建立,要求计算机应用领域由集中到分布,由单机到网络,由信息管理,辅助决策到联机事务处理,到企业级的联机事务处理。这一时期以客户/服务器的体系结构出现为标志。其代表产品有Sybase和micro softeware公司1986年推出的 SQL server为代表。,RDBMS发展三个阶段的内容 1.对关系模型的支持 1)数据结构 关系模型的表结构是其核心的基础,任何关系模型都支持表结构。2)关系操作 基于关系代数和关系演算的SQL语言是关系模型的又一个核心基础。早期的关系数

4、据库支持SQL语言的核心部分(插入、删除、修改、查询)。一九八九年公布的SQL89标准成为关系数据库的标准语言。一九九二年公布SQL92(SQL2)标准。它分成几个顺序级别:Enter(代表SQL89的最小扩展集)、Intermediate、Full。对SQL增加了许多新的特征。诸如补充了数据类型定义语言,扩充数据操作语言的功能,增加民族字符处理功能,模式操作语言,动态SQL等。SYBASE的T-SQL(Transaction SQL)具有一定的编程能力、批处理、存储过程、触发器等,增加过程语言特征。而早期SQL是非过程语言 完成于一九九九年的SQL99(SQL3)修订本具有更高级的特征,包括

5、对象-关系特征。3)数据完整性 数据完整性一般来说分为三大类:实体完整性、参照完整性、用户定义完整性。早期RDBMS以主键部分实现系统的实体完整性控制。以后,通过外围工具,或者说在应用曾处理完整性控制问题。但它存在“旁路”问题。完整性理论在第二阶段已经得到充分的研究,但由于效率问题在商业RDBMS中未得到充分的实现。第三阶段,大大地加强了对完整性的支持,多数RDBMS提供在系统层(核心层)解决各 种完整性控制问题。,2系统构成 1)RDBMS的核心功能 RDBMS产品的核心功能包括:对数据库语言:数据库定义语言(DDL)、数据库操作语言(DML)、数据库控制语言(DCL)的支持。事务管理功能:

6、诸如并发控制、故障恢复、完全性、完整性问题等。数据库的重组和重构。2)增加部分操系统功能 3)将应用软件工具与DBMS核心功能集成 RDBMS的设计目标不是解决数据处理的全部问题,RDBAS主要是解决数据的存储、组织、获取方法及事务处理等。但是目前绝大部分RDBMS厂家都提供对软件开发生命周期各阶段开发工具的支持。一是提供分离的工具集、二是对第三厂家开发工具的支持。如ORACLE的SQL*FORM、REPORTWRITE、SQL*MENU,Sybase公司的APT、S_DESIGN(Pwerdesign)以及informix公司的informix_4GK、如powerbuilder、vb等。目

7、前,Sybase已收购powersoft公司,使powerbuilder作为其产品之一。,3运行环境 随着计算机应用领域普及国民经济的各个领域,网络技术逐渐成熟和实用化,数据库的运行环境也由单机到网络,集中到分布,封闭到开放。1)分布 分布有三个含义。一是数据分布:数据物理地分布在网络的不同节点上,各节点的数据是一个统一的整体,由系统的用户共享。二是功能分布:功能分布client/server环境 在client/server体系结构下,对数据管理功能分散在客户端和服务器端完成。三是处理合成,协调的完成某一任务。2)开放分布(分布式处理)不是简单的任务由不同的机器完成,而是各计算机 开放硬件平

8、台:即能在各种硬件平台上运行。开放的支撑软件:在多种OS环境下运行。开放的网络支持:支持各种重要的网络协议。异质数据库的互连,互操作:解决异质数据库的通讯和存取。开放的用户界面:即提供给用户统一的语言界面和可移植的应用开发工具。,4对应用的支持1)信息管理,辅助决策 数据库技术是信息管理的最新技术,其主要目标是将数据管理的核心功能:数据存贮,供给,存取访问,事务管理等交由一个统一的RDBMS管理。数据库在信息管理领域的巨大成功,刺激了数据库技术在其他领域上的应用。从本质上讲,信息管理是一种批处理,对事务处理的时间相应要求不高。如非过程的物质管理,财务管理,资源管理等。2)机事务处理OLTP 联

9、机事务处理通常是指实时、连续的一类事务处理,它要求由家高的事务处理相应时间。事务吞吐量大,同一时刻有大量的并发事务。较高的可靠性和可用性系统不能停机,强有力的故障恢复能力,联机处理故障能力。数据完整性要求。典型的联机事务处理定票系统和交易系统。3)企业级的联机事务处理大规模联机事务处理。企业级的联机事务处理是更大范围的联机事务处理。它由部门级扩大到整个企业、行业。(1)企业级联机事务处理的一些主要特征 除了一些一般的联机事务处理特征外,应有自己的特殊性。场地分散运行环境的分布。计算机分布在不同的地点,跨地域,跨国,可对全球范围联网。计算机环境的异构硬件,操作系统,网络,数据库。系统的复杂性功能

10、的变化,功能的增减,规模的扩大、减少,场地的变迁,用户量的变化等。资源保护这类应用不是从头开始设计,而是在原系统的基础上进一步扩充,开发,集成而来。原有系统的资源能被继续使用,这些资源包括:硬件资源,软件资源,应用开发成果,信息资源。这其中信息资源更是首当其冲。(2)RDBMS的要求 分布性、开放性、异构系统的可互操作性、可缩放性(scalability)、国际标准。,数据库技术的的发展方向 数据库技术的的发展方向大体可分为三个方面:数据库技术、方法、理论方面的发展。数据库产品和工具的发展。数据库技术与相关技术的融合出现了新的数据库兄弟成员,进而发 展成为一个数据库大家族,这个家族成员甚多,技

11、术面丰富,应用领域广阔。数据库技术发展的基础可以涉及两种动力,是源于技术发展和应用需求的推动。,数据库技术、方法、理论的发展 数据库技术、方法、理论的发展的内容甚为丰富,主要有三个方面:数据模型的发展、SQL的标准化、数据库安全技术。现就三个方面表述:数据模型(1)数据模型的发展 数据模型是数据库系统的基础,因此可将数据模型的发展作为数据库发展的重要标 志。早期基于层次和网状模型称为第一代数据库。关系模型的出现使数据库系统得到迅速的发展称为第二代数据库。随着数据库应用不断深入和推广,关系数据库存在的某些固有局限性已不能满足更广泛的应用要求,面向对象数据库系统应运而生即所谓的第三代数据库。新的应

12、用要求 处理数据量的增加,支持大量数据的存储。八十年代末存储100万条记录,存储总量为50G的数据库被成为超大规模数据库;到九十年代初达到几千万条,总容量几T;九十年代末存储容量达到几百上千T;目前大规模数据库容量以PetaByte(103T)甚至以ExaByte(106)T计量。急剧增长的数据库容量一方面由于MIS常年运行积累了越来越多的数据,更重要的是应用的扩展。诸如多媒体信息、商业智能、股票证卷、生物DNA分析、医学X光切片、GIS系统等要求大量数据的存储和处理 数据库系统中事务处理的迅速增长,平均吞吐量80年代为每秒100个,目前最高可达每秒5000个。在大型企业事务处理的增长速度是每

13、年23倍。丰富的处理对象如图象、图形、音频、视频等多媒体数据、三维空间数据、时态数据、超文本、复杂对象和知识等,要求更丰富的数据表示能力。大型企业级应用本质上的分布性、开放性要求数据、处理、控制的分布性和异质数据库的互连及互操作。(2)关系数据库某些固有局限性 关系数据库系统主要应用是面向事务处理,即面向商业应用。它对传统的商业应用以外的领域不适合。如CASE、CIMS、图象DB(资源卫星数据、地理信息系统、医学系统)、IR(信息检索)等。只能存储离散数据和有限的数据间关系(如1:1、1:N、N:M等),语义表达能力差,所以难以描述客观世界的复杂性。数据类型简单,固定。系统只能理解,存储处理简

14、单数据类型(数字、串、日期、布尔、货币等类型),而复杂数据类型必须由用户利用高级程序语言来构造。,(3)面向对象数据库技术 数据库技术发展中最鲜亮的内容是面向对象数据库技术,它是面向对象技术和数据库技术的有机的结合,它有着关系数据库没有的优点。面向对象数据库技术在一段时间曾引起广泛的争论,讨论的要点是能否代替关系数据库。就目前来看应该是一种共存道路,或者会是两者的融合过程。面向对象数据库(OODB)+关系数据库(RDB)对象关系数据库(ORDB)A、面向对象技术特点 面向对象的特征:类和继承性,对象及对象标识、封装性、信息/实现隐蔽、状态保持,消息,多态性,一般性。面向对象技术的出现正是弥补了

15、前述关系模型的固有局限性。对象数据模型是有很强的描述复杂对象的能力,能包含更多的数据语义信息。面向对象方法可很方便的表示嵌套对象,因而很容易表达层次数据,这点与RDB形成鲜明的对比,RDB强迫用户用多个关系的元组表达层次数据。面向对象方法可方便的构造各种类型、而RDB不提供增加用户定义数据类型的手段。适应某些特殊的应用:工程数据,空间数据等。对象封装和继承机制,是面向对象数据库中程序以及数据的存储和管理的基础。RDB现支持的“存储的过程”,但不支持数据、操作的封装,没有继承机制,存储过程不能自动被应用。,B、构造一个一个面向对象的数据库管理系统有三种方法:采用持久程序设计语言 即将现有的程序设

16、计语言(PL)的类型系统直接作为数据类型。PL既作为DML,又作为DDL,实现PL与DB的无逢连结。另外还对PL增加持久性,查询处理能力,事务处理能力。主要系统有:Gemstone、Ontos、Objectstore、ObjectDB、Versant。可采用的PL有:C+和Smalltalk.扩充关系型RDB 在扩充的关系模型中,基本数据类型仍是关系,它主要用于支持新的应用。这些系统主要扩充数据类型如:二进制大对象BLOB,集合和元组为值的域 对象关系模型RDBMS 它将现有的RDBMS和OODBMS的优点结合起来,并提供从现有商用数据库转换为对象关系型数据库的途径。用户不需要知道二者在技术上

17、的区别。试验系统:UpsopenODB、uniSQL。C、面向对象数据库技术目前还不成熟。缺少理论基础 数据库语言还缺少形式化基础。还没有统一标准。尽管我们增加了上述的面向对象的特征,但并不意味着放弃第二代数据库系统曾取得的巨大成就。反之,OODB必须包含第二代DBMS一些特性,如非过程数据存取,数据独立性、持久性,辅存管理,并发性,备份和恢复,以及查询。(4)分布式数据库和多媒体数据库,SQL语言标准化(1)SQL语言的三个标准 数据库语言是数据库与应用的重要接口,是操作数据库的重要工具。如前所述SQL已发表三个标准。1998.4提出了具有完整性增强特性的SQL89,1992.11公布了新的

18、标准SQL92(SQL2),1999公布了SQL99(SQL3。)(2)ORSQL(对象-关系SQL)SQL99引入了支持ORDBMS模型的SQL(有些文献称为ORSQL(对象-关系SQL),也有些文献称为OSQL),在关系模型中增加面向对象的优点,对SQL语言进行了扩充。类型扩充 增加新的数据类型:数组,序列,集合及类型的递归组合。对象-关系模型容许在单一行的一列的值包含类似于行一样的集合(或其它一些汇集类型(COLLECTION TYPE),如数组),单个列自身也可以拥有一个表(对象集合),称为嵌套表。ORSQL支持用户对象定义。ORACLE称为对象类型、INFORMIX称为行类型、DB2

19、 UDB成为用户定义类型(UDT)。他们可以视为对象(在ORDQL中习惯看作行)格式,即对象的属性和类型。这样,一个表可定义为包含用户定义类型的多个对象(行),同时,表内的一列可定义为包含一个用户定义类型的值,即一列可以有像对象(行)一样的值。所有这些都违反了关系模型的第一范式:不容许列中出现型如多值域(重复值)任何的内部结构(如记录),方法,函数(User Defines Functions,UDFs)和过程(Procedure)SQL 在面向对象语言中,对象的私有数据只能通过对象方法访问(封装),这些方法是一些函数,可被调用来在特定对象上进行操作的函数。在过程性语言中,为完成某项任务程序是

20、写成一组有序的指令序列。而在非过程语言中(如交互式SQL)要求希望完成的任务被一次性的完全描述。这意味有些十分简单的任务(如在大量可能的格式中打印报告)非过程语言不能完成,而需要过程语言完成。Sybase的SQLserver引入了过程SQL:T_SQL(Transaction SQL).它支持内存驻留变量、条件和循环结构、过程和函数以及在一个程序中执行SQL的能力。用过程SQL编写的函数可以以内部函数(build-in function)的方式用非过程SQL语句中。如Select子句中列表表达式的SUM、MAX、。函数。在Cilent/Server应用程序中用过程SQL编写的程序,分别在客户端

21、和服务器端执行,一个用过程SQL编写的函数在服务器端执行,称为存储过程。有一种特殊的存储过程叫触发器,它是被某些特殊事件激活的过程性SQL语句块。用户定义函数(UDF)是用过程性SQL(或高级语言C、Java等)编写的函数。它可以像交互式SQL的内部函数(Build-in)一样被调用,也可以在过程SQL中被调用。方法是与用户定义类型一起定义的用户定义函数。在ORSQL中对象方法是依附于对象的函数;而UDFs是不完全依附于对象,但可以将多个不同的对象当作同等重要的参数。,数据库安全技术 从某种意义讲,可以认为数据库的安全是数据库系统的生命。因为数据库技术应用和数据库系统建立的领域广泛且涉及到重要

22、的商业利益和要害信息,就使对数据库安全要求更为突出。数据库特性和优点来自其数据共享,而数据库的安全问题也源于其数据共享。(1)安全性标准 1983年美国政府发布了“可信计算机系统评价标准”TCSEC 欧洲也发布了“信息技术安全标准“ITSEC 1994.4,美国国家计算机中心NCSC颁布“可信计算机系统评价标准在数据库系统的解释“TDI 我国颁布的“中华人民共和国计算机信息系统安全保护条例”(2)安全系统的等级 TCSEC将安全系统评价分为四类七个等级:D;C1,C2;B1,B2,B3;A1 D最低,A1最高。(3)TCB(可信计算机基础)TCSECTDI.的一个重要概念是TCB可信计算机基础。可信的软件 可信的硬件 可信的系统安全管理人员。它们是构成可信计算机的基础,计算机系统的安全依赖依赖于安全策略实施的软硬件和人员。(4)数据库安全技术的研究内容。安全级别的划分 安全威胁的来源 安全控制技术和措施 信息流程控制 推论控制 存取控制,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号