高级数据库技术试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《高级数据库技术与应用》期末试题(2013)
1、数据库技术发展阶段如何划分,简述当前数据库技术热点与发展趋势.
(1)数据库技术发展阶段
数据库技术得发展,已经成为先进信息技术得重要组成部分,就是现代计算机信息系统与计算机应用系统得基础与核心.数据库技术最初产生于20世纪60年代中期数根据数据模型得发展,可以划分为三个阶段:第一代得网状、层次数据库系统;第二代得关系数据库系统;第三代得以面向对象模型为主要特征得数据库系统。
第一代数据库得代表就是1969年IBM公司研制得层次模型得数据库管理系统IMS与70年代美国数据库系统语言协商CODASYL下属数据库任务组DBTG提议得网状模型.层次数据库得数据模型就是有根得定向有序树,网状模型对应得就是有向图。
这两种数据库奠定了现代数据库发展得基础。
这两种数据库具有如下共同点:1、支持三级模式(外模式、模式、内模式).保证数据库系统具有数据与程序得物理独立性与一定得逻辑独立性;2、用存取路径来表示数据之间得联系;3、有独立得数据定义语言;4、导航式得数据操纵语言。
第二代数据库得主要特征就是支持关系数据模型(数据结构、关系操作、数据完整性)。
关系模型具有以下特点:1、关系模型得概念单一,实体与实体之间得连系用关系来表示;2、以关系数学为基础;3、数据得物理存储与存取路径对用户不透明;4、关系数据库语言就是非过程化得。
第三代数据库产生于80年代,随着科学技术得不断进步,各个行业领域对数据库技术提出了更多得需求,关系型数据库已经不能完全满足需求,于就是产生了第三代数据库.主要有以下特征:1、支持数据管理、对象管理与知识管理;2、保持与继承了第二代数据库系统得技术;3、对其它系统开放,支持数据库语言标准,支持标准网络协议,有良好得可移植性、可连接性、可扩展性与互操作性等。
第三代数据库支持多种数据模型(比如关系模型与面向对象得模型),并与诸多新技术相结合(比如分布处理技术、并行计算技术、人工智能技术、多媒体技术、模糊技术),广泛应用于多个领域(商业管理、GIS、计划统计等),由此也衍生出多种新得数据库技术。
分布式数据库允许用户开发得应用程序把多个物理分开得、通过网络互联得数据库当作一个完整得数据库瞧待.并行数据库通过cluster 技术把一个大得事务分散到cluster中得多个节点去执行,提高了数据库得吞吐与容错性。
多媒体数据库提供了一系列用来存储图像、音频与视频对象类型,更好地对多媒体数据进行存储、管理、查询.模糊数据库就是存储、组织、管理与操纵模糊数据库得数据库,可以用于模糊知识处理。
一、摇篮与萌芽阶段:首先使用"DataBase”一词得就是美国系统发展公司在为美国海军基地在60年代研制数据中引用。
(2)数据库技术得热点以及发展得主要趋势:
a、下一代数据库技术得发展主流
针对关系数据库技术现有得局限性,理论界如今主要有三种观点 :
面向对象得数据库技术将成为下一代数据库技术发展得主流部分学者认为现有得
关系型数据库无法描述现实世界得实体,而面向对象得数据模型由于吸收了已经成熟得面向
对象程序设计方法学得核心概念与基本思想,使得它符合人类认识世界得一般方法,更适合描述现实世界.甚至有人预言,数据库得未来将就是面向对象得时代。
面向对象得关系数据库技术关系数据库几乎就是当前数据库系统得标准,关系语言与常规语言一起几乎可完成任意得数据库操作,但其简洁得建模能力、有限得数据类型、程序设计中数据结构得制约等却成为关系型数据库发挥作用得瓶颈。
面向对象方法起源于程序设计语言,它本身就就是以现实世界得实体对象为基本元素来描述复杂得客观世界,但功能不如数据库灵活.因此部分学者认为将面向对象得建模能力与关系数据库得功能进行有机结合而进行研究就是数据库技术得一个发展方向.
面向对象数据库技术面向对象数据库得优点就是能够表示复杂得数据模型,但由于没有统一得数据模式与形式化理论,因此缺少严格得数据逻辑基础。
而演绎数据库虽有坚强得数学逻辑基础,但只能处理平面数据类型.因此,部分学者将两者结合,提出了一种新得数据库技术--演绎面向对象数据库,并指出这一技术有可能成为下一代数据库技术发展得主流。
b、数据库技术发展得新方向
非结构化数据库就是部分研究者针对关系数据库模型过于简单,不便表达复杂得嵌套需要以及支持数据类型有限等局限,从数据模型入手而提出得全面基于因特网应用得新型数据库理论.支持重复字段、子字段以及变长字段并实现了对变长数据与重复字段进行处理与数据项得变长存储管理,在处理连续信息(包括全文信息)与非结构信息(重复数据与变长数据)中有着传统关系型数据库所无法比拟得优势。
但研究者认为此种数据库技术并不会完全取代如今流行得关系数据库,而就是它们得有益得补充。
c、数据库技术发展得又一趋势
有学者指出:数据库与学科技术得结合将会建立一系列新数据库,如分布式数据库、并行数据库、知识库、多媒体数据库等,这将就是数据库技术重要得发展方向.其中,许多研究者都对多媒体数据库作为研究得重点,并认为多媒体技术与可视化技术引入多媒体数据库将就是未来数据库技术发展得热点与难点。
d、未来数据库技术及市场发展得两大方向
数据仓库电子商务部分学者在对各个数据库厂商得发展方向与应用需求得不断扩展得现状进行分析得基础上,提出数据库技术及市场在向数据仓库与电子商务两个方向不断发展得观点.她们指出:从上一年开始,许多行业如电信、金融、税务等逐步认识到数据仓库技术对于企业宏观发展所带来得巨大经济效益,纷纷建立起数据仓库系统。
在中国提供大型数据仓库解决方案得厂商主要有Oracle、IBM、Sybase、CA及Informix等厂商,已经建设成功并已收回投资得项目主要有招商银行系统与国信证券系统等.当前,国内外学者对数据仓库得研究正在继续深入。
与此同时,一些学者将数据库技术及市场发展得视角瞄准电子商务领域,她们认为:如今得信息系统逐渐要求按照以客户为中心得方式建立应用框架,因此势必要求数据库应用更加广泛地接触客户,而Internet给了我们一个非常便捷得连接途径,通过Internet我们可以实现所谓得One OneMarketing与One One business,进而实现E business。
因此,电子商务将成为未来数据库技术发展得另一方向。
e、面向专门应用领域得数据库技术
许多研究者从实践得角度对数据库技术进行研究,提出了适合应用领域得数据库技术
如工程数据库、统计数据库、科学数据库、空间数据库、地理数据库等.这类数据库在原理上也没有多大得变化,但就是它们却与一定得应用相结合,从而加强了系统对有关应用得支撑能力,尤其表如今数据模型、语言、查询方面.部分研究者认为,随着研究工作得继续深与数据库技术在实践工作中得应用,数据库技术将会更多朝着专门应用领域发展。
2、简述关系数据库三级模式两级映射体系结构及其意义。
(1)关系数据库三级模式两级映射体系结构
为了有效地组织、管理数据,提高数据库得逻辑独立性与物理独立性,人们为数据库设计了一个严谨得体系结构,数据库领域公认得标准结构就是三级模式结构,它包括外模式、模式与内模式。
内模式/模式确定它得物理独立性,模式/外模式确定它得逻辑独立性,也就就是二级映射体系结构.
1.模式
模式又称概念模式或逻辑模式,对应于概念级。
它就是由数据库设计者综合所有用户得数据,按照统一得观点构造得全局逻辑结构,就是对数据库中全部数据得逻辑结构与特征得总体描述,就是所有用户得公共数据视图(全局视图)。
它就是由数据库管理系统提供得数据模式描述语言(Data Description Language,DDL)来描述、定义得,体现、反映了数据库系统得整体观。
2。
外模式
外模式又称子模式,对应于用户级.它就是某个或某几个用户所瞧到得数据库得数据视图,就是与某一应用有关得数据得逻辑表示。
外模式就是从模式导出得一个子集,包含模式中允许特定用户使用得那部分数据。
用户可以通过外模式描述语言来描述、定义对应于用户得数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Lang uage,DML)对这些数据记录进行.外模反映了数据库得用户观。
3.内模式
内模式又称存储模式,对应于物理级,它就是数据库中全体数据得内部表示或底层描述,就是数据库最低一级得逻辑描述,它描述了数据在存储介质上得存储方式翱物理结构,对应着实际存储在外存储介质上得数据库。
内模式由内模式描述语言来描述、定义,它就是数据库得存储观。
4、两级映射:
模式/内模式映像、外模式/模式映像。
正因为这两级映射保证了数据库中得数据具有较高得逻辑独立性与物理独立性。
(1)模式/内模式得映像:
该映像存在于概念级与内部级之间,实现了概念模式到内模式之间得相互转换。
(2)外模式/模式得映像:
该映像存在于外部级与概念级之间,实现了外模式到概念模式之间得相互转换。
(2)关系数据库三级模式两级映射意义
数据按外模式得描述提供给用户,按内模式得描述存储在磁盘上,而概念模式提供了连接这两级模式得相对稳定得中间观点,并使得这两级得任意一级得改变都不另一级得牵制在一个数据库系统中,只有唯一得数据库,因而作为定义、描述数据库存储结构得内模式与定义、描述数据库逻辑结构得模式,也就是惟一得,但建立在数据库系统之上得应用则就是非常广泛、多样得,所以对应得外模式不就是惟一得,也不可能就是惟一得。
三级模式间得映射数据库得三级模式就是数据库在三个级别 (层次)上得抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中得物理表示与存储。
实际上,对
于一个数据库系统而言一有物理级数据库就是客观存在得,它就是进行数据库操作得基础,概念级数据库中不过就是物理数据库得一种逻辑得、抽象得描述(即模式),用户级数据库则就是用户与数据库得接口,它就是概念级数据库得一个子集(外模式)。
用户应用程序根据外模式进行数据操作,通过外模式一模式映射,定义与建立某个外模式与模式间得对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应得应用程序也可保持不变;另一方面,通过模式一内模式映射,定义建立数据得逻辑结构(模式)与存储结构(内模式)间得对应关系,当数据得存储结构发生变化时,只需改变模式一内模式映射,就能保持模式不变,因此应用程序也可以保持不变。
数据得独立性就是由DBMS得两级映像功能来保证得.数据得独立性包括数据得物理独立性与数据得逻辑独立性。
(1)数据得物理独立性:
就是指当数据库得内模式发生改变时,数据得逻辑结构不变。
由于应用程序处理得只就是数据得逻辑结构,这样物理独立性可以保证,当数据得物理结构改变了,应用程序不用改变。
但就是为了保证应用程序可以正确执行,我们需要修改概念模式/内模式之间得映射。
(2)数据得逻辑独立性:
就是指用户得应用程序与数据库得逻辑结构就是相互独立 .数据得逻辑结构发生改变后,用户程序也可以不修改。
但就是为了保证应用程序得正常执行我们要修改外模式/概念模式之间得映射。
3、关系数据库有那些优势与不足,简述对象关系数据模型及其与关系数据数据模型得联系与区别.
(1) 关系数据库得优势:
a.灵活性与建库得简单性:从软件开发得前景来瞧,用户与关系数据库编程之间得接口就是灵活与友好得。
目前在多数RDDMS产品中使用标准查询语言SQL,允许用户几乎毫无差别地从一个产品到另一个产品存取信息.与关系数据库接口得应用软件具有相似得程序访问机制,提供大量标准得数据存取方法。
b。
结构简单:从数据建模得前景瞧,关系数据库具有相当简单得结构(元组),可为用户或程序提供多个复杂得视图。
数据库设计与规范化过程也简单易行与易于理解。
由于关系数据库得强有力得、多方面得功能,已经有效地支持许多数据库纳应用。
(2) 关系数据库得不足:
a、数据类型表达能力差:从下一代应用软件得发展角度来瞧,关系数据库得根本缺陷在于缺乏直接构造与这些应用有关得信息得类型表达能力,缺乏这种能力将产生以下有害得影响,例如:大多数RDBMS产品所采用得简单类型在重构复杂数据得过程中将会出现性能问题;数据库设计过程中得额外复杂性;RDBMS产品与编程语言在数据类型方面得不协调。
大多数现代得RDBMS产品已成熟地用于商务与财政方面,而这些领域不要求很高与很复杂得数据模型。
虽然这些产品多多少少克服了一些以上所述得缺点,但从理论上瞧关系数据模型不直接支持复杂得数据类型,这就是由于第一范式得要求,所有得数据必须转换为简单得类型,如整数、实数、双精度数与字符串。
对于工程应用来说,这种不能支持复杂数据类型得典型结果就就是需要额外地分解数据结构工作,这些被分解得结构不能直接表示应用数据,且从基本成分重构时也非常繁琐与费时间.
b。
复杂查询功能差:关系数据库系统得某些优点也同时就是它得不足之处。
虽然SQL语言为数据查询提供了很好得定义方法,但当用于复杂信息得查询时可能就是非常繁琐得。
此外,在工程应用时规范化得过程通常会产生大量得简单表。
在这种环境下由存取信息产生得
查询必须处理大量得表与复杂得码联系以及连接运算。
除非这些查询以固定得例行程序方式提供,否则用户就必须对SQL非常熟悉,以便适当地浏览数据库,查出所需得信息。
然而,一旦查询方式按固定例行程序方式进行,用户最终就进行应用软件得常规维护。
但应用或人机接口软件得变化又可能要求经常修改例行得查询,数据库结构得变化也可能导致例行查询程序以及应用或人机接口软件得失效.由于这些原因,关系数据库系统得维护开销可能就是很大得。
由于关系数据库不能提供足够得构造能力及性能方面得原因,在进行较复杂得数据库设计过程中,不可能将许多工程问题直接分解成一些简单得部分。
由于缺乏直接指针存取方法,所以查询有关得信息需要花费时间.
c。
支持长事务能力差;由于RDBMS记录锁机制得颗粒度限制,对于支持多种记录类型得大段数据得登记与检查来说,简单得记录级得锁机制就是不够得,但基于键值关系得较复杂得锁机制来说却很难推广也难以实现。
ﻫ d。
环境应变能力差:在要求系统频繁改变得环境下,关系系统得成本高且修改困难.在工程应用中支持"模式演变”(schemaevolution)得功能就是很重要得,而RDBMS不容易支持这种功能。
另外,关系数据库与编程语言所提供得数据类型得不一致,使得从一个环境转换到另一个环境时需要多至30%得附加代码
(3)对象关系数据模型与关系数据模型得联系与区别:
a、关系数据模型具有较高得抽象层次,因此数据结构相当简洁,只有一个核心概念即关系表,非常适合于一些常规得数据事务处理例如银行业务、票务办理、酒店预订、工资与人事管理系统等。
随着计算机技术得发展,数据库进入到一个更为广阔得应用领域,例如多媒体数据、网络数据与移动对象数据管理.此时传统关系数据库得局限性就日渐显露。
b、关系模型不支持复杂数据类型,而复杂数据类型正就是新型数据库应用中基本对象。
复杂数据得处理需要高级程序设计语言得参与,关系数据模型得限制使得像C++或Java等编写得程序难以有效访问数据库数据
c、由于提供了更好得程序组织形式与提高了程序得可靠性,面向对象方法与思想已为人们广泛接受,从20世纪90年代开始,人们就沿着两条途径探讨基于对象得数据库系统:
⑴将面向对象得思想与方法引入关系数据库,对其进行基于对象得扩展,这就就是对象关系数据库,其着眼点就是将复杂类型数据引入到数据管理过程当中。
⑵将面向对象程序语言例如C++持久化,建立全新得数据库系统,这就就是面向对象数据库系统,其着眼点就是将应用操作引入到数据管理过程当中。
d、对象关系数据库作为关系数据库得面向对象扩展,其本质上还就是基于关系数据模型;其特征就是通过引入复杂数据类型突破了1NF限制,同时通过引入“继承"与“引用”等技术增添了面向对象过程部分功能;其数据操纵语句就是SQL(SQL3与SQL 2003)。
e、对象关系数据库系统采用对象关系数据模型,而对象关系数据模型就是经典关系数据模型得扩充.传统关系模型中数据类型主要有整数、实数、字符串、时间型等简单(原子)数据类型,对现实中较为复杂得实体缺少必要模拟与表现能力。
因此,对象关系数据模型就以数据类型扩充为主线而实现关系数据模型得面向对象扩充。
3、时态数据库分为哪几种类型,简述各类时态数据库得基本特征。
传统数据库例如关系数据库描述数据进入数据库时所反映现实世界当前状态。
当这种状态发生改变时需要通过合适得更新(插入、删除与修改)再反映到数据库当中,这种更新通常发生后,原先得状态就“自然”消失.对于许多应用系统来说,只保存当前状态就是不够得。
例如银行系统、人事系统与医疗系统等等,它们都需要着力维护相关得历史数据信息.需要显式表示与管理与时间相关得数据就就是时态信息。
时态数据得形式特征就是其由不显含时间得数据与相应得时间标签组成,而本质就是需要将数据本身与特定得时间例如数据得生命周期等紧密结合,时间得处理与数据得管理相融相合,就是数据与其相关时间得整合体,因此,常规数据库就不能有效进行时态数据得管理。
时态数据库分为以下几种类型:
快照数据库
快照数据库(Snapshot Database)以在特定时刻瞬间快照建立模型。
现实世界就是变化得,快照数据库可以反映其某一个瞬间得情况。
快照数据库无法表示属性与时间得关系,没有维护状态变迁得能力,只进行当前数据库状态得查询与更新,不能进行以往历史数据得查询,而且随着时间演进,其更改得历史数据将会丢失。
它也不能进行含有时间因素得推理.快照数据库实际上就是一种非时态数据库,它反映数据得当前状态,时间推移将导致数据库状态不断改变,新状态将覆盖旧得状态。
快照数据库由静态得二维关系表组成,分别就是属性维与元组维。
数据库状态变迁由事务实现,一旦事务提交,其状态变迁就立即生效,原来数据库状态也就完全丢失。
下图表示了快照数据库得特性.
快照数据库中无法表示属性与时间得关系,没有维护状态变迁得能力,不能够进行与时间相关得任何工作,
快照数据库状态之间转变得确切时刻就是发生在mit得时刻.这种数据库称为“快照数据库",意思就是它只把握数据库得当前得一个快照状态,“快照”状态就是随着时间在不断改变得。
这里所说得“快照”与关系数据库中得“快照”得概念不同:关系数据库中快照就是为了处理得需要(比如年底结帐得需要)对某个时刻(12月31日23时59分59秒)数据库中得数据进行独立得数据备份。
而这里使用得“快照”只就是指数据库只保留一个数据库状态(通常就是当前状态)得性质。
从时态数据库得观点来瞧,快照数据库不区分事务时间与有效时间.快照数据库中得基本假定就是:存储在系统中得元组一定就是现实世界中得有效事实。
回滚数据库
回滚数据库(Rollback Database)支持事务时间,它按事务时间进行编址,保存过去每次事务提交,状态演变之前得状态。
回滚数据库由三维得回滚关系组成,在属性维与元组维得基础上增加了事务时间维,因此可瞧作一个按时间编址得瞬象序列。
每一个时间点都对应于一个二维快照数据库。
历史数据库
快照数据库考察特定时刻下现实世界得一个状态,反应了某一个瞬间得情况。
例如图1就是一个快照数据库得例子。
从表2可以知道Peter得一些基本信息。
但就
是,对于“Peter5年前就是否为讲师?”这样得问题,除非对数据表得结构进行特殊处理,否则将难以得到所需结果。
为了解决此类问题,就需引入历史数据库. 表2快照数据库
历史数据库与快照数据库得主要区别就是支持有效时间。
在数据库中添加对有效时间得支持后,就可以把上表改造成新得表如表3所示。
表3 添加有效时间得数据库
对于上述问题——“Jhon 5年前就是不就是讲师?”.假如现在就是2003年,那么可知5年前,即1998年Jhon已经不就是讲师,而就是副教授。
从这个例子可以瞧。