【精品】数据库系统讲义 (2)_第1页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库技术及应用第一讲数据库技术基础(一)数据管理技术的发展数据管理技术的发展,与硬件(主要是外存)、软件、计算机应用的范围有密切联系。数据管理技术的发展经历了三个阶段:人工阶段、文件系统阶段和数据库阶段。1 人工阶段(20世纪50年代中期以前)数据管理特点为:l 数据不保存在机器中l 没有专用的软件对数据进行管理l 只有程序的概念,没有文件的概念l 数据面向应用2 文件系统阶段(20世纪50年代后期至60年代中期)数据管理的特点为:l 数据可长期保存在外存的磁盘上l 数据的逻辑结构与物理结构有了区别l 文件组织已呈现多样化,有索引文件、链接文件和散列文件等l 数据不再属于某个特定的程序,可以

2、重复使用3数据库阶段(20世纪60年代末开始至今)数据管理的特点为:l 采用复杂的数据模型表示数据结构l 有较高的数据独立性l 数据库系统为用户提供方便的用户接口,用户可以使用查询语言或终端命令操作数据库,也可以用程序方式操作数据库l 系统提供数据库的恢复、并发控制数据完整性和数据安全性四个方面的数据控制功能,以保证数据库是安全的、正确的和可靠的;对数据的操作可以以记录为单位,也可以以数据项为单位(二)数据描述1在数据处理中,数据描述将涉及三个领域:现实世界、信息世界和机器世界。l 现实世界是存在于人们头脑之外的客观世界l 信息世界是现实世界在人们头脑中的反映,人们把它用文字和符号记下载下来。

3、信息世界中数据描述的述术语有实体、实体集、属性和实体标识符l 机器世界中信息世界的信息以数据形式存储。机器世界中数据描述的术语有字段、记录、文件和关键码。机器世界中的术语和信息世界中的术语有对应关系。在数据库中,每个概念都有类型和值的区分,类型是概念的内涵,而值是概念的外延。2数据描述有物理描述和逻辑描述两种形式。l 物理数据描述是指数据在存储设备上的存储方式。物理数据是实际存放在存储设备上的数据;l 逻辑数据描述是指程序员或用户用以操作的数据形式,是抽象的概念化数据。3根据访问数据的速度、成本和可靠性,计算机系统的存储介质分为六类:高速缓冲存储器、主存储器、快擦写存储器、磁盘存储器、光存储器

4、和磁带。存储介质组成了计算机系统的三个存储层次:基本存储器、辅助存储器(联机存储器)和第三级存储器(脱机存储器)。物理存储中的数据描述的术语有:位、字节、字、块、桶和卷。(三) 数据模型数据模型表示实体类型及实体间联系的模型。目前广泛使用的数据模型可分为两种类型:概念数据模型和结构数据模型1 概念数据模型概念数据模型是指独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。这一类中著名的模型是“实体联系模型”,简称er模型。er模型是直接从现实世界中抽象出实体类型及实体间联系,然后用er图表示的数据模型。er图包括四个基本成分:矩形框、菱形框、椭圆形框

5、和直线。2 结构数据模型(四)数据库的体系结构1数据库具有概念模式、外模式、内模式三级结构和外模式/膜式映象、模式内模式映象两级映象。(1)概念模式概念模式是对数据库中全部数据的整体逻辑结构的描述,它由若干个概念记录类型组成。(2)外模式外模式是用户与数据库的接口,是用户用到的那部分数据的描述,它由若干个外部记类型组成。(3)内模式内模式是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。(4)外模式/模式映象它存在于外部级和概念级之间,用于定义外模式和概念模式间的对应性,一般在外模式中描述。(5)模式内模式映象存在于概念级和内部级之间,用于定义

6、概念模式和内模式间的对应性,一般在内模式中描述。2数据库系统具有数据独立性的特点。数据独立性分为物理数据独立性和逻辑数据独立性两级。(1)物理数据独立性是指对内模式的修改尽量不影响概念模式,当然对于外模式和应用程序的影响更小。(2)逻辑数据独立性是指对概念模式的修改尽量不影响外模式和应用程序。3用户用户是指使用数据库的应用程序或联机终端用户。数据库管理系统提供数据操纵语言(dnl)让用户或程序员使用。根据使用方式的不同,dml可分类自含型dml(又称交互型dml)和嵌入型dml(又称宿主型dml)两类。宿主语言是指编写应用程序的语言。用户界面是用户和数据库系统间的一条分界线。(五)数据库管理系

