複製鏈接
請複製以下鏈接發送給好友

空間數據庫管理系統

鎖定
空間數據庫管理系統是空間數據庫的核心軟件,將對空間數據和屬性數據進行統一管理,為GIS應用開發提供空間數據庫管理系統除了必須具備普通數據庫管理系統的功能外,還具有以下三方面研究內容:1)空間數據存儲管理,實現空間數據強大的基礎平台。和屬性數據的統一存儲和管理,提高數據的存儲性能和共享程度,設計實現空間數據的索引機制,為查詢處理提供快速可靠的支撐環境。2)支持空間查詢的SQL語言,參照SQL-92和OpenGIS標準,對核心SQL進行擴充,使之支持標準的空間運算,具有最短路徑、連通性等空間查詢功能。3)查詢.
中文名
空間數據庫管理系統
外文名
spatial database management system
學    科
測繪技術
功    能
統一的空間數據訪問等
特    徵
提供性能優化等
管理需求
空間化等

空間數據庫管理系統管理模式

空間數據庫管理系統文件與關係數據庫混合管理系統

文件與關係數據庫混合管理系統一般用文件管理系統管理空間數據,而用商用關係數據庫來管理屬性數據,它們之間的聯繫通過目標標識或內部標識碼進行連接。導致這種連接方式的主要原因是早期的數據庫管理系統不提供高級編程語言如c的接口,只能採用數據庫操縱語言,這樣通常會啓動兩個系統(GIS空間數據管理系統和關係數據庫管理系統),甚至是兩個系統來回切換,用起來很不方便。

空間數據庫管理系統全關係型空間數據庫管理系統

全關係型空間數據庫管理系統是指空間數據和屬性數據都用現有的關係數據庫管理系統管理。關係數據庫管理系統的軟件廠商不作任何的擴展,由GIS軟件商在此基礎上進行開發,使之不僅能管理結構化屬性數據,而且能管理非結構化的空間數據。其管理空間數據有兩種模式,一種是基於關係模型的方式,空間數據按照關係數據模式組織,這種方式在訪問空間數據時需要複雜的關係連接運算,非常費時:另一種是將空間數據的變長部分處理成Binary二進制塊Block字段,這種方式省去了前面所述的大量關係連接操作,但二進制塊讀寫效率要比定長的屬性字段慢得多,特別是牽涉到對象得嵌套,速度更慢。
大多數商用GIS平台採用關係型數據庫管理系統(RDBMS ),在處理複雜數據、進行復雜操作時有很多限制難以克服。RDBMS向對象關係數據庫管理系統(ORDBMS )或面向對象的數據庫管理系統(OODBMS )過渡是大勢所趨。

空間數據庫管理系統面向對象空間數據庫管理系統

面向對象模型最適應於空間數據的表達和管理,它不僅支持變長記錄,而且支持對象的嵌套、信息的繼承與聚集。面向對象的空間數據庫管理系統允許用户定義,對象和對象的數據結構以及它的操作。當前已經推出了若干個面向對象數據庫管理系統如02等,也出現了一些基於面向對象的數據庫管理系統的地理信息系統,如GDE等。
面向對象的方法具有很強的數據建模能力。首先,通過類定義機制,數據庫設計者可以創建新的數據類型,直接完成實體的建模,而不會侷限於預先定義的數據類型與操作;第二,OODBMS的指針數據類型在表達目標之間的關係時十分有利;第三,通過繼承可以表達類型/子類型之間的關係。子類可以從超類中繼承變量與方法:第四,目標行為建模擴展了建模的應用範圍。此外,不需要對數據類型進行標準化可以大量減少數據冗餘RDBMS中的關係表數目。
對於GIS應用,最初時傾向於採用OODBMS的方法,它所提供的建模語義的豐富的可擴展性及其與編程語言緊密結合的完整計算方法,非常具有吸引力。但是由於OODBMS缺乏有效的查詢語言支持,管理與維護的複雜度很大,在GIS界並沒有引起廣泛的共鳴。相反,隨着各大RDBMS廠商對關係數據模型大刀闊斧的有效擴展和商業化實現,使得面向對象的關係數據庫管理系統重新煥發了無窮的生命力,也成為當前海量空間數據管理的有效載體。對象關係數據模型也成為空間數據表達的有效技術手段。

