移动对象数据库第一章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
子句As valid state day and transaction称为双时态状态 关系。
1.4移动对象
移动对象数据库的研究目标是扩展数据库 技术,使得任何移动实体都可以在数据库 中表示,并且任何移动方面的查询都可以 通过有效的查询语言进行表达。 实际上,移动对象数据库的研究思路源于 两种不同的技术视角,即位置管理视角和 时空数据视角。
可以用如下语句表达如下两个谓词: (1)法国城市人口总数是多少? Select sum(c.pop) From cities as c,states as s Where c.location inside s.area AND s,name=‘FRANCE’
1.2.3实现策略
为了实现以上模型,需要定义类型的数据结构以及操作的实现算法。此 外还需要支持基于空间条件的选择和连接操作。对于空间选择操作,我 们需要例如R树这种特殊的索引结构,以分层的方式组织矩形 为了把这些组件嵌入到DBMS中,需要一种可扩展的DBMS体系结构。 DBMS应当提供相应的组件注册接口来注册下面这些组件 (1)类型的数据结构 (2)数据类型操作的算法 (3)带有相应存取方法的空间索引结构 (4)空间链接结构 等等 我们可以将这样一种空间代数在不同的DBMS系统中实现为数据刀片 (data blade)、插件(cartridge)或者扩展器(extender).
移动对象数据库
圆子 信息工程学院 计算机软件与理论
前言
移动对象数据库总的研究目标是允许用 户在数据库中表示移动实体,并执行有 关移动的查询。 移动实体如汽车,飞机,轮船,恐怖分 子.我们只关心对象随时间变化的空间位 置,而不是对象的空间范围,随意可以 将它们表示为移动点。但是如飓风,石 油泄漏是具有范围的移动实体,可以表 示为移动区域。
1.4.1 位置管理视角
基于位置管理的视角,我们关注于如何动态维 护一系列移动对象的位置以及如何回答位置相 关查询,包括当前位置查询、近期位置查询以 及移动实体与静态几何对象之间随时间变化的 关系的查询。 我们将在第三章讨论基于位置管理视角的移动 对象数据库
第一章 概述
• 移动对象数据库是20世纪90年代后半叶发 展起来的一个新研究领域。
• 移动对象一般指随时间变化的几何对象, 移动对象数据库是一种特殊类型的时空数 据库。它源于空间数据库和时态数据库。 前者处理数据库中几何对象的描述,后者 研究数据随时间的演变
1.1数据库管理系统
数据库管理系统(DBMS)是一种管理数据库的 软件。 数据库是相关数据元素的集合,这些数据元素 通常在企业或者组织的业务中占有核心地位。 一个数据库一般被多个不同的应用程序和用户 使用哪个,它们可能只需要其中的部分数据。
1.3.5 查询语言扩展TSQL2
例如: create table prescription( Name char(30), Drug char(30), Dosage char(30), Frequency interval minute)
As valid state day and transaction
1.1数据库管理系统
图1.1 三层体系结构
1.1数据库管理系统
1.2空间数据库
空间数据库的目标是扩展DBMS的数据模型和查询语言,使其能 够以某种自然的方式表示和查询几何对象。
空间数据库的主要研究动机是支持地理信息系统(GIS),但除了地
理空间外,我们也可以在数据库中表示其他一些我们感兴趣的
空间,例如:
1.2.2数据模型和查询语言扩展
ROSE代数是一种具有很好封闭性的代数,它提供了 points(表示一个点集)、line(表示一个折线集)和region (表示 一个带孔洞的区域集合)。
Intersection:line*line
Minus:region*region contour:region Sum:set(line) length:line
points
region line line real
1.2.2数据模型和查询语言扩展
如果在关系环境中使用,可以通过如下的关系来表示城市、 河流以及国家: Cities(name:string,population:int,location:points) rivers(name:string,route:line) highways(name:string,route:line)
Lorentzos Segev Caruso Ariav
带时间戳的元组
事务时间
带时间戳的属性值
Bhargava
双时态概念数据模型
带时间戳的元组
表1.1 时态数据模型分类
1.3.5 查询语言扩展TSQL2
TSQL2是第一个尝试规范标准的时态查询语言,它 是SQL-92语言的标准的一个时态扩展。1994年, Richard Snodgrass开始与ASNI和ISOSQL3委员会研 究,提出SQL3的新部分,称为SQL/Temporal,在 1995年7月正式通过,目的是把TSQL2成为 SQL/Temporal的标准。
Employee(name:string,department;string,salary:in t,start:date,end:date)
1.3.2时间域
时间可以是离散的、密集或者连续的。
离散时间模型与自然数或者整数是同构的。
密集时间模型与有理数或者实数同构。
连续模型与实数同构。
虽然大多数人认为时间是连续的,但由于实现方面 的原因,时态数据库使用离散时间表示模型。
1.3时态数据库
1.3.1 传统数据库中Biblioteka Baidu时态信息管理
传统数据库管理系统中的数据库通常只描述进 入数据库时的现实世界当前状态。现实世界当 前状态的改变则通过某种更新操作反映到数据 库中。此种更新常常会有滞后,且一旦执行, 更新之前的状态就不复存在。也可在数据结构 中增加时间属性。例如为了保存以前的部门信 息,可以把表建成如下形式:
(2)网络可看作嵌入在平面上的一个图,它包含了一个作为节点
的点对象集合以及一个表示边的几何特性的线对象集合。网络
在地理空间中普遍存在,如高速公路,河流和电力线路。
1.2.2数据模型和查询语言扩展
对于独立对象抽象,点、线、区域,可以引入相应的 抽象数据类型或者空间数据类型(spatial data types,SDTs)。一个空间数据类型封装了数据结构及 其操作。 数据结构上的操作有可能有:
• 移动对象实质是随时间而变化的几何实体 强调几何实体现在是随时间连续变化的, 离散变化可以看成连续变化的一种特殊情 形。 • 对于数据库中的移动对象,有两种视角: (1)关心如何连续地维护移动对象当前位置 信息以及近期未来的位置信息。 (2)考虑将移动历史都存储在数据库中,并 且执行针对过去任何时间的查询时间。
1.3.4数据模型扩展
关于如何把时间集成到DBMS数据模型中,时态数据库中的一般做 法是把DBMS数据模型中的元素(例如元组)看成事实并将它们与时 间域(时间戳)相关联来表示何时这些事实是有效的。
时刻
有效时间
带时间戳的属性值
时间区间 时态元素
Transel Sarda ___ Postgres
历史关系数据模型 双时态概念数据模型
VLSI设计布局
人体的三维模型
分子生物学中所研究的蛋白质结构
1.2.1空间概念建模
为了对不同对象建模,例如城市,河流,森林,玉米地,我们引入独立对 象建模和空间相关的对象集合建模概念。 对于独立对象的建模,3种基本的抽象是点,线和区域。
(1)一个点(point)表示一个对象,它只关注对象的空间位置,不关心对象空
1.3.2时间域
连续时间模型中,每个实数对应一个“时间点”。 离散时间模型中,每个自然数对应一个我们称为 “时间子”(chronon)的原子时间间隔。若干连续 的时间子可以组成“时间块”(granules).
可以使用如下数据类型表示上面所讨论的这些时间 概念:
1.3.2时间域
Instant:离散时间模型中,它是时间轴上一个特定时间子; 连续时间模型中,它是时间轴上的一个点。 Period:时间轴上一个固定的时间间隔。 Periods;时间轴上一些不相连的固定时间间隔所构成的集 合,通常称时态元素 Interval:一个有向的浮动时间段,即一个具有固定长度、 但起始个终止时刻不确定的时间间隔。 Date:公元1到公元9999年之间的某一天 Time;24小时内的某一秒 Timestamp:某一天中某一秒的一部分(通常是一微秒)