7、统数据库管理系统(dbms)是指数据库系统中管理数据的软件系统。dbms是数据库系统的核心组成部分。对数据库的一切操作,包括定义、查询、更新及各种控制,都是通过dbms进行的。dbms的主要功能有: 数据库的定义功能:dbms提供数据定义语言定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性、完全控制等约束。 数据库的操纵功能:dbms提供数据操纵语言实现对数据库中数据的操作 数据库的保护功能:dbms对数据库的保护主要通过数据库的恢复、数据库的并发控制、数据库的完整控制等四个方面实现。 数据库的存储管理:dbms的存储管理子系统提供了数据库中数据和应用程序

8、的一个界面,其职责是把各种dml语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。 数据库的维护功能:dbms中实现数据库维护功能的实用程序主要有数据装载程序、备份程序、文件重组织程序和性能监控程序。 数据字典(dd):数据库系统中存放三级结构定义的数据库称为数据字典,对数据库的操作都要通过访问dd才能实现。说明:从模块结构观察,dbms有查询处理器和存储处理器两大部分组成。用户访问数据的过程即是应用程序通过dbms读取写人数据库中记录的过程。(六)数据库系统数据库系统是一个实际可运行的,按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件、软件和数据库管理员

9、(dba)的集合体。数据库是与一个特定组织各项应用有关的全部数据的集合,它包括物理数据库和描述数据库两大部分。硬件包括中央处理机、内存、外存、输入设备、数据通道等硬件设备。软件包括dbms、os、各种宿主语言和应用开发支撑软件等程序。dba是控制数据整体结构的人,负责dbs的正常运行。按照模块结构划分,dbs的全局结构如下: 数据库用户。包括四类,即dba、专业用户、应用程序员、最终用户 dbms的查询处理器。包括四部分,即dml编译器、嵌入型dml的预编译器、ddl编译器、查询运行核心程序 dbms的存储管理器。包括四部分,即授权和完整性管理器、事务管理器、文件管理器、缓冲管理器 磁盘存储器

10、中的数据结构:包括四种形式,即数据文件、数据字典、索引文件、统计数据组织。在应用中,dbs的效益具体表现在七个方面,即灵活性、简易性、面向用户、数据控制、程序设计方便使应用系统的开发速度加快、减少了程序维护的工作量、标准化。第二讲关系数据库系统(一)关系数琚厍系统概还1关系数据库系统关系数据库系统是支持关系数据模型的数据库系统。30年来,关系数据库系统的研究取得了辉煌的成就。关系方法从实验室走向了社会,涌现出许多性能良好的商品化关系数据库管理系统(robms)。如著名的ibmdb2,oracle,ingres,sybase,informix等。数据库的应用领域迅速扩大。2关系数据模型关系数据模

11、型由关系数据结构、关系操作集合和关系完整性约束3大要素组成。(二)关系模型的数据结构1关系模型的数据结构和基本术语(1)关系(relation):一个关系对应一个二维表,二维表名就是关系名。(2)属性(attribute)和值域(domain):在二维表中的列(字段),称为属性。属性的个数称为关系的元数,列的值称为属性值;属性值的取值范围称为值域。(3)关系模式(relationschema):在二维表中的行定义(记录的型),即对关系的描述称为关系模式,一般表示为:关系名(属性1,属性2,属性n)(4)元组(tuple):在二维表中的一行(记录的值),称为一个元组。关系模式和元组的集合通称为关

12、系。(5)分量(component):元组中的一个属性值(6)候选码(candidatekey)或候选键:如果在一个关系中,存在多个属性(或属性组合)都能用来惟一标识该关系的元组,这些属性(或属性组合)都称为该关系的候选码或候选键。(7)主码(primarykey)或主键:在一个关系的若干个候选码中指定一个用来惟一标识该关系的元组,这个被指定的候选码称为该关系的主码或主键。(8)主属性(primaryattribute)和非主属性(nonprimaryattribute):关系中包含在任何一个侯选码中的属性称为主属性或码属性,不包含在任何一个候选码中的属性称为非主属性或非码属性。(9)外码(f

13、oreignkey)或外键:当关系中的某个属性(或属性组)虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的外码。(10)参照关系(referencingrelation)与被参照关系(targetrelation):参照关系也称从关系,被参照关系也称主关系,它们是指以外码相关联的两个关系。以外码作为主码的关系成为被参照关系;外码所在的关系称为参照关系。(见p54“概论”)2关系的形式定义和关系数据库对关系的限定(1) 关系的形式定义(2)关系数据库对关系的限定 每一个属性是不可分解的。 每一个关系模式中属性的数据类型以及属性的个数是固定的,并且