空間數據庫管理系統對象關係數據庫管理系統

由於直接採用通用的關係數據庫管理系統的效率不高,而非結構化的空間數據又十分重要,所以許多空間數據系統的軟件商紛紛在關係數據庫管理系統中進行了擴展,使之能直接存儲和管理非結構的空間數據,如Informix, Oracle等推出了空間數據專用模塊,定義了點、線、面、圓、長方形等數據對象的API函數。這些函數,將各種空間對象的數據結構進行了預先的定義,用户使用時必須滿足它的數據結構的要求,用户不能根據GIS的要求再定義。
這種擴展的空間對象管理模塊主要解決了空間數據變長記錄的管理,雖然它仍然沒有解決對象的嵌套問題,空間對象也不能由用户任意定義,但效率要比前面所述的二進制塊的管理高的多,這種關係數據庫通過擴展數據模型而帶來巨大優勢:
通過允許增加新的、用户定義的抽象數據類型(ADTs)及面向對象編程語言的其他特徵,如繼承、操作函數、封裝等提高RDBMS的數據類型系統。由於是基於RDBMS的擴展,RDBMS上大量的工作成果得以保留。本質上,這是一種關係世界的SQL和對象世界的基本建模元素之間的結合。
採用面嚮對象語言的編程模型,增加一些特徵,以維護數據的持續性及程序執行的原子性。

空間數據庫管理系統空間數據管理的特殊需求

空間數據主要有5種不同於傳統屬性數據的屬性:

空間數據庫管理系統空間化

每個空間幾何對象都具有空間座標,即空間幾何對象隱含了空間分佈特徵,這意味空間數據庫在空間數據組織方面,要考慮它的分佈特徵,除了要具備通用的數據庫所具有的關鍵字索引外,一般還要具備空間索引
能力。

空間數據庫管理系統非結構化

在當前通用的關係數據庫管理系統中,數據記錄一般是結構化的。即它滿足關係數據模型的第一範式,每一條記錄是定長的,數據項的表達只能是原子結構,不允許嵌套記錄。而空間數據則不能滿足這種結構化的要求。若將一條記錄表達一個空間對象,它的數據項可能是變長的,它可能是2對座標,也可能是10萬對座標;其二,1個對象可能包含另外的1個或多個對象,例如,1個多邊形,它可能含有多條段弧段。若一條記錄表示1個弧段,在這種情況下,1條多邊形的記錄就可能嵌套多條弧段的記錄,所以不能滿足關係數據的範式要求,這也是為什麼空間幾何數據難以直接採用通用的關係數據管理的主要原因。

空間數據庫管理系統空間關係

空間數據除了前面所述的空間座標隱含了空間分佈關係外。空間數據中記錄的拓撲信息表達了多種空間關係。這種拓撲數據結構一方面方便了空間查詢和空間分析,另一方面也給空間數據的一致性和完整性維護增加了複雜度,特別是有些幾何對象,沒有直接記錄空間座標的信息,如拓撲地面狀目標,僅記錄組成它的弧段的標識,因而進行查詢、顯示和分析操作時都要操作和檢索多個數據文件方能得以要實現。

空間數據庫管理系統分類編碼

一般而言,每一個空間對象都有一個分類編碼,而這種分類編碼往往屬於國家標準,或行業標準,或地區標準,每一種空間幾何對象的類型在某個GIS中的屬性項個數是相同的。因而在許多情況下,一種空間幾何對象類型對應於一個屬性數據表文件。當然,如果幾種空間幾何對象類型的屬性項相同,也可以多種空間幾何對象類型共用一個屬性數據表文件。

空間數據庫管理系統海量空間數據

空間數據量是巨大的,通常稱為海量數據。之所以成為海量數據是指的數據量一般比通常的數據要大得多,一個城市的地理信息系統的數據量可能達幾十GB,如果考慮影象數據的存儲,可能大幾百個GB;對於全國的地理信息系統來説,其數據量更大,達到幾十TB,甚至是幾百TB,這樣大的數據量要求空間數據庫也必須具有海量空間數據的存儲能力。

空間數據庫管理系統實現方式

