动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.怎么样把man手册的内容保存到某个.
.程式初始化设定档.
.转一个很好的Oracle贴子.
.使用ORACLE数据库时的WEB分页方法.
.双机热备Oracle数据库服务器操作.
.ORACLE DATE和TIMESTAMP数据类型.
.oracle的update问题.
.Oracle中Instance实例和数据库的.
.如何查看数据文件所在的路径?.
.Oracle索引原理.
.Oracle数据复制技术有效解决数据.
.C#中使用Oracle 存储过程笔记.
.Oracle诊断案例4-Sql_trace.
.新手学习之Oracle trunc()函数的.
.ORACLE在HP_UX下的系列问题处理(.
.怎样才能有效的限制特定IP访问数.
.如何连接oracle数据库及故障解决.
.关于oracle 10G企业网格计算的介.
.Oracle用户密码含有特殊字符应当.
.Oracle的优化器(Optimizer).

基于Oracle Spatial的时态空间数据库设计

发表日期:2008-2-9 |



  
需求前提:数据每年变化1~2次,软件预计生命周期50年

实践环境:Oracle Spatial

 

术语表:时空对象,快照

时空对象:一个地理目标从诞生到消亡所经历的空间和时间范围及其属性信息。这是一个为处理时空数据方便而抽象出来的概念,相当于全信息模型中的全信息对象。为了理解时空对象,我们以二维地物为例。二维地物在二维空间中占据一定的空间范围,表现为一个二维几何体,也就是它的几何属性。假如再增加一条时间轴,成为(x,y,t)坐标系,并认为任何的空间对象都有诞生和消亡,则这个二维地物就在(x,y,t)坐标系中占据了一定的三维空间。我们就把二维地物从诞生到消亡这一时间段所占据的空间-时间范围称之为“时空对象”。同理,也可以将时空对象扩展为三维的空间对象在时间维度上的延续,也就是四维对象。时空对象的属性信息是一张二维表。

快照:一个地理目标在某一特定时刻所占据的空间范围及其属性信息,或者说:时空对象在某一特定的时刻所占据的空间范围及其相应的属性信息。举例来说,地图上绘制了一个饭店的位置,大小,这就是饭店的一个快照。因为饭店是从某一时刻才诞生的,又会在某一时刻消亡,而在诞生和消亡之间,还可能会搬迁或扩建。所以地图上反映的仅仅是饭店在某一时刻的状态,所以称之为饭店在某一时刻的快照或时空对象在某一特定时刻的快照。注重,快照总是对应于某一特定的时刻,否则将失去快照的意义。快照的属性信息是时空对象属性信息表中的一条记录。

 

设计方向:

       以时空对象的概念组织空间数据和属性数据,使得对地物变迁历史的查询和分析成为可能。

       对应用层屏蔽历史数据的处理过程,将历史数据的处理当作数据库模块的功能之一。

 

技术要点:

1、  Oracle包变量的会话独立性

2、  动态视图技术(基于函数的视图)

 

图形解说:


时间

空间

对象诞生时间

 

观察方向

 

当前观察时间

 

对象消亡时间

 

快照3

 

快照2

 

快照1

 

时空对象(对象一)

对象三

对象二
 

 

 

 

 

 

       从以上示意图中可以清楚地看出,每一个时空对象都是由多个快照记录所描述的。观察者的每一次观察都是基于一个特定的观察时间的。例如,图示中的观察者应该看到对象一的快照2和对象三的快照2,而无法看到对象二和对象一、三的其他快照记录。看不到对象二是因为在此观察时间之前,对象二已经消亡。看不到对象一的快照1是因为对象一有更新的观察数据快照2可以更好地近似反映对象二在当前观察时间所处的状态。

 

数据表:数据表的设计基于以上概念

对象表

 

Obj_id

NUMBER

时空对象标识号

<PK>

Start_time

DATE

对象诞生时间

 

End_time

DATE

对象消亡时间

 

Obj_Attr

VARCHAR2(100)

对象属性数据

会因时间的流逝而发生变化的属性信息。

 

 

 

 

 

 

 

快照记录表

 

Obj_id

NUMBER

时空对象标识号

<FK>

Snap_id

NUMBER

快照数据的唯一序号

<PK>

Snap_time

DATE

快照时间

 

Snap_end

DATE

快照结束时间

属于同一时空对象的最近的下一条快照的快照时间。设置此列的目的是为了查询方便。

Geom.

MDSYS.SDO_GEOMETRY

快照几何数据

 

Attr

VARCHAR2(100)

快照属性数据

会因时间的流逝而发生变化的属性信息。


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

存储过程:

       利用Oracle中包变量的会话独立性,在包中建立以下几个基本的存储过程:设置当前观察时间,获取当前观察时间,利用当前观察时间和传入的Snap_time,Snap_end参数判定快照记录是否可见(Snap_Filter)。

 

视图:建立在快照记录表上的视图,基于存储函数Snap_Filter实现对表中记录的筛选。传入参数为:Snap_time,Snap_End.,返回值为此快照是否可见。

 

       SELECT Obj_id, Snap_time, Geom, Attr

FROM 快照记录表

WHERE Snap_Filter(Snap_time, Snap_end) > 0;

 

Obj_id

NUMBER

时空对象标识号

 

Snap_time

DATE

快照时间

 

Geom.

MDSYS.SDO_GEOMETRY

快照几何数据

 

Attr

VARCHAR2(100)

快照属性数据

 

 

 

 

 

 

触发器:

       视图上的触发器,使应用层用户可以在视图中插入,修改,删除数据。

       要点:    1、维护表中数据时要避免出现时间悖论,造成时间逻辑混乱。

2、快照记录表中的Snap_end列的维护稍微麻烦一些,应小心谨慎。

 

扩展与变化:

1、  支持多种观察模式。

为了查询功能的灵活性,可以增加几个扩展功能的存储过程:设置当前的观察模式,获取当前的观察模式,重写Snap_Filter函数以支持多种观察模式。

例如:

【对象历史追溯模式】此时当前观察时间这一参数失效,Snap_Filter的行为发生变化,视图中看到的是某一(或某几个)指定对象的所有快照。这种模式便于对单个对象的整个历史变迁过程加以追踪。

【时间段观察模式】此时需要设置的观察时间不是一个时间点,而是一个时间段。Snap_Filter的返回值也有了更丰富的含义,可以用不同的数字(例如:1,2,4)表示某一快照记录在当前时间段开始,结尾,中间的可见性。这种模式可以用于需要对两个不同时间点的数据进行比较的场合。

2、  增加对象关系表以描述时空对象之间的联系

时空对象之间可能会有各种各样的联系,例如:变化,融合,分裂等。可通过以下表格加以描述。

 

时空对象关系表

Obj_1

NUMBER

时空对象标识号

<PK><FK>

Obj_2

NUMBER

时空对象标识号

<PK><FK>

Relation_type

NUMBER

关系类型

<PK>

 

 

 

 

使用方法:

假如是查询最新信息,即观察时间为系统当前时间,则直接访问视图即可。

       假如是查询历史数据,只需在数据连接会话中调用存储过程来设置当前观察时间,其效果是所有视图中可见的记录集合都是当前观察时间点可见的记录,其他记录不会出现在视图中。

 
上一篇:FAQ:ora-06550;pls-00553: 问题的解决 人气:627
下一篇:Oracle 的入门心得 人气:445
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