14、每个属性必须命名,在同一个关系模式中,属性名必须是不同的。每一个关系仅仅有一种记录类型,即一种关系模式o在关系中元组的顺序(即行序)是无关紧要的o在关系中属性的顺序可任意交换,交换时应连同属性名一起交换才行,否则顺序是重要的。同一个关系中不允许出现完全相同的元组。(三)关系模型的完整性约束1数据库数据完整性规则的分类数据完整性由完整性规则来定义,关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。2实体完整性规则实体完整性规则是对关系中的主属性值的约束o3参照完整性规则现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体

15、间的联系都是用关系来描述的,这样就自然存在着关系与关系之间的参照(引用)。4用户定义的完整性用户定义的完整性通常是定义对关系中除主码与外码属性外的其他属性取值的约束,即对其他属性的值域的约束。对属性的值域的约束也称为域完整性规则(domainintegrityrule),是对关系中属性取值的正确性限制,包括数据类型、精度、取值范围、是否允许空值等。取值范围又可分为静态定义和动态定义两种:l 静态定义取值范围是指属性的值域范围是固定的,可从定义值的集合中提取特定值;l 动态定义取值范围是指属性的值域范围依赖于另一个或多个其他属性的值。(四)关系代数关系代数的运算可分为两类:传统的集合运算这类运算

16、将关系看成是元组的集合,其运算是从关系的“水平”方向,即行的角度来进行的,有:并、交、差、广义笛卡尔积。专门的关系运算这类运算不仅涉及行而且涉及列,有:选择、投影、连接、除。1传统的集合运算传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积4种运算。2专门的关系运算专门的关系运算主要包括:对单个关系进行垂直分解(投影操作)或水平分解(选择操作)和对多个关系的结合(连接操作)等。第三讲关系数据库标准语言sql(一)sql概述关系数据库sol语言是介乎于关系代数和元组演算之间的一种语言,广泛应用于商用系统中,是关系数据库的标准语言。sql是sequel的简称,其前身是square语言。sql数

17、据库的体系结构基本上也是三级结构。在sol中,关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”。sql数据库的体系结构有六个要点。sql主要由数据定义、数据操纵、数据控制和嵌入式sql的使用规定四部分组成。(二)sql的数据定义sol的数据定义部分也称为“sqlddl',用于定义sql模式、基本表、视图和索引。该部分包括对sql模式、基本表、视图和索引的创建和撤消操作。sql的数据定义语句有:sql的模式创建语句和撤消语句,基本表的创建、修改和撤消语句,视图的创建和撤消语句,索引的创建和撤消语句。sql提供的数据类型主要有数值型、字符串型、位串型和时间型四种。sql

18、允许在这四种域上执行比较操作,但算术操作只限于数值型。sql2允许用户使用“createdomain”语句定义新的域。(三)数据查询sql的数据查询属于sol的数据操纵部分,即“sqldml"部分。sol的数据查询用select语句来实现。select语句能表达所有的关系代数表达式。如果一个查询涉及多个基本表,则select语句可有多种写法,即嵌套查询、联接查询、使用存在量词的嵌套查询等。select语句完整的句法如下:select目标表的列名或列表达式序列from基本表和(或)视图序列where行条件表达式groupby列名序列having组条件表达式orderby列名asc|de

19、sc。其执行过程为:(1)读取from子句中基本表、视图的数据,执行笛卡尔积操作;(2) 选取满足where子句中给出的行条件表达式的元组;(3) 按group子句中指定列的值分组,同时提取满足having子句中组条件表达式的那些组;(4) 按select子句中给出的列名或列表达式求值输出;(5) order子句对输出的目标表进行排列。(四) sol的数据更新sql的数据更新也属于sql的数据操纵部分,包括数据插入、删除和修改三种操作。基本表的数据更新语句包括:元组值的插入语句,查询结果的插入语句,数据的删除语句和修改语句。对于视图元组的更新操作有三条规则:(1)如果一个视图是从多个基本表使用

20、联接操作导出的,则不允许对这个视图执行更新操作;(2)如果在导出视图的过程中,使用了分组和聚合操作,则不允许对这个视图执行更新操作;(3)如果视图是从单个基本表使用选择、投影操作导出的,并且包含了基本表的主键或某个候选键,那么这样的视图称为“行列子集视图”,并且可以被执行更新操作。sql2中,允许更新的视图在定义时,必须加_k"withcheckoption”短语。(五)嵌入式solsql语言有两种方式:一种是在终端交互方式下使用,称为交互式sql;另一种是嵌入在高级语言的程序中使用,称为嵌入式sql。嵌入式sql的实现有两种处理方式:一种是扩充宿主语言的编译程序,使之能处理sql语

