国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

基于Oracle Spatial的時(shí)態(tài)空間數(shù)據(jù)庫設(shè)計(jì)

2024-08-29 13:48:36
字體:
供稿:網(wǎng)友

  
需求前提:數(shù)據(jù)每年變化1~2次,軟件預(yù)計(jì)生命周期50年

實(shí)踐環(huán)境:Oracle Spatial

 

術(shù)語表:時(shí)空對(duì)象,快照

時(shí)空對(duì)象:一個(gè)地理目標(biāo)從誕生到消亡所經(jīng)歷的空間和時(shí)間范圍及其屬性信息。這是一個(gè)為處理時(shí)空數(shù)據(jù)方便而抽象出來的概念,相當(dāng)于全信息模型中的全信息對(duì)象。為了理解時(shí)空對(duì)象,我們以二維地物為例。二維地物在二維空間中占據(jù)一定的空間范圍,表現(xiàn)為一個(gè)二維幾何體,也就是它的幾何屬性。假如再增加一條時(shí)間軸,成為(x,y,t)坐標(biāo)系,并認(rèn)為任何的空間對(duì)象都有誕生和消亡,則這個(gè)二維地物就在(x,y,t)坐標(biāo)系中占據(jù)了一定的三維空間。我們就把二維地物從誕生到消亡這一時(shí)間段所占據(jù)的空間-時(shí)間范圍稱之為“時(shí)空對(duì)象”。同理,也可以將時(shí)空對(duì)象擴(kuò)展為三維的空間對(duì)象在時(shí)間維度上的延續(xù),也就是四維對(duì)象。時(shí)空對(duì)象的屬性信息是一張二維表。

快照:一個(gè)地理目標(biāo)在某一特定時(shí)刻所占據(jù)的空間范圍及其屬性信息,或者說:時(shí)空對(duì)象在某一特定的時(shí)刻所占據(jù)的空間范圍及其相應(yīng)的屬性信息。舉例來說,地圖上繪制了一個(gè)飯店的位置,大小,這就是飯店的一個(gè)快照。因?yàn)轱埖晔菑哪骋粫r(shí)刻才誕生的,又會(huì)在某一時(shí)刻消亡,而在誕生和消亡之間,還可能會(huì)搬遷或擴(kuò)建。所以地圖上反映的僅僅是飯店在某一時(shí)刻的狀態(tài),所以稱之為飯店在某一時(shí)刻的快照或時(shí)空對(duì)象在某一特定時(shí)刻的快照。注重,快照總是對(duì)應(yīng)于某一特定的時(shí)刻,否則將失去快照的意義。快照的屬性信息是時(shí)空對(duì)象屬性信息表中的一條記錄。

 

設(shè)計(jì)方向:

       以時(shí)空對(duì)象的概念組織空間數(shù)據(jù)和屬性數(shù)據(jù),使得對(duì)地物變遷歷史的查詢和分析成為可能。

       對(duì)應(yīng)用層屏蔽歷史數(shù)據(jù)的處理過程,將歷史數(shù)據(jù)的處理當(dāng)作數(shù)據(jù)庫模塊的功能之一。

 

技術(shù)要點(diǎn):

1、  Oracle包變量的會(huì)話獨(dú)立性

2、  動(dòng)態(tài)視圖技術(shù)(基于函數(shù)的視圖)

 

圖形解說:


時(shí)間

空間

對(duì)象誕生時(shí)間

 

觀察方向

 

當(dāng)前觀察時(shí)間

 

對(duì)象消亡時(shí)間

 

快照3

 

快照2

 

快照1

 

時(shí)空對(duì)象(對(duì)象一)

對(duì)象三

對(duì)象二
 

 

 

 

 

 

       從以上示意圖中可以清楚地看出,每一個(gè)時(shí)空對(duì)象都是由多個(gè)快照記錄所描述的。觀察者的每一次觀察都是基于一個(gè)特定的觀察時(shí)間的。例如,圖示中的觀察者應(yīng)該看到對(duì)象一的快照2和對(duì)象三的快照2,而無法看到對(duì)象二和對(duì)象一、三的其他快照記錄。看不到對(duì)象二是因?yàn)樵诖擞^察時(shí)間之前,對(duì)象二已經(jīng)消亡。看不到對(duì)象一的快照1是因?yàn)閷?duì)象一有更新的觀察數(shù)據(jù)快照2可以更好地近似反映對(duì)象二在當(dāng)前觀察時(shí)間所處的狀態(tài)。

 

數(shù)據(jù)表:數(shù)據(jù)表的設(shè)計(jì)基于以上概念

對(duì)象表

 

Obj_id

NUMBER

時(shí)空對(duì)象標(biāo)識(shí)號(hào)

<PK>

Start_time

DATE

對(duì)象誕生時(shí)間

 

End_time

DATE

對(duì)象消亡時(shí)間

 

Obj_Attr

VARCHAR2(100)

對(duì)象屬性數(shù)據(jù)

會(huì)因時(shí)間的流逝而發(fā)生變化的屬性信息。

 

 

 

 

 

 

 

快照記錄表

 

Obj_id

NUMBER

時(shí)空對(duì)象標(biāo)識(shí)號(hào)

<FK>

Snap_id

NUMBER

快照數(shù)據(jù)的唯一序號(hào)

<PK>

Snap_time

DATE