在BCDM上使用的语言是TSQL2语言,TSQL2文本是时 态数据库标准化过程中的一些规范集合,内容庞大。 我们仅针对它对SQL92所作的扩展介绍基本的语法规 范,并且通过举例说明TSQL2的特点。

1.3.5 查询语言扩展TSQL2
• 在TSQL2中,随着时态特性的不同,时态关系通常分为如下6种类型 – ① 快照关系 其特征是没有无时间标签,即为通常关系。 – ② 有效时间状态关系(as valid state) – ③ 有效时间事件关系(as valid event) – ④ 事务时间关系(as transaction) :只有事务时间这一时间标 签。 – ⑤ 双时态状态关系(as valid state and transaction) – ⑥ 双时态事件关系 (as valid event and transaction) 状态时间和事件关系间的区别是:状态关系记录的是在某个特定时间区 间里成立的事实,而事件关系记录的是在每个特定时刻发生的事件
1.1数据库管理系统
DBMS为应用程序提供了高层的数据模型、相关的查询和数据操
纵语言。
数据模型是关于数据组织的一个逻辑视图,通常与数据在物理存
储介质上的实际存放方式有较大不同。最流行的数据模型之一是
关系模型。
1.1数据库管理系统
在数据模型中,数据的逻辑视图和实际的物理表示之间的分 割成为数据独立性原则。 数据系统的三层体系结构是一个被广泛认可的体系结构模型。 在三层体系结构中,数据独立性实际出现在两个不同的层次。 物理层描述数据在存储介质中的组织方式,逻辑层按照前述 的数据模型定义数据,而最高层为每个应用程序提供它们各 自部分数据的视图,这些数据都源自逻辑层,并可能通过某 种方式转换。
间范围。例如大尺度地图上的城市、地标、医院。 (2)一条线(line)是对空间移动或空间链接的基本抽象。例如河流、高速公路、 电话线等。 (3)一个区域(region)是对二维空间中具有空间范围的实体的抽象。通常,区 域可能含有孔洞,也可能包含若干不相连的部分。
1.2.1空间概念建模
对于空间相关的对象集合,两个最要的例子是(平面)划分和网 络。 (1)划分可看作是一个不相交的区域对象的集合。空间相邻关 系——即区域对象之间存在共同的边界。划分可用以表示所谓 主题地图。
1.3.3 时间维
有效时间指一个事件在现实世界中发生的时间,或者一个事实在 现实世界成立的时间。 事务时间指数据库中记录(事件或事实)变化的时间,或者是某个特 定数据库状态存在的时间间隔。 根据这些时态语义,把传统数据库成为快照数据库,把只支持有 效时间的数据库称为有效时间数据库或者历史数据库,把只支持 事务时间的数据库称为事务时间数据库或回滚数据库,把同时支 持两种时间的数据库称为双时态数据库。 时态数据库指提供任何一种时间支持的模型或系统。
states(name:string,area:region)
对于空间数据库的查询,通过在SQL这样的标准查询语言中 使用空间属性上的SDT操作来进行表达。例如:
1.2.2数据模型和查询语言扩展
假设有如下两个谓词: Inside: points*region Inside: region*region —>bool —>bool
1.2.2数据模型和查询语言扩展
(1)谓词,比如检查两个区域是否相连,或者一个区域是否包含在另一个区域 中;
(2)产生新的SDT值的操作,比如产生两个区域之间的差,或者产生一条线和
一个区域相交的结果; (3)数值操作,例如计算机一个区域的面积或者一个点和一条线之间的距离; (4)作用在SDT值集上的操作,例如将一个区域集合聚集为一个区域,或者在 一个点集中找到与查询点最近的某个点。
相关文档
最新文档