21、句;另一种是采用预处理方式。目前多数系统采用预处理方式。在嵌入式sql中,共享变量是sql和宿主语言的接口。sql2规定,sqlstate是一个特殊的共享变量,起着解释sql语言执行状况的作用。在宿主语言的程序中使用sql语句有以下规定:(1) 在程序中要区分sql语言与宿主语句。所有sql语句前必须加上前缀标识"execsql,并以"endexec"作为语句结束标志。结束标志在不同的宿主语言中是不同的。(2) 允许嵌入的sql语句引用宿主语言的程序变量,但在引用时,这些变量前必须加昌号“:”作为前缀标识,以示与数据库中变量有区别,而且这些变量必须先由宿主语言的程

22、序定义,并用sql的declare语句说明。(3) 用游标机制协调sql的集合处理方式与宿主语言单记录处理方式。与游标有关的sql语句有四个,即游标定义语句、游标打开语句、游标推进语句、游标关闭语句。sqlddl语句,只要加上前缀标识"execsql"和结束标志"endexec"就能嵌入在宿主语言程序中使用。而sqldml语句在嵌入使用时,还要注意是否使用了游标机制。(1) 若是insert,delete和update语言,则不必涉及游标,只要加上前缀标识和结束标志就能嵌入在宿主语言程序中使用。(2) 若是已知查询结果肯定是单元组的sllect语句,则不

23、必涉及游标,也可加上前缀标识和结束标志后嵌入在宿主语言程序中使用,但此时应该在select语句中增加一个into子句,指出找到的值应送到相应的共享变量中去。(3) 若是已知查询结果为多个元组的select语句,则必须涉及到游标,用游标机制把多个元组一次一个地传送给宿主语言程序处理。游标在推进时只能沿查询结果中元组顺序从头到尾一行行推进,并且不能返回,这给使用带来不便。为此,sql2提供了卷游标技术来解决这一问题。卷游标在推进时可以进退自如。第四讲关系数据库的规范化理论与数据库设计(一)关系模式的设计问题给出一组数据,如何构造一个适合于它们的数据库模式,这是数据库设计的问题。关系数据库设计理论主

24、要包括三个方面的内容:数据依赖,范式,模式设计方法。其中数据依赖起着核心作用。把现实问题的所有属性组成一个关系模式,记为r(u),它由属性集u和u上成立的数据完整性约束集组成。关系r是关系模式r(u)的当前值,是一个元组的集合。这里的关系模式和关系一般称为泛关系模式和泛关系。用一个关系模式的集合p=rl,r2,。,rk来代替r,其中每个ri(1ik)的属性是u的子集。这里的p称为数据库模式。对数据库模式的每一个关系模式赋予一个当前值,就得到一个数据库实例(简称数据库)泛关系模式存在的存储异常问题有:数据冗余,更新异常,删除异常。(二)函数依赖(三)关系模式的分解特性(四)关系模式的范式(五)数

25、据库设计数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。(六)规划规划阶段的主要任务是进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。(七)需求分析需求分析阶段应该对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和

26、数据库设计者都能接受的文档。需求分析就是把总体信息需求、处理需求以及企业自身的制约条件等几方面的因素进行综合考虑,最后规划出一份既切合实际,又具有远见的需求说明书。需求分析大致分为三步来完成,即需求信息的收集、分析整理和评审。需求信息的收集又称为系统调查,在调查研究之前,要做好充分的准备工作,要明确调查的目的、调查的内容和调查的形式。需求信息的分析整理包括业务流程分析和分析结果的描述,业务流程分析一般采用数据流分析法,分析结果以数据流图(dfd)表示,除了dfd以外,还要用一些规范表格进行补充描述。评审的目的在于确认某一阶段的任务是否全部完成,以避免重大的疏漏或错误。(八)概念设计概念设计的目

27、标是产生反映企业组织信息需求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的dbms,不依赖于计算机系统的。概念设计的必要性表现在:(1) 数据库设计过程中各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理;(2) 不受特定的dbms的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模式更为稳定;(3) 概念模式不含具体的dbms所附加的技术细节,更容易为用户所理解,因而才有可能准确地反映用户的信息要求。(九)逻辑设计逻辑设计的目的是把概念设计阶段设计好的基本er图转换为与选用的具体机器上的dbms所支持的数据模型相符合的逻辑结构(包括数据库模式和外模

28、式)。这些模式在功能上、完整性和一致性约束及数据库的可扩充性等方面均应满足用户的各种要求。在逻辑设计阶段主要输入如下信息:(1) 独立于dbms的概念模式;(2) 处理需求;(3) 约束条件;(4) dbms特性。在逻辑设计阶段主要输出如下信息:(1) dbms可处理的模式;(2) 子模式;(3) 应用程序设计指南;(4) 物理设计指南。逻辑设计的主要步骤有:(1) 初始模式的形成;(2) 子模式设计(3) 应用程序设计梗概;(4) 模式评价;(5) 修正模式。er模型中的主要成分是实体类型和联系类型。在er模型向关系模型转换是时:(1) 实体类型。将每个实体类型转换成一个关系模式,实体的属性