快照時(shí)間

 

Snap_end

DATE

快照結(jié)束時(shí)間

屬于同一時(shí)空對(duì)象的最近的下一條快照的快照時(shí)間。設(shè)置此列的目的是為了查詢方便。

Geom.

MDSYS.SDO_GEOMETRY

快照幾何數(shù)據(jù)

 

Attr

VARCHAR2(100)

快照屬性數(shù)據(jù)

會(huì)因時(shí)間的流逝而發(fā)生變化的屬性信息。


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

存儲(chǔ)過程:

       利用Oracle中包變量的會(huì)話獨(dú)立性,在包中建立以下幾個(gè)基本的存儲(chǔ)過程:設(shè)置當(dāng)前觀察時(shí)間,獲取當(dāng)前觀察時(shí)間,利用當(dāng)前觀察時(shí)間和傳入的Snap_time,Snap_end參數(shù)判定快照記錄是否可見(Snap_Filter)。

 

視圖:建立在快照記錄表上的視圖,基于存儲(chǔ)函數(shù)Snap_Filter實(shí)現(xiàn)對(duì)表中記錄的篩選。傳入?yún)?shù)為:Snap_time,Snap_End.,返回值為此快照是否可見。

 

       SELECT Obj_id, Snap_time, Geom, Attr

FROM 快照記錄表

WHERE Snap_Filter(Snap_time, Snap_end) > 0;

 

Obj_id

NUMBER

時(shí)空對(duì)象標(biāo)識(shí)號(hào)

 

Snap_time

DATE

快照時(shí)間

 

Geom.

MDSYS.SDO_GEOMETRY

快照幾何數(shù)據(jù)

 

Attr

VARCHAR2(100)

快照屬性數(shù)據(jù)

 

 

 

 

 

 

觸發(fā)器:

       視圖上的觸發(fā)器,使應(yīng)用層用戶可以在視圖中插入,修改,刪除數(shù)據(jù)。

       要點(diǎn):    1、維護(hù)表中數(shù)據(jù)時(shí)要避免出現(xiàn)時(shí)間悖論,造成時(shí)間邏輯混亂。

2、快照記錄表中的Snap_end列的維護(hù)稍微麻煩一些,應(yīng)小心謹(jǐn)慎。

 

擴(kuò)展與變化:

1、  支持多種觀察模式。

為了查詢功能的靈活性,可以增加幾個(gè)擴(kuò)展功能的存儲(chǔ)過程:設(shè)置當(dāng)前的觀察模式,獲取當(dāng)前的觀察模式,重寫Snap_Filter函數(shù)以支持多種觀察模式。

例如:

【對(duì)象歷史追溯模式】此時(shí)當(dāng)前觀察時(shí)間這一參數(shù)失效,Snap_Filter的行為發(fā)生變化,視圖中看到的是某一(或某幾個(gè))指定對(duì)象的所有快照。這種模式便于對(duì)單個(gè)對(duì)象的整個(gè)歷史變遷過程加以追蹤。

【時(shí)間段觀察模式】此時(shí)需要設(shè)置的觀察時(shí)間不是一個(gè)時(shí)間點(diǎn),而是一個(gè)時(shí)間段。Snap_Filter的返回值也有了更豐富的含義,可以用不同的數(shù)字(例如:1,2,4)表示某一快照記錄在當(dāng)前時(shí)間段開始,結(jié)尾,中間的可見性。這種模式可以用于需要對(duì)兩個(gè)不同時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行比較的場(chǎng)合。

2、  增加對(duì)象關(guān)系表以描述時(shí)空對(duì)象之間的聯(lián)系

時(shí)空對(duì)象之間可能會(huì)有各種各樣的聯(lián)系,例如:變化,融合,分裂等。可通過以下表格加以描述。

 

時(shí)空對(duì)象關(guān)系表

Obj_1

NUMBER

時(shí)空對(duì)象標(biāo)識(shí)號(hào)

<PK><FK>

Obj_2

NUMBER

時(shí)空對(duì)象標(biāo)識(shí)號(hào)

<PK><FK>

Relation_type

NUMBER

關(guān)系類型

<PK>

 

 

 

 

使用方法:

假如是查詢最新信息,即觀察時(shí)間為系統(tǒng)當(dāng)前時(shí)間,則直接訪問視圖即可。

       假如是查詢歷史數(shù)據(jù),只需在數(shù)據(jù)連接會(huì)話中調(diào)用存儲(chǔ)過程來設(shè)置當(dāng)前觀察時(shí)間,其效果是所有視圖中可見的記錄集合都是當(dāng)前觀察時(shí)間點(diǎn)可見的記錄,其他記錄不會(huì)出現(xiàn)在視圖中。

 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 罗城| 丰镇市| 咸丰县| 芜湖县| 衡水市| 陈巴尔虎旗| 屏南县| 平江县| 柳江县| 天台县| 商洛市| 鹤峰县| 塘沽区| 波密县| 红河县| 确山县| 浙江省| 花莲县| 沅江市| 日土县| 勃利县| 西吉县| 江都市| 诏安县| 黄平县| 新乡县| 平阳县| 天水市| 德江县| 铁岭县| 镇雄县| 寿宁县| 中西区| 清河县| 库车县| 鄢陵县| 岳普湖县| 武夷山市| 中牟县| 松溪县| 景宁|