广东海洋大学高级数据库复习重点Word文档下载推荐.docx
《广东海洋大学高级数据库复习重点Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《广东海洋大学高级数据库复习重点Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
籍贯、出生地等。
这些数据只有其本身固有的属性。
但是大部分数据在一种情况下没有时态属性,但在另一种情况下往往会有时态属性。
例如:
住址、身份、工作单位等。
在一般情况下,在建模时通常没有充分考虑值随时间变化的情况。
如果发生变化时,就采用最新值进行替换。
⏹时间点:
⏹基于点的时间,是将时间离散化,事物或事件的时间属性用时间点表示。
用时间点的形式来表示时间元素,这和系统的时间量子及时间粒度的关系较大。
⏹基于点的时间元素(Point-based),又称为时间点(timeinstant),或称时刻(TimePoints)。
这种描述方法是把时间看成一个个离散的时间点,这些离散化的时间点的间隔大小适度时,就可以准确地描述现实世界事件发生及变化的状况。
⏹时间区间与时间跨度:
⏹基于区间(Interval-based)的时间元素中,时间的基本单位为时间段或者时间区间(timeinterval)。
即通过描述时间段的起始和终止点来描述时间区间。
⏹时间区间是指一段时间,有固定的起止时间点。
时间的区间的表示方法根据两端时间点是否封闭分为4种,如图所示。
⏹时间跨度(timespan)是指持续的一段时间,表示时间的长度。
在数据库系统内,一般用一个整数表示时间跨度。
⏹与时间区间类似,时间跨度也是表示一段时间;
所不同的是,时间跨度没有时间起点,也没有时间终点。
⏹时间粒度与时间量子
⏹时间粒度(timegranularity)是指描述时间数据的最小时间单位。
表示时间点之间离散化程度的因素就是时间粒度。
⏹时间粒度反映了时态信息系统中时间点描述的最小单位,时间粒度越小,离散的时间点越多,描述的事件的变化信息越精细准确;
反之,描述的事件变化的信息越粗糙。
⏹时间粒度的大小,要受到时间量子的约束。
系统的时间量子(Chronon)是计算机系统所支持的最小的、不可分割的时间间隔。
客观世界中的时间,离散化的程度可以任意的小,但是计算机系统的离散化程度是受到机器性能制约的。
可见,时间量子是系统记录时间属性的精确程度的一个度量。
时间量子越小,系统记录的精确度越高。
⏹时间元素UC
⏹UntilChanged(简记UC)主要用于事务时间中的时间变元,表示直到该元组改变的时间,在应用于事务时间中它有比Now更精确的解释语义,并与有效时间中的时间变元Now相区别,但与Now具有类似的含义。
⏹事务时间(transactiontime)是指记录逻辑上被存放在数据库中的时间,它反映了记录被查、删、改的时间。
事务时间与有效时间正交的一个概念,表示了数据库的变化过程。
一般有效时间由用户提供,事务时间由数据库管理员在更新数据库时自动生成,事务时间区间[start,stop]中的start表示该事务的起始时间,stop表示该事务的终止时间,当插入一个元组时,将start时间初始化为插入时的当前时间,stop时间记为UC;
若删除一个元组,则将该元组的stop值UC改为当前时间,这个元组在逻辑上删除。
数据库更新集合了插入和删除两种操作。
⏹三种基本时间
⏹1.用户自定义时间
⏹用户自定义时间(User-definedTime)是指用户根据自己的需要或理解定义的时间。
这种时间的属性值一般是时间点,用户本身会解释他所给出的时间信息,数据库系统不需要解释该数据的含义,只需将此时间域等同于其他一般的属性域来理解,对它的操作和对普通的字符串操作几乎没有什么差别。
⏹一般传统数据库系统都支持用户自定义数据类型,允许用户在原有系统数据类型的基础上建立自己定义的数据类型。
这些用户自定义的数据类型,在数据表建立或结构修改时,和其他标准数据类型一样被用户使用。
和传统数据库系统一样,时态数据库系统不对用户自定义时间进行任何特殊的处理,不需要专门的语言支持。
用户自定义时间值是完全应用依赖的,由用户和系统以常规方式存取。
⏹2.有效时间
⏹有效时间(ValidTime)是指一个对象(事件)在现实世界中发生并保持的那段时间,或者该对象在现实世界中为真的时间。
⏹有效时间既可以反映过去和现在的时间,还可以反映将来的时间。
有效时间的含义依赖于具体应用,取值是否有效视具体应用场合而定,对应于实际应用的需要或现实世界变化的历史。
⏹有效时间可以是单一的时间点,单一的时间区间,或者是时间点的集合,时间区间的有限集合,或者是整个时间域。
也就是说,元组的属性可以在任意的时间点,任意的时间区间里取值为真。
和用户定义的时间不同,当查询语句被检测到有时态语义的时候,有效时间是由数据库系统解释的。
而且有效时间可以被更新,有效时间的提供和更新也是由用户来完成的。
⏹通常把只支持有效时间的数据库称为历史数据库(HistoricalDatabase)。
历史数据库记录现实世界在有效时间点的事件,或者现实世界的状态变化。
有效时间对事物的描述比较直观、容易理解。
⏹3.事务时间
⏹事务时间(TransactionTime)是指一个数据库对象进行操作的时间,是一个事实存储在数据库中的时间,它记录着对数据库修改或更新的各种操作历史,对应于现有事务或现有数据库状态变迁的历史。
有时也称事务时间为系统时间(systemtime)。
⏹事务时间对应于现有事务或现有数据库的状态变迁的历史。
它是应用独立的,用户不可以修改事务时间。
数据库中的数据录入数据库的时间,修改和删除的时间是由系统时钟决定的,而修改后的数据也是不能够改变的。
处理事务时间的方法是存储所有数据库的状态。
修改只能对最后一个状态进行,但是可以查询任意一个状态。
⏹通常把支持事务时间的数据库称为回滚数据库(RollbackDatabase)。
回滚数据库记录数据库的自身变化,沿着事务时间轴记录数据状态,按照事务时间排序,保留了所有状态的演变历史。
回滚数据库可以被看作是只能追加记录的数据库,它不记录未来的数据库状态。
⏹事务时间有如下主要特点:
⏹事务时间的值由系统时钟给出,它独立于应用,用户不能修改事务时间;
⏹事务时间不能晚于现在时间,因为它反映着数据库实际操作的时间,不能指未来,而有效时间可以指未来。
3.面向对象模型的主要(基本)特征
从数据模型上看,对象数据模型包括“封装”(encapsulation)、“继承”(inheritance)和“多态”(polymorphism)等基本概念,而关系数据模型和其他传统数据模型不具有这些概念。
4.空间对象有三种(空间时态)
在GIS中,基本空间数据类型由下述三种空间对象组成:
(1)点(Point)例如城市。
点只表示其空间位置,不表示其范围(extent)
(2)线(Line)例如河流、道路、管道、航线、等高线、等降雨线、通信或电力线路等。
线不仅表示线上各点在空间的位置,而且还有长度,即表示其在空间的延伸范围。
(3)区域(Region)例如森林、湖泊、行政区域等。
区域不但有位置,而且有面积、周长等参数,以表示其覆盖范围。
5.四种时态数据库的概念
1.快照数据库
⏹快照数据库(SnapshotDatabase)是以在特定的时刻的瞬间快照来建立模型,来考虑现实世界,尽管现实世界是变化的,快照数据库只是反映了某一个瞬间的情况。
⏹之所以在这里将快照数据库介绍一下,是因为快照数据库也支持一种时间——用户定义时间。
而且对快照数据库的研究,可以看到数据库对时变属性的支持变化情况。
⏹快照数据库由静态的二维关系表组成,分别是属性维和元组维。
数据库的状态变迁由事务实现的,一旦事务提交,其状态变迁就立即生效,原来的数据库状态也就完全被丢失和遗忘,相应的,现实世界的状态也一样被丢失和遗忘。
⏹快照数据库不能够进行与时间相关的任何工作,不能进行含有时间因素的推理,不能进行以往历史数据的查询;
而且,它更改的历史数据全部丢失。
⏹实际上是一种非时态数据库,它反映的是数据的当前状态,随着时间的推移,数据库状态在不断的改变,新状态将覆盖旧的状态。
状态之间的转变是通过更新操作实现的,如insertinto、delete和update语句。
2.回滚数据库
⏹回滚数据库(RollbackDatabase)支持事务时间,它按事务时间进行编址,保存了过去每次事务提交,状态演变之前的状态。
⏹回滚数据库记录了数据库事务变化历史,它实现的是事务时间轴。
任何一个更新语句的执行将产生一个新的数据库状态。
新状态不会覆盖旧的状态。
因此没有数据会被物理删除。
通过将一个元组的事务结束时间设为执行语句的当时时间,从而实现元组在语义上的“删除”。
事务时间区间可以看成是该元组在快照数据库中存在的历史。
回滚数据库不足之处也很为明显,主要表现如下:
1)回滚数据库因为是按照事务时间编址,记录的是数据库状态变迁的历史,而不是现实世界变化的历史,现实世界中元组的属性在某个时间点(属性的有效时间)变化了,但是因为数据库在这个时间点没有执行事务,即数据库的事务时间没有改变,那么此时,元组的时变属性的改变在数据库中根本没有体现出来。
2)过去元组的错误决不可以更正,而只能查看。
当我们发现元组有错误的时候,如果此事务已经提交的话,我们就无能为力了,所能做的工作只能是等待下次系统的事务时间进行新的改动。
但是,改动的只是提交前的数据库,即最近一个事务时间点的数据库,在此之前的状态不能再改变。
3)回滚数据库的冗余太多。
在前一个事务时间内提交的数据,即使在下一个事务时间没有数据的改变或者改变甚小也需要进行所有的数据的重新输入及储存,这种冗余是较大的,特别是那种时变较小的情况。
3.历史数据库
记录事实的有效时间的数据库称为历史数据库。
历史数据库记录了在有效时间轴上的一系列的数据库状态,可能是过去、现在或将来。
它可以被看作是记录了事实在真实世界的变化过程。
⏹历史数据库上的查询语言必须具有有效时间演算能力。
同时更新语句必须指明修改语句涉及哪些数据库状态(也就是只对指明的时间区间内有效的记录才进行修改)。
⏹历史数据库无法记录数据库的修改历史。
因此,在历史数据库中有效时间的修改历史也是不能被记录的。
例如某个事实的有效时间有错误而进行了更新,新的记录将覆盖旧的记录。
⏹历史数据库主要特点是支持有效时间,数据冗余度小,结构相对简单。
⏹但是也存在一些不知,主要不足之处是:
不支持事务时间,不可以象回滚数据库一样对以前的某一个状态进行查询。
4.双时态数据库
⏹回滚数据库和历史数据库各具优点,通过设计一种数据库,使它既支持事务时间又支持有效时间,这就是双时态数据库(BitemporalDatabase)。
⏹双时态数据库集成了前三种类型数据库的功能特性,储存了数据库和现实世界两者发展的历史。
双时态数据库由时态关系组成,其时态关系是一个四维结构。
其中两维是属性和元组,另外两维是事务时间和有效时间(图7),一个时态关系可以看成是一个历史关系的序列。
对时态关系的一个回滚操作则是选取了一个特定的历史关系,可对该历史关系进行查询。
而每一个事务则引起一个新的历史关系的建立。
所以,这四个历史数据库也可以成为是快照历史数据库,说是快照,是因为这四个数据库是分别是四个事务时间的快照;
说是历史数据库,是因为每个数据库里面的纪录是历史数据库属性的,记载的是现实元组的真实变化的时间,而非数据库状态变化的时间,我们可以在这四个数据库里面进行增加、改正、删除及查询的工作。
⏹双时态数据库综合了回滚数据库和历史数据库的优良特性,它即保存了数据库变迁的历史,又保存了现实世界的真实的数据属性。
⏹这种数据库,才是真正的对数据时态属性支持的数据库,以前的回滚数据库很难称得上是纯粹的时态数据库。
⏹应当注意的是,双时态数据库是以牺牲大容量的储存空间为代价的,对双时态数据库的储存进行优化是时态数据库研究的一个重要工作。
6.数据库知识的来源
知识获取
从知识源获取知识建立知识库的工作。
知识库的知识主要有两个来源:
原始知识,由外界直接进入知识库
中间知识(再生知识),由推理机生成后加入到知识库中的知识。
7、OLAP和OLTP的概念和区别。
联机分析处理(OLAP)是基于数据仓库的信息分析处理过程,是数据仓库的用户接口部分。
数据仓库侧重于存储和管理面向决策主题的数据。
而OLAP则侧重于数据仓库中数据分析,并将其转换成辅助决策信息。
OLAP技术的典型应用是对多维数据的切片和切块、钻取、旋转等,便于使用者从不同角度提取有关数据。
OLAP一个重要的特点是对多维数据的分析。
与数据仓库的多维组织正好形成相互结合、相互补充的关系。
OLTP和OLAP的主要区别概述如下:
⏹用户和系统的面向性:
Ø
OLTP是面向顾客的,用于办事员、客户和信息技术专业人员的事务和查询处理;
OLAP是面向市场的,用于帮助经理、主管和分析人员等进行数据分析。
⏹数据内容:
OLTP系统管理当前数据。
这种数据一般都太琐碎,难以用于决策。
OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度级别存储和管理信息。
⏹数据库设计:
OLTP系统通常采用实体-联系(ER)模型和面向应用的数据模式。
OLAP系统通常采用星型或雪花模型和面向主题的数据模式。
⏹访问模式:
OLTP系统的访问主要由短的原子事务组成。
OLAP系统的访问由一些只读操作组成,尽管可能是很复杂的查询操作。
⏹视图:
OLTP系统主要关注一个企业或部门内部的当前数据,而不涉及历史数据或不同组织的数据;
OLAP系统则通常跨越数据库模式的多个版本,处理来自不同组织的信息和多个数据存储集成的信息。
此外,由于数据量巨大,OLAP数据一般存放在多个存储介质上。
特性
OLTP
OLAP
特征
操作处理
信息处理
面向
事务
分析
用户
办事员、DBA、数据库专业人员
知识工人(如经理、主管、分析员)
功能
日常操作
长期信息需求,决策支持
DB设计
基于E-R、面向应用
星型/雪花、面向主题
数据
当前的,确保最新
历史的,跨时间维护
汇总
原始的,高度详细
汇总的、统一的
视图
详细,一般关系
汇总的、多维的
工作单位
短的,简单事务
复杂查询
存取
读/写
大多为读
数据冗余
非冗余性
时常有冗余
操作
主关键字索引/散列
大量扫描
访问记录数量
数十个
数百万
用户数
数千
数百
DB规模
100MB到GB
100GB到TB
优先
高性能,高可用性
查询吞吐量,响应时间
度量
事务吞吐量
8、九交数据模型(记住有意义的)
A、B为两个区域
A的内部——Aﹾ,A的边界∂A,A的外部——A-。
B的内部——Bﹾ,B的边界∂B,B的外部——B-。
对于两个简单区域,已经确定了8种有意义的配置,分别对应8种谓词:
相等,相离,被覆盖,覆盖,部分重叠,相接,被包含和包含。
9、时态数据库的时间粒度转换两种操作
粒度之间的转换
⏹时间值的粒度影响了有关涉及时间值的表达式的语义。
例如当比较一个时间粒度是天的时间值和一个时间粒度是分的时间值时,表达式代表什么的语义,如何操作。
这时就需要存在转换函数,实现粒度之间的转换。
可以采用下面的两个函数scale和cast实现这个目的:
cast操作和scale操作是相似的,但是scale操作产生不确定的时间值,即时间区间,而cast操作返回一个确定的时间点。
⏹scale(1997years,days)=
1997-01-01days~1997-12-31days
⏹scale(scale(1997years,days),months)=
1997-01months~1997-12months
⏹cast(1997years,days)=
1997-01-01days
⏹cast(cast(1997years,days),years)=
1997years
⏹scale(cast(1997years,days),months)=
1997-01months
10、复制技术有几种
⏹在移动数据库的关键技术的研究中,比较重要的有复制与缓存技术、数据广播、移动查询技术、移动事务处理技术等
⏹移动数据库的复制技术包括两部分:
首先是服务器节点间的数据复制,简称为复制;
另外还包括移动节点与服务器节点之间的复制,这常被称为缓存。
⏹复制技术首要考虑的问题是维护多个复制节点上数据的一致性。
⏹现有的复制协议可分为严格一致性协议和弱一致性协议两类:
严格一致性协议要求在任何时刻所有数据库的复制都是一致的;
是数据库系统追求的目标,但是在移动数据库系统中却并不合适。
✓因为严格一致性协议需要所有节点都处于连接状态,以完成所有副本的更新,而移动计算环境中移动节点却有频繁断接的特点。
即使是在保持连接的服务器节点间采用严格一致性协议,其可用性也很差,因此只要允许,服务器节点间的复制更新也常采用弱一致性协议。
弱一致性协议允许各个复制之间存在暂时的不一致,但这种不一致总是保持在一定的界限内,而且总是能够趋向于一致。
⏹移动计算环境下复制技术需要考虑的主要问题有三个
(1)考虑移动节点与服务器节点间如何合理分配数据的问题。
即要考虑如何提高移动节点缓存数据的命中率问题。
(2)考虑移动节点与服务器节点数据的同步问题.在可以保持两者数据同步的情况下应尽量减少两者的通信时间与通信量,以节省通信费用。
在移动节点断接后重新入网时,节点在断接期间对本地缓存所做的操作可能与服务器对数据的操作产生冲突,这时候采取什么冲突策略是移动复制缓存技术需要考虑的最重要的问题。
(3)考虑如何改良服务器节点间的复制策略以使其更高效、更好地支持移动性。
目前,在移动数据库的复制缓存技术的研究中,比较有代表性的有J.Gray的两级复制体系、美国卡耐基-梅隆大学研制的Coda系统、移动环境下缓存失效报告技术、我国学者提出的三级复制体系等。
11、时态数据表的创建(增删改查)
CREATETABLEprescription(
patient_nameVARCHAR(10),
doctor_nameVARCHAR(10),
drug_nameVARCHAR(30),
doseVARCHAR(30)
)ASVALIDTIME;
⏹向表格插入记录
1、VALIDTIMEPERIOD[DATE"
2010-03-01"
-DATE"
2010-05-01"
)
INSERTINTOprescription
VALUES('
p1'
'
dom'
va'
30mg'
);
2、VALIDTIMEPERIOD[DATE"
2013-02-01"
-now)
p2'
d1'
erythromycin'
⏹查询表格记录
VALIDTIMESELECT*FROMprescription;
或:
VALIDTIMEPERIOD(begin(VALIDTIME(p)),now)
SELECT*FROMprescriptionp;
4、删除用例
⏹不引起分裂操作的时态数据删除
VALIDTIMEPERIOD[DATE"
2011-01-01"
2012-05-01"
)
DELETEFROMprescription;
12、数据仓库(有3种模型)的搭建和定义
⏹根据数据仓库所管理的数据类型和它们所解决的企业问题范围,一般可将数据仓库分为企业数据仓库(EDW)、操作型数据库(ODS)和数据集市(DataMart)3种类型。
⏹企业数据仓库:
它既含有大量详细的数据,也含有大量累赘的或聚集的数据,这些数据具有不易改变性和面向历史性。
这种数据仓库被用来进行涵盖多种企业领域上的战略或战术上的决策,是一种通用的数据仓库类型。
⏹操作型数据库:
既可以被用来针对工作数据作决策支持,又可用作将数据加载到数据仓库时的过渡区域。
相对EDW来说,ODS还具有面向主题和面向综合的,易变的,仅包含目前的、详细的数据,而没有累计的、历史性的数据等特点。
⏹数据集市:
是一种更小的、更集中的数据仓库。
简单地说,原始数据从数据仓库流入不同的部门以支持这些部门的定制化使用,这些部门级的数据仓库就是数据集市。
不同的部门有不同的主题域,因而也就有不同的数据集市。
例如,财务部门有自己的数据集市,市场部门也有自己的数据集市,它们之间可能有关联,但相互不同,且在本质上互为独立。
数据集市可以在一定程度上缓解访问数据仓库的瓶颈。
⏹开发数据仓库的流程包括以下8个步骤:
(1)启动工程。
(2)建立技术环境。
(3)确定主题。
(4)设计数据仓库中的数据库。
(5)数据转换程序实现。
(6)管理元数据。
(7)开发用户决策的数据分析工具。
(8)管理数据