29、即为关系模式的属性,实体标识符为关系模式的键。(2) 联系类型。若实体间的联系是1:1的,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性若实体间的联系是1:n的,则在n端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性;若实体间联系是m:n的,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。关系数据库的逻辑设计过程为:(1) 从er模式导出初始关系模式。(2) 规范化处理:确定规范级别和实施规范化处理。(3) 模式评价:包括功能评价和性能评价。(4) 模式修正

30、:可采用合并、分解或选用另外结构的方式进行。在经过模式评阶及修正的反复多次后,最终的数据库模式得以确定,全局逻辑结构设计即告结束。在逻辑设计阶段,还要设计出全部子模式。(十)物理设计对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。所谓数据库的物理结构,主要指数据库在物理设备上的存储结构和存取方法。它是完全依赖于给定的计算机系统的。在物理结构中,数据的基本单位是存储记录。“文件”是某一类型的所有存储记录的集合。一般我们用“文件”表示单记录类型的物理数据库。物理设计可分五步来完成:(1) 存储记录结构设计:包括记录的组成、数据项的类型和长度,以及逻辑记录到存储

31、记录的映射;(2) 确定数据存储安排;(3) 访问方法的设计;(4) 完整性和完全性;(5) 程序设计。前三步涉及到物理数据库结构的设计,后两步涉及到约束和具体的程序设计。物理设计阶段的输出是物理数据库结构说明书,包括存储记录格式、存储记录位置及访问方法。它能满足所有的操作需求并给出对硬件、软件系统的约束。在设计过程中效率问题只能在各种约束得到满足且获得可行方案之后进行。(十一)实现与维护在数据的实现与维护阶段,设计人员运用dbms提供的数据定义语立,将逻辑设计和物理设计的结果严格地描述出来,成为dbms可接受的源代码,经过调试产生目标模式,然后组织数据入库。实现阶段的主要工作有:(1) 建立

32、实际数据库结构;(2) 试运行;(3) 装人数据。在数据库正式投入使用之前,还有一些工作要做。如数据库的重新组织设计,故障恢复方案设设计、安全性考虑和事务控制等。运行维护阶段的主要工作是:(1) 维护数据库的安全性与完整性控制及系统的转储和恢复;(2) 性能的监督、分析与改进;(3) 增加新功能;(4) 发现错误,修改错误第五讲数据库管理系统(一)数据库管理系统概述1dbms的系统目标数据库管理系统是数据库系统的核心。从用户来看,一个dbms应尽可能具有如下的系统目标。(1) 用户界面友好(2) 结构清晰(3)开放性2dbms的基本功能(1)数据库定义功能(2)数据存取功能(3)数据库运行管理

33、(4)数据组织、存储和管理功能(5)数据库的建立和维护功能(6)其他功能(二)数据库管理系统的结构和运行过程1dbms程序模块的组成(1)数据定义方面的程序模块(2)数据操纵方面的程序模块(3)数据库运行管理方面的程序模块(4)数据库组织、存储和管理方面的程序模块(5)数据库建立、维护和其他方面的程序模块2dbms的层次结构最上层是应用层,位于dbms核心之外。它处理的对象是各种各样的数据库应用,如用开发工具开发的或用宿主语言编写的应用程序,终端用户通过应用接口发出事务请求或各种查询要求。该层是dbms与终端用户和应用程序的界面层。第二层是语言翻译处理层。它处理的对象是数据库语言,如sql。向

34、上提供的数据接是关系、视图,即元组的集合。其功能是对数据库语言的各类语句进行语法分析、视图转换、授权检查、完整性检查、查询优化等。通过对下层基本模块的调用,生成可执行代码。这些代码的运行即可完成数据库语句的功能要求。第三层是数据库取层。该层处理的对象是单个元组,它把上层的集合操作转化为单记录操作。执行扫描(如表扫描)、排序、元组的查找、插入、修改、删除、封锁等基本操作。完成数据录的存取、存取路径维护、并发控制、事务管理等工作。第四层是数据存储层。该层处理的对象是数据页和系统缓冲区。执行文件的逻辑打开、关闭、读页、写页、缓冲区读和写、页面淘汰等操作,完成缓冲区管理、内外存交换、外存的数据管理等功

