在数据库的大部分历史中,存储在数据库的数据类型相对简单。现在,在数据库中处理新的数据类型的需求不断增加,像时态数据、空间数据和多媒体数据等。另一趋势,可移动计算机的发展。
存储现实世界的时间经历状态信息的数据库叫做时态数据库。
考虑数据库系统的时间问题,必须区分系统中测量的时间和现实世界中观察到的时间。一个事实的有效时间是这个事实在现实世界中为真时间段的集合。一个事实的事务时间是这个事实处于数据库系统中的时间段。后者是基于事务串行化顺序并由系统自动产生的。有效时间段是一个真实世界的概念。
时态关系的每个元组具有一个该元组 为真时的相关时间,这个时间可以是有效时间或事务时间。当时存储有效时间和事务时间的关系称为双时态关系。
SQL标准定义了date、time和timestamp类型。
由于世界上不同时区的原因,需要指出时间所在的时区。全球协调时间(UTC)是制定时间的标准参考点,而当地时间定义成从UTC的偏移。
SQL还支持time with time zone 和 timestamp with time zone 类型,用本地时间和本地时间对UTC的偏移来指定时间。
SQL支持一种interval类型,指示像“一天”或者“两天零五个小时”这样的一段时间,无需指出这段时间何时开始。
一个没有时态信息的数据库关系有时叫做快照关系。
时态选择是涉及时间属性的选择;时态投影是一个投影,它的元组继承了原始关系中元组的时间。时态连接的结果中元组的时间是产生该元组的两个元组的时间的交集。
谓词precedes、overlaps和contains用在时间段上。
数据库支持空间数据对于高效存储、索引以及查询基于空间位置的数据非常重要。我们不能使用标准的索引结构,使用R树来执行。
传统上,CAD系统在编辑或做其他处理时将数据存储在内存中,并且在一次编辑结束时将数据写回文件。缺点包括将数据由一种形式转化为另一种形式的开销,以及读入整个文件即使只需要一部分。对于大型设计不可能把整个设计放到内存中。面向对象数据库的设计者受CAD系统的数据库需求的驱动。面向对象数据库将设计者的组件表示成对象,并且对象间的连接指明了设计的构造方式。
设计数据库存储的对象是几何对象。简单的二维几何对象包括点、线、三角形、矩形和多边形。复杂二维对象用简单对象的并、交、差操作得到。复杂三维对象可以由简单对象(如球、圆柱和立方体)的并交差操作得到。三维表面也可以用线框模型表示,本质上将表面建模成一组更简单的对象,如线段、三角形和矩形。
设计数据库也存储对象的非空间信息,如构造对象的材料,通常用标准数据建模技术表示。
空间完整性约束对在设计数据库中防止接口错误是很重要的。完整性检查的实现以来于高效多维索引结构的可用性。
实际上就是空间数据。地图和卫星图像是地理数据的典型例子。
地理数据分为两类:
地理数据的表示
地理特征可表示成复杂多边形,河流表示成复杂曲线或复杂多边形。关于地区的地理信息表示成一个数组,也就是以光栅的形式。该数组可以用压缩形式存储。矢量数据不适合数据本来就是以基于光栅的应用。
地理数据的应用
联机地图服务、交通导航系统、公共服务设施的分布网络信息以及土地使用信息等。
基于Web的道路地图服务成为广泛使用的地图数据应用程序。移动地理信息系统的一个有用的附件是GPS部件,使用GPS卫星广播信息,确定当前位置,导航系统通过查询地理数据库来找出车辆当前的位置和道路。
计算区域的交的查询看出计算两个空间关系的空间连接。一个关系代表降雨量,另一个人口密度,而位置作为连接属性。一般地,给出两个关系,其中每个关系都包含空间对象,则空间连接生成若干相交的对象,或这些对象的相交区域。
由于空间数据固有的图形化,我们通常使用图形化查询语言来对它们查询。结果也以图形化的方式显示。用户可以使用界面上的操作。
现已提出SQL的扩展,允许关系数据库有效的存储和检索空间信息,并且也允许空间和非空间混合提交查询。这些扩展包括对抽象数据类型的支持。
有效访问空间数据需要索引,传统索引结构只能处理一维数据。
k-d树:每一层将空间分成两个部分。树的顶层结点按一维划分,下一层结点按另一维划分,依此类推。划分过程要使得每个结点,大约一半存储在子树中的点落入一侧,而另一半落入另一侧。当一个结点中的点数少于给定的最大点数时,划分结束。
k-d-B树:允许每个内部节点有多个子结点,如同B树扩展了二叉树减小高度一样。k-d-B树比k-d树更适合于辅助存储器。
PR四叉树:顶层结点对于于整个目标空间,每个非叶结点将其区域等分为四个大小相同的象限。对应的,每个结点的四个子结点对于于四个象限。叶结点具有零至某固定最大数目的点。相应的,对应于一个结点区域有多于最大数目的点数,则该结点需要创建子结点。
区域四叉树:存储数组(光栅)信息。将一幅栅格数据层或图像等分为4部分,逐块检查其格网属性值(或灰度);如果某个子区的所有格网值都具有相同的值,则这个子区就不再继续分割,否则还要把这个子区分割为四个子区;这样依次分割,直到每个子块都只含有相同的属性值或灰度为止。
R树
R树是一个高度平衡树,它是B树在k维上的自然扩展,用空间对象的MBR来近似表达空间对象,根据地物的MBR建立R树,可以直接对空间中占据一定范围的空间对象进行索引。R树的每一个结点都对应着磁盘页D和区域I,如果结点不是叶结点,则该结点的所有子结点的区域都在区域I的范围之内,而且存储在磁盘页D中。如果结点是叶结点,那么磁盘页D中存储的将是区域I范围内的一系列子区域,子区域紧紧围绕空间对象,一般为空间对象的外接矩形。
R树中每个结点所能拥有的子结点数目是有上下限的。下限保证索引对磁盘空间的有效利用,子结点的数目小于下限的结点将被删除,该结点的子结点将被分配到其他的结点中;设立上限是因为每一个结点只对应一个磁盘页,如果某个结点要求的空间大于一个磁盘页,那么该结点就要被划分为两个新的结点,原来结点的所有子结点将被分配到这两个新的结点中。令M为一个结点中记录数目的最大值,mSM/2为一参数,说明一个节点记录的最小值,m可作为调节树结构的一个可变参数,R树满足如下几项特点:
R树兄弟结点对应的空间区域可以重叠,可以较容易地进行插入和删除操作。但正因为区域之间有重叠,空间索引可能要对多条路径进行搜索后才能得到最后的结果。当查找与给定的查询窗口相交的所有空间对象时,空间搜索算法是从根结点开始,向下搜索相应的子树.算法递归遍历所有约束矩形与查询窗口相交的子树,当到达叶结点时,边界矩形中的元素被取出并测试其是否与查询矩形相交,所有与查询窗口相交的叶结点即为要查找的空间对象。R树的查询效率会因重叠区域的增大而大大减弱,在最坏情况下,其时间复杂度甚至会由对数搜索退化成线性搜索。正是这个原因促使了R+树的产生。
在R+树中,兄弟结点对应的空间区域没有重叠,而没有重叠的区域划分可以使空间索引搜索的速度大大提高,克服了R树中多路查询的问题,但同时它也存在着一些缺陷,如对某个最小约束矩形的划分,可能会引起相关子树上其他结点也需要重新划分,向下分裂操作可能使得已经划分好了的结点被重新划分,空间对象在R+树的叶结点中被重复标记,完成删除运算后,必须对R+树进行重建等,同时由于在插入和删除空间对象时要保证兄弟结点对应的空间区域不重叠,而使插入和删除操作的效率降低。
R*树是最有效的R树变种,它能对覆盖区域、重叠面积和边界周长进行启发式地优化,并通过重新插入节点重建R.树以提高其性能,但重新插入这个过程相当繁琐,其实现过程太过漫长。压缩R树的空间数据集是预先己知的,通过预先对数据进行合理有效的组织,可以保证其具有很高的空间利用率和良好的查询效率,但由于其不能进行动态插入和删除,因而其应用受到了很大限制。
R树是B树在多维空间的扩展,是一种平衡的树结构。R树结构采用平行于数据空间轴的最小的边界矩形来近似复杂的空间对象,其主要优点是用一定数量的字节来表示一个复杂的对象。尽管这样会丢失很多的信息,但是空间物体的最小边界矩形保留了物体的最重要的几何特性,即空间物体的位置和其在整个坐标轴上的范围。
多媒体数据,如图像、音频和视频等,成为日益流行的数据格式。现在,多媒体数据通常存在数据库以外的文件系统中。当存储的多媒体对象数目很多时,数据库的特性变得重要。构造多媒体对象的数据库的方法之一是用数据库存储描述属性,并且跟踪存储这些多媒体对象的文件。
如果将多媒体数据存储在数据库中,有以下问题:
由于多媒体数据需要大量字节数,有必要用压缩的格式存储和传输多媒体数据。
压缩格式:
连续媒体系统的特点是要求实时的信息传输:
视频点播系统的基本体系结构:
移动计算环境由移动计算机和有线计算机网络构成。移动主机通过移动支持站点的计算机与有线网络通信。每个移动支持站点管理其单元内的那些移动主机。移动主机可以在单元间移动,需要从一个移动支持站到另一个移动支持站点的控制交接。
移动主机间不通过移动支持站点的介入而直接通信可通过蓝牙技术。
移动计算直接影响数据库处理,导致通信成本的动态改变,使优化处理更加复杂,还需要考虑以下代价:
频繁请求的数据由移动支持站点不断周期性广播:
在断开连接的时间段内,移动主机仍可以继续操作。移动主机用户可以对位于本地或缓存在本地的数据发出查询和更新命令。导致的问题:
对于只被移动主机更新的数据,一个简单方式在移动主机重新连接时传播其更新。但如果移动主机缓存了其他计算机更新的数据的只读副本,缓存的数据可能已经不一致了。当移动主机连接时,可以发给它失效报告通知它有过期的缓存数据项。但是,当移动主机断开连接时,会错过失效报告。
连接断开操作、广播数据的使用和数据缓存是当前移动系统正致力解决的三个重要问题。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论