目前基於空間數據庫的組織管理實現主要有兩種方式:面向對象方式和對象一關係型方式。
面向對象方式將對象的空間數據和非空間數據以及操作封裝在一起,由對象數據庫統一管理,並支持對象的嵌套、信息的繼承和聚集,這是一種非常適合空間數據管理的方式。但目前該技術尚不成熟,特別是查詢優化較為困難。
對象一關係型是目前空間數據庫的主要技術,它綜合了關係數據庫和面向對象數據庫的優點,能夠直接支持複雜對象的存儲和管理。GIS軟件直接在對象關係數據庫中定義空間數據類型、空間操作、空間索引等,可方便地完成空間數據管理的多用户併發、安全、一致性/完整性、事務管理、數據庫恢復、空間數據無縫管理等操作。因此,採用對象關係型數據庫是實現空間數據管理的一種較為理想的方式。當前,一些數據庫廠商都推出了空間數據管理的專用模塊,如IBM Informix的Spatial DataBlade Module,IBM DB2的Spatial Extender和Oracle的Oracle Spatial等,儘管其功能有待進一步完善,但己給空間數據的應用及GIS軟件開發帶來了極大的方便。 [1] 

空間數據庫管理系統系統結構與功能

空間數據庫管理系統的結構如圖1所示:
圖1 圖1
具體來説系統要實現的主要功能:

空間數據庫管理系統合理的空間數據存儲與組織

空間數據庫管理系統在面向空間實體及其對象關係數據模型的支持下,實現空間數據的組織和存儲,空間位置等信息僅作為空間實體的一個屬性。從而改變現有的以圖層為單位的空間數據組織模式。空間數據的存儲將空間信息關係化,在統一的空間數據模型的支持下,實現在成熟的商用數據庫管理系統中的關係化存儲。為實現“空間一屬性數據一體化”、“矢量一柵格數據一體化”和“空間信息一業務信息一體化,,奠定基礎。同時通過建立合理的包括拓撲在內的空間索引機制,以提高空間數據的訪問和操作效率。

空間數據庫管理系統統一的空間數據訪問

空間數據的訪問是現有對象關係數據庫管理系統的SQL的有效擴充,所有的空間數據訪問採用擴充SQL這一統一的接口來實現。

空間數據庫管理系統高效的空間數據操作

所有的空間操作以統一的空間數據模型為基礎,緊密結合商用數據庫管理系統的特點和優點,利用商用數據庫管理系統的功能,從數據庫管理系統底層實現空間數據的操作,併合理利用空間數據索引技術,實現空間數據的高效操作。

空間數據庫管理系統統一的元數據管理

參考國際和國內的相關標準,設計和實現空間數據庫管理系統的元數據規範,為用户訪問和操作空間數據提供充分的空間數據語義信息。

空間數據庫管理系統用户管理

用户管理是實現數據安全的有效保障。空間數據庫管理系統的用户管理必須緊密結合商用數據庫管理系統中的用户管理,是在商用數據庫管理系統用户管理的擴充和發展。

空間數據庫管理系統併發管理

空間數據庫管理系統支持多用户併發訪問,設計合理的多用户併發訪問控制機制可以大大提高系統的性能,並使得空間信息達到最大程度的共享。

空間數據庫管理系統長事務處理

長事務處理是空間信息處理中的一個必須的功能。利用關係數據庫管理系統的功能,設計和實現長事務處理的合理機制。

空間數據庫管理系統支持空間數據倉庫的建立

空間數據倉庫和聯機空間分析是進行空間分析決策的基礎,空間數據倉庫集成現有的空間數據庫系統數據,進一步發掘空間數據的潛在信息。 [2] 

空間數據庫管理系統系統特徵

1.具有一套能代表原始空間數據類型(點、線、面)的空間數據類型集,以及在這些數據類型上進行復雜數據類型的生產和運算,比如交匯和距離。
2.空間數據類型和操作必須是標準查詢語言的一部分,在系統中必須可以通過它來訪問和操作空間數據。例如,關係型數據庫系統SQL可以被擴展成支持空間數據類型和操作。
3.系統應提供性能優化,比如處理空間查詢(區域查詢和聯合查詢)的索引,上載和查詢同時進行,這些對空間數據非常有用的。
參考資料
  • 1.    朱海勇. 基於Oracle Spatial空間數據庫管理系統的設計與實現[D].吉林大學,2007.
  • 2.    吳傑. 空間數據庫管理系統及其Oracle實現[D].中南大學,2004.