35、能。(三)新的应用要求对dbms的挑战(1)rdbms的发展过程rdbms产品经历了从集中到分布,从单机环境到网络,从支持信息管理到联机事务处理(oltp),再到联机分析处理(olap)的发展过程;对关系模型的支持也逐步完善,系统的功能不断增强。(2)新的应用需求对dbms的挑战随着数据库技术的发展,数据库应用领域越来越广泛,各应用领域对数据库的需求也不断增加。计算机应用由以前的单项业务处理朝着复杂综合业务系统发展。在这综合系统中,不仅包括大量的联机事务处理(oltp),同时还有大量的批处理和决策支持及联机分析处理(olap)等需求。因此,需要各种新技术来解决现实应用的需求。(四)oracle

36、数据库系统1oracle数据库系统简介oracle数据库系统是美国oracle公司的产品。该公司1979年推出了世界第一个商业化的关系型数据管理系统。最近推出的oracle9i是业界第一个完整的、简单的用于互联网的新一代智能化的、协作各种应用的软件基础架构。oracle9i实际上是指oracle9i数据库、oracle9iapplicationserver和oracle9idevelopersuite的完整集成。2oracle的主要产品及其功能oracle产品主要包括数据库服务器、开发工具和连接产品3类。(1)oracle数据库服务器功能及其特色oracle数据库服务器包括标准服务器和许多可选

37、的服务器选件,选件用于扩展标准服务器的功能,以适应特殊的应用需求。标准服务器主要具有下列特色:多进程多线索的体系结构。高性能核心技术。高可用性。sql的实现o并行服务器选件(paralleserveroption)和并行查询选件(parallequeryoption)分布式选件(distributedoption)过程化选件(proceduraloption)(2)oracle的工具产品及其功能为方便用户开发数据库应用程序,oracle提供了众多工具供用户选择使用。主要有:developer2000dsigner/2000支持联机分析处理(olap)并行处理能力discoverer'2

38、000oracleofficesqldbaoracle预编译器oracle调用接口(3)oracle的连接产品及其功能sql*net是一个负责客户机与服务器之间网络通信的产品,它使得客户计算机上的oracle应用开发工具能够访问远程的oracle数据库服务器中的数据。它允许客户机和服务器是异构计算机与操作系统,并支持tcpip等多种网络通信协议。oracle多协议转换器oracle7支持所有主要的网络协议;允许异种网络的多协议交换;提供协议透明性;拥有启动的可选网络路由选择等。oracle开放式网关(opengateway)oracle开放式网关技术能把多种数据源集成为一个整体,使得应用程序不

39、做任何修改就可以运行在非oracle数据源上(即访问非oracle数据库中的数据)。开放式网关包括透明网关和过程化网关。利用透明网关,oracle应用程序可以直接访问ibmdb2和sqlds,decrms和rdb、tandamnonstopsql、hpturboimage等数据源。如果需要访问其他数据源,则必须通过过程化网关,即用户用plsql编程构造网关。3oracle的数据仓库和intemet解决方案(1)oracle的数据仓库解决方案oracle的数据仓库解决方案是oracleolap产品,主要包括服务器端的oracleexpressserver选件与客户端的oracleexpresso

40、bjects和oracleexpressanalyzer工具。(2)oracle的intemet解决方案鉴于数据库是存储与管理信息的最有效的方式,将数据库技术与web技术结合应用于internet会很有前途。oracle针对intemet/intranet的产品是oraclewebserver。由oracleweblistener,oraclewebagent和oracle7服务器三部分组成。·(五)ibmdb2数据库系统1ibmdb2数据库系统简介ibmdb2数据系统是美国ibm公司的产品。starburst的目的是要针对ibm研究人员对sql关系型数据库各种局限的了解,建立新一代

41、的、具延伸性的关系型数据库原型。延伸性指的是在数据库各子系统实现开放性,使用户能够很容易地把新功能加注到一个sql关系型数据库里,以便支持新一代的应用。starburst为新一代商用对象关系型数据库(objectrelationaldatabase)提供了宝贵的经验与技术来源。2db2通用数据库的功能和特色db2家族除了包含在各种平台上运行的数据库管理系统内核之外,产品包中还包括了数据复制、数据库系统管理、环球网(internet)网关支持、在线分析处理、多媒体支持和各种并行处理能力,并为所有平台上的异构数据库访问提供“中间件”(middleware)解决方案。db2通用数据库(udb)v71

42、的特色有:支持intemet应用支持面向对象和多媒体应用支持联机分析处理(olap)并行处理能力3ibm的商务智能解决方案商务智能解决方案的基本结构往往包括以下3个部分:数据仓库,用于抽取、整合、分布、存储有用的信息;多维分析模型,全方位了解现状;前台分析工具,提供简单易用的图形化界面给管理人员。4ibm内容管理(contentmanagement)解决方案(1)ibmcontentmanagerondemandibmondemand解决方案可以完成电子存储、回取、分发、打印和传真,在极短的时间内就可以在显示器上获得与原来提供给客户的一模一样的报表/帐单以及其他计算机输出信息。(2)digit

