打印本文 打印本文 关闭窗口 关闭窗口
基于Oracle Spatial的时态空间数据库设计
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2765  更新时间:2009/4/22 22:05:32  文章录入:mintao  责任编辑:mintao
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>

 

 

 

 

使用方法:

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

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

 

上一页  [1] [2] [3] [4] 

打印本文 打印本文 关闭窗口 关闭窗口