43、allibrary(数字图书馆)ibm数字图书馆技术使人们快速而廉价地管理、访问、保护以及传递大量多种多样的资料成为可能。(六)sybase数据库系统1sybase数据库系统简介sybase是美国sybase公司的产品。1999年8月,sybase正式发布了针对企业门户(ep)市场的公司策略,进一步加强了公司在企业数据管理和应用开发、移动和嵌入式计算机、intemet计算环境及数据仓库等领域的领先地位。2sybase数据库系统的功能及其特色目前,sybase数据库系统定位在4个方向:分别在企业解决方案、intemet应用、商务智能和移动与嵌入计算领域为客户提供先进的技术。企业解决方案包括企业级

44、数据库,数据复制和数据访问。主要产品有:sybaseep,adaptiveserverenterprise,adaptiveserverreplication,adaptiveserverconnect及异构数据库互联选件。(1)sybase企业门户(2)企业级数据库服务器(3)openclientenserver(4)replicationserver(5)powerdesigner(6)omnicdnnect(7)directconnect3sybase的intemet应用和商务智能解决方案sybase的intemet应用方向的产品帮助企业通过intemet作为业务计算的平台来获取竞争优势

45、。主要产品有数据库服务器、中间层应用服务器、以及强大的快速应用开发工具powerbuilder。开发者根据其行业特点利用相应部件建立打包的基于web的应用。(1)enterpriseapplicationserver(2)快速应用开发工具(3)sybase的商务智能解决方案4sybase的移动与嵌入计算解决方案。移动与嵌入计算产品系列将原始数据转换成企业信息并发布到企业的任何地方。移动数据库产品adaptiveserveranywhere和最新的ultralite数据库配置选项以其高性能、可扩展的技术加强了sybase在这一市场的优势。主要产品包括sybasesqlanywherestudio

46、和ianywherewirelessserver。(七)ms-sqlserver数据库系统1ms-sqlserver数据库系统简介ms-sqlserver数据库系统是美国microsoft(微软)公司的产品。目前,microsoftserver70和microsoftsqlserver2000已经广泛使用于我国的各行各业,包括许多政府部门。2ms-sqlserver数据库系统主要功能及其特性(1)数据库服务器ms-sqlserverms-solserver数据库系统的核心是microsoftsolserver,简称为ms-sqlserver或sqlserver。(2)mssqlserver20

47、00的主要功能及其特色充分的web支持高度可伸缩性和可靠性最快投放市场充分的数据仓库功能广泛支持电子商务功能3sqlserver2000多版本支持为满足不同单位和个人对性能、运行时间和价格的特殊要求,sqlserver2000提供各种不同的版本,包括:sqlserver2000企业版sqlserver2000标准版sqlserver2000个人版sqlserver2000开发人员版sqlserver2000企业评估版sqlserver2000桌面引擎(msde)sqlserver2000windowsce版4microsoftsqlserver2000的软、硬件环境(1)使用microsoft

48、sqlserver2000企业版,需要的配置pc机具有intel或兼容的pentium,166mhz或更高配置的处理器。带有servicepack5或更高版本的microsoftwindowsntserver40、带有servicepack5或更高版本的windowsntserver40企业版、windows2000server、windows2000adancedserver或windows2000datacenterserver操作系统。最低64mbram(推荐使用128mb或更大容量的内存)。硬盘空间要求:对于数据库服务器,要求95mb270mb的磁盘空间,典型安装需要大约250mb的空

49、间;对于analysisservices,要求50mb的磁盘空间;典型安装需要130mb的磁盘空间;对于microsoftenglishquery,要求80mb的磁盘空间。microsoftintemetexplorer50或更高版本cd-rom驱动器vga或更高分辨率的监视器microsoft鼠标或兼容设备(2)使用microsoftsqlserver2000个人版需要的配置(除以下各项外,其他要求均与企业版相同)需支持microsoftwindows98、windowsmillenniumedition、windows2000专业版、带有servicepack5或更高版本的windowsn

50、tworkstation4.0最低32mb的ram(推荐使用64mb或更大容量的内存)(3)使用microsoftsqlserver2000desktopengine需要的配置除以下各项外,其他要求均与企业版相同。需支持microsoftwindows98、windowsme、带有servicepack5或更高版本的windowsntworkstation4.0或windows2000专业版最少32mb的ram44mb的可用硬盘空间(4)网络支持windows95、windows98、windowsme、windwosnt40或windows2000内置网络软件(除非使用banyanvines

51、或appletalkadsp,否则不需其他网络软件;由windows网络环境中的nwlink协议负责提供novellnetwareipxspx客户端支持)。客户端支持:windows95、windows98、windowsme、windowsntworkstation4.0、windows2000专业版、un、applemacintosh和os/2第六讲事务管理与数据库安全性(一)数据库的恢复为了保证数据库的完整性,事务必须具有原子性、一致性、隔离性、持久性四个性质,即事务的acid性质。数据库系统中常见的故障很多,造成数据库中数据损坏的故障通常有:事务故障、系统故障、介质故障。作为dbms,

52、应能把数据库从被破坏、不正确的状态恢复到最近一个正确状态。dbms的这种能力称为可恢复性。数据库恢复的实现方法:(1) 定期对整个数据库进行复制或转储。转储可分为静态转储和动态转储;转储还可以分为海量存储和增量转储(2) 建立“日志”文件(3) 恢复(二)数据库的并发控制在多用户共享系统中,如果多个用户同时对同一数据进行操作称为并发操作。并发操作时,事务相互之间可能有干扰,破坏了事务的隔离性。dbms的并发控制子系统负责协调并发事务的执行,保证数据的一致性不受破坏,同时避免用户得到不正确的数据。数据库的并发操作通常会带来以下三类问题:(1) 丢失更新问题;(2) 不一致分析问题;(3) “脏数

53、据”的读出。所谓并发控制就是要用正确的方法调度并发操作。(三)数据库的完整性数据库的完整性是指数据的正确性和相容性。完整性检查,即系统用一定的机制采检查数据库中的数据是否满足规定的条件。这种条件在数据库中称为完整性约束条件。对数据库的非法更新有:(1) 数据本身是错误的,输入时,就按错误的数据输入;(2) 数据原来是正确的,由于操作或程序的错误,造成插入时变成错误的数据;(3) 由于系统故障,使数据发生错误;(4) 若干事务的并发执行产生不正确的数据;(5) 人为地故意破坏。数据库的完整性是通过dbms的完整性子系统实现的。完整性子系统的主要功能有:(1) 监督事务的执行,并测试是否违反完整性

54、规则;(2) 如有违反现象,则采取恰当的操作,诸如拒绝、报告违反情况、改正错误等方法来处理。(四)数据库的安全性数据库的安全性是指保护数据库,防止不合法的使用,以免数据的泄漏、非法更改和破坏。对数据库不合法的使用称为数据库的滥用。数据库的滥用可分为无意和恶意的两类。恶意的滥用主要是指未经授权的读取数据(即偷窃信息)和未经授权的修改数据(即破坏数据)。数据库的完整性是指尽可能避免对数据库的无意的滥用;数据库的安全性是指尽可能避免对数据库的恶意的滥用。为了保护数据库,防止恶意的滥用,可以从环境级、职员级、os级、网络级、数据库系统级等方面设置各种安全措施。第七讲新一代数据库应用开发工具(一)新一代

55、数据库应用开发工具概念1使用应用开发工具的意义詹姆斯·马丁(jamesmartin)指出:企业间的技术竞争,实质上是计算机应用系统的竞争。哪个公司能以最快的速度建立所需的计算机应用系统,哪个公司就能在竞争中取胜。如果一个公司要花几年的时间去建立和调试一个复杂的应用系统,而它的竞争对手只需几个月,那么,这个公司将没有生意”。可见,快速建立计算机应用系统对一个企业来说是多么重要。2新一代数据库应用开发工具的特征和发展趋势(1)新一代数据库应用开发工具的特征新一代客户机/服务器前端快速开发工具应具备以下基本特征:支持与多种数据库联接,可进行对异种数据库源的透明访问支持独立于特定dbms的应

56、用开发,提供统一的访问dbms的用户界面和应用程序接口。支持可视化图形用户界面(vgu”o支持面向对象的程序设计(oop)o提供完善的数据对象(dataobiect)o支持开放性。工具的完备和集成一体化。支持汉化。(2)当前应用开发工具的发展趋势当前应用开发工具的发展趋势是:采用三层clientserver结构对web应用的支持开放的、构件式的分布式计算环境(二)应用开发工具的选择1当前应用开发对工具的总需求(1)提高开发和运行效率(2)降低开发和维护费用(3)应用系统具有先进性·(4)代码的可重用性2目前应用开发工具存在的问题目前某些应用开发工具所存在的问题大致可归纳如下:(1)开发过程过于复杂,涉及过多低层技术实现(2)难于适应要求稳定的大规模的企业级业务处理(3)难于快速适应低层技术的更新和业务逻辑的变化(三)case工具-powerdsigner1powerdesigner简介powe

温馨提示

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

评论

0/150

提交评论