資料庫的模型設計
❶ 系統資料庫和模型庫設計
(一)系統資料庫類型
資料庫是整個農用地分等信息系統的基礎,是系統開發設計要考慮的重中之重。在數據形式上,系統資料庫包括兩大塊:一是空間資料庫,二是屬性資料庫。目前的空間數據技術已從以MapInfo為代表的混合型資料庫(空間資料庫+關系型資料庫)發展到以ArcInfo的Coverage為代表的拓展型資料庫。鑒於農用地分等屬性數據量龐大,為減少數據冗餘,提高數據檢索的速度,本研究採用空間數據和屬性數據分開管理的模式,依據關鍵欄位進行綁定,進行科學索引,從而實現空間數據和屬性動態鏈接和高效整合。
1.空間資料庫
江蘇省農用地分等信息系統空間資料庫內容包括以下方面:
(1)土地利用現狀圖層:全省13個省轄市以1996年土地利用現狀圖為基礎,經變更調繪形成以2000年為基準年的土地利用現狀圖,以現行的土地分類標准按八大類分類進行信息提取並分層存儲,系統分別存儲為耕地、林地、水域、未利用地、建設用地等圖層。
(2)全省土壤類型圖層:以土屬為分類單位,比例尺為1:20萬。
(3)1996年和2000年全省行政區劃圖層:在行政區劃中精確到鄉鎮級別,分別提取存儲了市名圖層、縣(區)名圖層、鄉(鎮)名圖層、全省行政界線圖層、市級行政界線圖層、縣(區)級行政界線圖層、鄉(鎮)級行政界線圖層。
(4)評價單元圖層:通過GIS空間疊加功能,利用土地利用現狀圖、行政區劃圖和土壤類型圖疊加產生的評價單元圖層,建立分等評價單元資料庫。
2.屬性資料庫
江蘇省農用地分等信息系統屬性資料庫內容包括以下方面:
(1)土壤屬性數據:以全國第二次土壤普查為基礎,結合全省土壤監測樣點數據,建立土壤質量狀況資料庫,最小單位為土種,包括pH值、有機質含量、表層土壤質地、耕層厚度、障礙層深度、水土侵蝕程度、鹽漬化程度數據。
(2)農田水利環境數據:建立了1996~2000年間各鄉鎮農田水利環境基礎資料庫,包括灌溉保證率、排水條件數據。
(3)土地利用現狀數據:建立了全省13個省轄市的以1996年土地利用現狀圖為基礎,經變更調繪形成的以2000年為基準年的土地利用現狀資料庫,區分耕地中的詳細用地類型差異,標示水田、旱地、荒草地等納入本次評價范圍的用地內容。
(4)全省地形地貌資料庫。
(5)農業區劃數據:輸入了江蘇省農業區劃數據,把江蘇全省劃分為6大區劃,以鄉鎮為最小級別,建立全省鄉鎮的區劃歸屬資料庫。
(6)農業耕作制度數據:建立了全省各市、縣、鄉鎮的農業耕作制度資料庫,包括指定作物水稻和小麥的播種空間分布狀況資料庫。
(7)光溫生產潛力數據:建立了全省各市、縣指定作物水稻和小麥的光溫生產潛力和氣候生產潛力資料庫。
(8)農業投入-產出數據:全省13個省轄市以鄉鎮為單位,建立了1996~2000年農業生產投入-產出資料庫。
(9)作物產量數據:全省13個省轄市以鄉鎮為單位,建立了1996~2000年的指定作物水稻和小麥的產量資料庫。
(10)土地利用詳查分類面積數據:全省13個省轄市以鄉鎮為單位,建立了2000年土地利用詳查分類面積資料庫。
從數據格式上分,資料庫又可分為:①圖件資料庫:指空間數據以及綁定在空間數據上的相關屬性數據,本次江蘇省農用地分等建立了以分等單元為記錄的屬性資料庫,並通過關鍵欄位與空間數據關聯;②分類統計資料庫:包括全省13個省轄市以鄉鎮為單位的1996~2000年指定作物產量統計數據和全省13個省轄市以鄉鎮為單位的2000年土地利用詳查分類面積統計數據。
(二)系統資料庫管理模式
為減少數據存儲冗餘,同時提高索引速度,江蘇省農用地分等信息系統數據文件採用普遍的目錄樹形式進行管理,按省-市-縣行政體系分別存儲相關數據。全省建立13個省轄市分目錄,分目錄下按照各自所含的縣(區)建立子目錄。根據目前行政管理體系現狀,基礎資料大多來源於縣級行政單位,因此採用縣(區)為基本行政單位較為合理,在保證資料來源的同時,也利於資料的分類歸檔存儲。其相對應的空間圖件數據也按精度要求分割到縣級行政單位,既能減少系統調用數據的吞吐量,同時也滿足了系統的精度需求。空間數據、屬性數據、文本數據按照各自所屬的行政級別歸類存儲,同時設立數據文件管理器進行目錄文件的索引管理,見圖3-86。
圖3-86 江蘇省農用地分等信息系統數據文件管理模式圖
(三)系統資料庫結構
資料庫的結構設計決定了數據之間的調用及介面關系,清晰的邏輯調用關系和統一的數據介面格式有利於數據的組織、管理、調用。
1.空間資料庫
江蘇省農用地分等信息系統空間資料庫以矢量圖件的形式存在,以分圖層的方式管理,包括了全省行政界線、土壤類型、按八大類分別提取的土地利用現狀、分等單元等圖層。其中,分等單元圖層作為農用地分等的基礎,考慮到圖層本身信息量大,可能影響到系統運行效率,因此所在圖層的屬性表中只保留了ID欄位,通過ID欄位與外部屬性庫綁定,實現分等單元與外部屬性庫一一對應關系。ID欄位是本圖層的特徵代碼,表徵了單元的唯一性,能體現出單元的圖上位置和行政歸屬。《農用地分等定級規程》(國土資源大調查專用)和《中華人民共和國行政區劃代碼》(GB/T 2260-1999)為本研究分等單元代碼的編碼依據;本研究有1996年和2000年兩套行政區劃工作底圖,為此分等單元特徵代碼共設14位,依次為江蘇省代碼(2位)-市代碼(2位)-2000年縣或區代碼(2位)-2000年鄉鎮代碼(2位)-1996年縣或區代碼(2位)-1996年鄉鎮代碼(2位)-分等單元號(2位)。其中,省、市、縣(區)的行政代碼按國家統一代碼,鄉鎮級代碼在縣(區)范圍內根據劃分分等單元的需要依次編碼;分等單元編號的原則是不破鄉鎮界,即單元號是在同一鄉鎮內部自行編碼。示例:32011501210101,指1996年江蘇(32)南京(01)市江寧縣(21)由於2000年行政調整變更為南京(01)的江寧區(15)。按行政體系分級編碼的優點是有利於空間查詢和國土資源管理部門根據工作需求按行政級別分類匯總統計數據。
2.屬性資料庫
江蘇省農用地分等信息系統採用關系型資料庫來存儲數據,優點是結構清晰明了,數據的更新維護方便,通過索引能優化資料庫,建立快速的查詢瀏覽(表3-26~表3-30)。
表3-26 行政代碼數據結構表
表3-27 土壤屬性數據結構表
表3-28 農田水利設施數據結構表
表3.29 指定農作物投入-產出數據結構表
表3-30 農業耕作制度及農業區劃表
(四)系統模型庫
系統以《農用地分等定級規程》(國土資源大調查專用)中的相關技術方法和計算模型為基礎,在模型庫中預先內置了分等計算模型。模型庫是動態,它允許專家根據情況動態調整計算模型形式及其參數。系統主要模型的數學計算公式如下:
(1)農用地自然質量分值(Clij)計算公式見式(3-11)。
(2)樣點土地利用系數計算公式:
中國耕地質量等級調查與評定(江蘇卷)
式中:
Klj´——樣點的第j種指定作物土地利用系數;
Yj——樣點的第j種指定作物實際單產;
Yj,max——第j種指定作物最大標准糧單產。
(3)等值區土地利用系數計算公式:
中國耕地質量等級調查與評定(江蘇卷)
式中:
Klj——等值區內第j種指定作物土地利用系數;
Klj´——參與計算的同一等值區內合格樣點第j種指定作物土地利用系數;
n——排除異常數據後參與計算的樣點的個數。
(4)樣點土地經濟系數計算公式:
中國耕地質量等級調查與評定(江蘇卷)
式中:
Kcj′——樣點的第j種指定作物土地經濟系數;
Yj——樣點第j種指定作物實際單產;
Cj——樣點第j種指定作物實際成本;
Aj——第j種指定作物最高「產量-成本」指數。
(5)等值區土地經濟系數計算公式:
中國耕地質量等級調查與評定(江蘇卷)
式中:
Kcj——等值區內土地經濟系數;
Kcj´——參與計算的同一等值區內合格樣點第j種指定作物土地經濟系數;
n——排除異常數據後參與計算的樣點的個數。
(6)農用地自然質量等指數(Ri)計算公式見式(3-12)和式(3-13)。
(7)農用地利用等指數(Yi)計算公式見式(3-14)和式(3-15)。
(8)農用地經濟等指數(Gi)計算公式見式(3-16)和式(3-17)。
❷ 資料庫物理模型
資料庫物理模型設計的目標是根據選定的Oracle資料庫系統特點和航空物探數據管理與服務的業務處理需求,確定航空物探資料庫最優的物理環境、存取方法和存儲結構。即通過資料庫物理設計,以便達到物理資料庫結構的優化,使得在資料庫上運行的各種事務響應時間少、存儲空間利用率高、事務吞吐率大。
一、資料庫布局
航空物探信息系統的維護數據(部門、崗位、人員、人員許可權、數據入庫檢查規則及數據字典等)相對比較穩定。入庫前數據需經過各種檢查校對,確認數據正確後才能歸檔,存入航空物探資料資料庫,所以存入資料庫前的數據可能經常需要修改和刪除,相對變化較大;而存入資料資料庫中的數據一般不允許修改和刪除,以免誤操作破壞資料庫數據造成損失。
圖2-12 航空物探資料庫邏輯模型
圖2-13 航空物探資料庫布局與數據採集流程圖
據此,我們採用圖2-13所示的資料庫數據採集流程,並將航空物探資料庫分為資料採集資料庫、資料資料庫、系統維護資料庫分別進行存儲和管理,實現數據的統一管理和統一使用,便於數據入庫和易於維護等。
航空物探資料資料庫是航空物探所有數據最終存儲的場所。資料採集資料庫是數據歸檔存入資料資料庫前的臨時「集散地」,在此接收各項檢查,在確認數據無誤後歸檔到資料資料庫,然後刪除資料採集資料庫中已歸檔的數據。此外,資料採集資料庫中還保存數據入庫、維護、檢查日誌及歸檔記錄。
系統維護資料庫,存儲系統維護信息(如系統功能、資料庫表清單等)、安全信息(如信息系統用戶的角色、許可權、授權的系統功能等),數據字典、入庫數據檢查規則等。將其與航空物探數據分開,有利於系統維護和管理。
二、資料庫空間設置
資料庫空間設置包括磁碟空間設置、應用系統表空間設置、撤銷表空間、臨時表空間、日誌空間和索引空間設置。
(一)磁碟空間設置
磁碟空間設置的目標:磁碟性能不能阻礙實現資料庫性能,資料庫磁碟必須專用於資料庫文件,否則非資料庫將會影響到資料庫性能,且磁碟空間必須滿足恢復和性能的要求。
航空物探資料庫伺服器為IBMP620小型機,8塊硬碟,每塊硬碟36GB空間,每塊物理磁碟建立一個文件系統。為了提高磁碟的反應時間和尋道時間,提高I/O的存取效率,除了一塊硬碟用於UNIX操作系統外,其餘7塊磁碟分別存放資料採集資料庫、系統維護資料庫-日誌文件,資料資料庫及資料資料庫的大欄位數據、索引、回滾段和數據日誌文件。
(二)應用系統表空間設置
信息系統數據採集過程對數據的事務操作比較頻繁,經常進行數據插入(新數據入庫)、修改(入庫數據有誤)和刪除操作(數據重新導入或歸檔入庫),因此航空物探資料採集資料庫所在的表空間會很活躍。為了不影響其他I/O的競爭,同時也可以提高數據入庫的操作效率(50多年的歷史數據需要集中入庫),分配一個磁碟空間(36GB)為採集庫的表空間。由於採集數據歸檔入資料庫後被刪除,同時進行數據入庫的項目也不是很多,雖仍保留所有的採集日誌數據,一個磁碟空間也足夠使用。
航空物探資料資料庫的二維表和Oracle大欄位(BLOB)分別存放在不同的物理磁碟(每個磁碟36GB)上,對同時存在有表格數據和大欄位數據的資料庫表(如航跡線數據)時,可以提高磁碟I/O效率。隨著數據入庫的項目越來越多,需要增加相應的物理磁碟或磁碟陣列。
系統維護資料庫相對穩定,佔用磁碟空間約500M左右。由於系統磁碟有限,把日誌文件存放該磁碟中。
(三)撤銷表和臨時表空間的設置
在Oracle資料庫中,撤銷的目的是確保事務的回退和恢復。撤銷參數有UNDO_MANAGEMENT、UNDO_TABLESPACE和UNDO_RETENTION。
UNDO_MANAGEMENT參數用於資料庫中管理撤銷數據的方式,航空物探資料庫設置為自動模式(auto)。
UNDO_TABLESPACE參數用於指定資料庫中保存撤銷數據的撤銷表空間名稱,航空物探資料庫撤銷表空間名稱為UNDO_ARGS_TBSPACE,空間大小設置為20GB,以確保在保留時間內進行恢復。
UNDO_RETENTION參數用於指定已經提交事務的撤銷數據在能夠覆蓋之前應該保留多長時間,本資料庫系統設置為60min。
臨時表空間是用以存儲大量的排序,與撤銷表空間存放在一個物理磁碟上,本資料庫系統臨時表空間設置為500M。
(四)日誌空間設置
日誌的主要功能是記錄對資料庫已做過的全部操作。在系統出現故障時,如果不能將修改數據永久地寫入數據文件,則可利用日誌得到該修改,所以不會丟失已有操作結果。
日誌文件主要是保護資料庫以防止故障。為了防止日誌文件本身的故障,航空物探資料庫系統分別在一個獨立磁碟和系統維護庫磁碟中存放日誌文件。若系統出現故障,在下次打開資料庫時Oracle資料庫系統自動用日誌文件中的信息來恢復資料庫文件。
根據航空物探資料庫信息系統同時登錄的用戶數及使用的功能,將日誌文件大小設置為10GB。
(五)索引表空間設置
為了提高航空物探信息系統的查詢和統計速度,把所有索引空間與應用表空間完全分開,從而提高I/O存取效率。航空物探索引表空間大小設置為10GB。
聚集是表的一種存儲方法,一般每個基本表是單獨組織的,但對邏輯上經常在一起查詢的表,在物理上也鄰近存放,這樣可減少數據的搜索時間,提高性能。
當幾個關系(表)以聚集方式組織時,是通過公共屬性的值為表聚集的依據。航空物探資料庫系統是以項目標識(PROJ_ID)建立聚集的,所有涉及項目標識的資料庫表直接引用項目標識聚集。航空物探聚集表空間與索引表空間相同。
三、資料庫參數設置
在資料庫創建前需要對如下資料庫參數進行設置,航空物探參數文件名為Inito-raargs.ora,各種參數設置如下:
DB_block_size=16384
DB_name=oraagrs
DB_domain=oraargs.com
Compatible=9.1.0
Nls_characterset=ZHS16GBK
Open_Cursors=100
DB_files=100
DB_file_mutliblock_read_count=16
Log_checkpoint_interval=256000
Processes=200
四、內存設置
航空物探資料庫伺服器物理內存為4GB,除部分用於系統開銷外,其餘全部用於資料庫。
Oracle使用共享系統全局區(System Globla Area,SGA)內存來管理內存和文件結構,包含DB_block_Bufers、DB_cache_size、Shared_pool_size、Log_Buffer參數。航空物探資料庫系統的全局區內存參數設置如下。
DB_block_Buffers參數為SGA中存儲區高速緩存的緩沖區數目,每個緩沖區的大小等於參數DB_block_size的大小,DB_block_Buffers=19200(約300MB)。
Shared_pool_size參數為分配給共享SQL區的位元組數,是SGA大小的主要影響者,Shared_pool_size=1228800000(1.2GB)。
DB_cache_size參數是SGA大小和資料庫性能的最重要的決定因素。該值較高,可以提高系統的命中率,減少I/O,DB_cache_size=1024000000(1GB)。
Log_Bufer參數為重做日誌高速緩存大小,主要進行插入、刪除和修改回退操作,Log_buffer=5120000(5MB)。
五、優化設置
由於航空物探信息系統的採集軟體和應用軟體是採用MS.NETC#進行開發的,應用程序與資料庫之間的連接有傳統的ODBC和OLEDB兩種方式。為了支持ODBC在OLEDB技術上建立了相應的OLEDB到ODBC的調用轉換,而使用直接的OLEDB方式則不需轉換,從而提高處理速度。
在建立資料庫表時,參數Pctfree和Pctused設置不正確可能會導致數據出現行鏈接和行遷移現象,即同一行的數據被保存在不同的數據塊中。在進行數據查詢時,為了讀出這些數據,磁頭必須重新定位,這樣勢必會大大降低資料庫的執行速度。因此,在創建表時應充分估計到將來可能出現的數據變化,正確地設置這兩個參數,盡量減少資料庫中出現的行鏈接和行遷移現象。
航空物探資料採集資料庫表的插入、修改和刪除的頻率較高,Pctfree設置為20,Pctused設置為40;系統維護資料庫表相對穩定,Pctfree設置為10,Pctused設置為15;資料資料庫表除了增加數據外基本不進行修改和刪除操作,Pctfree設置為10,Pctused設置為5。
六、擴展性設置
多CPU和並行查詢PQO(Parallel Query Option)方式的利用:CPU的快速發展使得Oracle越來越重視對多CPU的並行技術的應用,一個資料庫的訪問工作可以用多個CPU相互配合來完成。對於多CPU系統盡量採用並行查詢選項方式進行資料庫操作。航空物探資料庫伺服器為2個CPU,在程序查詢中採用了並行查詢的方式。
在航空物探工作量統計、飛行小時統計、測量面積統計和岩石物性統計中,為了加快統計效率,在相應的查詢語句中增加了並行查詢語句。
隨著航空物探高精度測量程度的不斷提高,測量數據將越來越大。為了滿足航空物探查詢效率及發展,將航磁測量數據與校正後航磁測量數據按比例尺分1:20萬以下、20萬~50萬、1:50萬以上分別存放3張不同的資料庫表。
七、創建資料庫
在完成資料庫布局、空間設置、內存設置、資料庫參數設置、擴展性設置和優化設置後,進行航空物探資料庫物理模型設計,即航空物探資料庫實體創建。由於航空物探空間資料庫邏輯模型是採用ESRI提供的ArcGIS UML構建的Geodatabase模型,因此,使用ESRI公司提供的CaseTools將航空物探數據UML模型圖轉成空間資料庫(Geodatabase)實體(圖2-14)。
航空物探屬性資料庫表(二維表)是採用Power Designer資料庫設計平台直接把資料庫關系模型生成資料庫腳本來創建的。
經過資料庫的概念設計、邏輯設計和物理設計,最終生成航空物探資料庫。
圖2-14 航空物探資料庫物理模型實現
八、空間數據的索引機制
對於海量的空間資料庫而言,資料庫的操作效率是關繫到資料庫成敗的關鍵問題。為了提高數據的訪問、檢索和顯示速度,數據在載入到資料庫時,要素類數據建立了空間索引,柵格數據構建了金字塔結構,對象類數據採用與資料庫直接聯接的訪問機制。
(一)空間索引
為了提高要素類數據的查詢性能,在建立航空物探空間資料庫時,創建了空間索引機制。常用的空間索引有格網索引、R樹索引、四叉樹索引等。Geodatabase採用格網索引方式。所謂格網索引是將空間區域劃分成適合大小的正方形格網,記錄每一個格網內所包含的空間實體(對象)以及每一個實體的封裝邊界范圍,即包圍空間實體的左下角和右上角坐標。當用戶進行空間查詢時,首先計算出用戶查詢對象所在格網,然後通過格網編號,就可以快速檢索到所需的空間實體。
確定適合的格網級數、單元大小是建立空間格網索引的關鍵。格網太大,在一個格網內有多個空間實體,查詢檢索的准確度降低。格網太小,則索引數據量成倍增長和冗餘,檢索的速度和效率較低。資料庫的每一數據層採用不同大小、不同級數的空間索引格網單元,但每層最多級數不能超過三級。格網單元的大小不是一個確定性的值,需要根據對象的大小確定。空間索引格網的大小與檢索准確度之間的關系如圖2-15所示。
選擇格網單元的大小遵循下列基本原則:
1)對於簡單要素的數據層,盡可能選擇單級索引格網。減少RDBMS搜索格網單元索引的級數,縮短空間索引搜索的過程,例如航跡線要素類。
圖2-15 索引格網大小與檢索准確度的關系
2)如果數據層中的要素封裝邊界大小變化比較大,應選擇2或3級索引格網。Geodata-base最多提供三級格網單元。每一要素封裝邊界在適合的級內,減少了每一封裝邊界有多個格網的可能性。在空間索引搜索過程中,RDBMS則必須搜索所有3個格網單元級,這將消耗大量的時間。
3)若用戶經常對圖層執行相同的查詢,最佳格網的大小應是平均查尋空間范圍的1.5倍。
4)格網的大小不能小於要素封裝邊界的平均大小,為了減少每個格網單元有多個要素封裝邊界的可能性,格網單元的大小應取平均格網單元的3倍。最佳格網單元的大小可能受圖層平均查詢的影響。
空間域是按照要素數據集定義的,空間索引格網是按照要素類設置的。它們都是在創建Geodatabase資料庫時設置,並一經設置,中間不許改變;所以一定要在充分分析數據的情況下確定它們的值。航空物探數據主要是簡單要素類,空間跨度為70°。根據上述原則,航空物探數據選擇單級索引格網,格網大小為20°。
(二)金字塔結構
金字塔結構的核心是將柵格數據逐級進行抽稀,形成多級解析度的重采樣數據,並將其分割成塊,按一定的文件格式(金字塔文件格式)存儲成磁碟文件;在以後進行圖像顯示處理時,只需將要顯示的部分所覆蓋的塊從磁碟文件直接讀進內存緩沖區顯示即可。從金字塔的所有層中尋找與所要求顯示的比例相近或匹配的一層,並將該層的從某一點起的一定范圍的圖像所覆蓋的所有塊載入到內存緩沖區,提取所需部分並形成圖像。
金字塔演算法(圖2-16)是通過獲取顯示時所需要的一定解析度的數據來提高顯示速度。使用金字塔數據格式後,在顯示全圖時僅需要顯示一個較低解析度的數據,這樣既能加快顯示速度,又不會影響顯示效果。放大圖像,盡管顯示圖像解析度提高,由於顯示區域減小,所以顯示速度不會下降。如果沒有為柵格數據建立金字塔數據,則每次顯示都會讀取整個數據,然後進行重采樣得到顯示所需要的解析度,明顯地降低了顯示速度。
圖2-16 金字塔壓縮示意圖
金字塔數據重采樣方式有:最近鄰法、雙線性內插和立方卷積。其中最近鄰法適用於離散數據,而雙線性內插法和立方卷積法適合於連續數據。
在ArcGISEngine中提供了IRasterPyramid和IRasterPyramid2介面來實現金字塔數據的建立,而建立的數據保存在*.rrd格式的文件中。
(三)空間域定義
空間域是指數據的有效空間范圍,即Geodatabase資料庫的最大等效坐標的值域范圍,其定義主要是指比例系數和MinX、MinY的計算。
因為使用整數比浮點數有更高的壓縮率,並且對整數進行二進制搜索比較快,所以多用戶Geodatabase以4位元組正整數存儲坐標,其最大值為32位正整數所能表示的范圍是21.4億(2147483647),整數的范圍稱為空間域。在創建Geodatabase資料庫時需要定義合適的比例系數。大的整數值將消耗大量的計算機物理內存,所以選定的比例系數最好不要大於必須的比例系數。空間域隨坐標系的單位變化而變化。
比例系數和空間域之間成反比例關系,比例系數越大(存儲單位越小),表達的空間域也越小。為了使目標數據都存儲在系統中,需要謹慎地設置比例系數。將目標數據的寬度和高度較適中的數值乘以比例系數,如果結果小於21.4億,則比例系數是合適的。
航空物探數據模型是為我國的航空物探行業數據建庫設計的,它支持的空間數據的坐標范圍為我國領土覆蓋的海陸空間,最低緯度為赤道。根據概念設計的分析,航空物探數據模型採用的是地理坐標系,坐標系單位是度,基準是Beijing_1954,要求存儲的坐標數據精度達到0.01m。在赤道處,赤道圓周長為40075694.6m,則每度弧長=40075694.6×100/360cm=11132137.389cm,即1cm對應8.983000883E-8°。所以,航空物探數據模型的比例系數取為8.98E-8,即存儲單位為8.98E-8°,可滿足1cm精度要求。
將空間域移動到目標數據范圍之前,首先找到空間域在存儲單位的中心位置,目的是在必要時向各個方向擴展。4位元組正整數可表示的坐標范圍:2147483647×8.98E-8=192.84。我國的領土范圍是東經70°~140°,北緯0°~60°。所以,選取的比例系數是合適的。把空間域坐標系中心定為90°,然後,計算空間域的MinX、MinY。
MinX=((70+140)÷2)-90=15
MinY=((0+60)÷2)-90=-60
所以坐標的存儲數據是:
X_Storage=(X-MinX)/8.98E-8
Y_Storage=(Y-MinY)/8.98E-8
❸ 資料庫概念模型
一、航空物探資料庫定位
資料庫是信息系統的基礎和核心,把大量的數據信息按一定的模型組織起來存儲在資料庫中,提供數據維護、數據檢索等功能,使信息系統能方便、及時、准確地從資料庫中獲得所需的信息。因此,資料庫結構設計是信息系統開發的重中之重。
經分析航空物探數據具有空間性、海量性、多源性和多尺度的特點,這說明航空物探數據具有典型神廳的空間數據的特點,可以採用空間數據管理方式進行管理。
ESRI公司的Geodatabase(空間資料庫)是採用標准關系資料庫技術來表現地理信息的面向對象的高級GIS數據模型,是建立在DBMS之上的統一的、智能化的空間數據模型,是以一組相關聯的表來表達地理要素之間關系、有效性規則和值域。對於多源、海量的航空物探數據,Geodatabase能在一個統一的模型框架下很好地解決多源數據一體化存儲的問題,和採用標准關系資料庫技術來表現海量航空物探數據的地理信息特性。Geoda-tabase引入了地理空間實體的行為、有效性規則和關系,在處理Geodatabase中對象時,對象的基本行為和必須滿足的規則無需通過程序編碼實現,只需根據需要擴展其有效性規則(Geodatabase面向對象的智能化特性),即可支持航空物探數據模型擴展的需要。
因此,航空物探資料庫是空間資料庫,在航空物探資料庫建模過程中,以空間數據建模為主導,統領屬性數據建模。
二、統一空間坐標框架
為了用數學語言描述地球,人們用規則的幾何形體來替代地球表面,從地球自然表面、大地水準面、旋轉橢球面直到用簡單數學函數表達的參考橢球體,以便通過地圖投影將三維曲面轉化成二維平面。由於地球表面不同地區的地形起伏差異很大,採用單一橢球體勢必會造成某地區的誤差小而其他地區誤差很大的結果。因此,在20世紀初不同國家或地區先後採用了逼近本國或本地區地球表面的橢球體,如中國的克拉索夫斯基橢球體,美國的海福特橢球體、英國的克拉克橢球體等。這又造成了目前世界各國的地理信息空間坐標框架不統一,空間數據信息難以共享被動局面。為此,在實現數字地球計劃中,必須規范和統一世界上不同國家和地區的地球參考橢球體。
在小區域表達地球表面時,通常採用平面的方式,即投影坐標系統。如何科學地選擇投影坐標,一般要根據具體的地學應用、地理區域和范圍、比例尺條件等因素來確定,不同的國家有著不同的規定。
通過對航空物探數據的坐標系統進行分析可知,航空物探圖件的坐標框架與國家對基本比例尺制圖的規定相一致,即小比例尺編圖採用Lambert雙標准緯線等角圓錐投影;中比例尺採用Gauss6°帶的分帶投影;大比例尺採用Gauss3°帶的分帶投影(表2-1);對於低緯度的海上作業區通常採用Mecator等角圓柱投影。地球橢球體分別採用1954北京坐標系的Krassovsky橢球參數、WGS84橢球參數和未來的國家2000坐標系的橢球參數。
表2-1 航空物探地理坐標數據的投影方式
傳統的航空物探數據是按測區管理的,根據測區的測量比例尺來確定相應的坐標框架;因此,勘探目標不同的測區測量比例尺是不一致的,地坐標框架也不同。航空物探資料庫要將不同測區、不同比例尺、不同坐標框架的數據集中管理和可視表達,若沒有統一的空間坐標框架,就不可能正游世隱確地表達全國航空物探數據。所以,面對如此復雜的多坐標框架的航空物探數據,如何確定科學合理的空間坐標框架,將全國的航空物探數據整合到統一的空間參考框架下,實現數據的統一存儲和數據間無縫拼接,是航空物探資料庫建設的關鍵所在,是組織和管理多維、多格式、大跨度、跨平台的航空物探數據和多目標數字制圖的數學基礎。
統一的空間坐標框架必須支持我國領土覆蓋的海域和陸域航空物探數據的存儲和表達。我國領土東西跨度達70°,南北達55°,顯然採用任何投影坐標系都是不合適的。Gauss6°投影適合6°帶內空間數據表達,若全國航物探數據採用6°分帶表達,在高緯度地區會造成6°帶間數據裂縫問題;Lambert投影可滿足數據的無縫表達,但對大比例尺數據變形較大,無法滿足數據制圖的精度要求;Mecator投影也可滿足數據的無縫表達,低緯度地區也能滿足大比例尺數據制圖的精度要求,但在我國中高緯度區存在著嚴重變形問題。所以,航空物探數據模型採用地理坐標(無投影,圖2-1)格式存放,可根據實際應用的需要將航空物探數據變換到任何方式的投影坐標系統。
航空物探資料庫模型返攜採用Beijing_1954地理坐標系,相關參數如下:
角度單位:°(0.017453292519943299rad)
零經線:格林尼治(0.000000000000000000)
基準:D_Beijing_1954
橢球:Krasovsky_1940
長軸半徑:6378245.000m
短軸半徑:6356863.019m
建立統一坐標框架是空間資料庫建設的一項基礎性工作,採用Beijing_1954地理坐標系作為航空物探資料庫統一空間坐標框架具有以下優點。
圖2-1 統一空間坐標框架示意圖
(一)無縫空間數據存儲
統一空間坐標框架解決了復雜的航空物探數據的坐標系統、投影、比例尺等不統一的問題,實現同一性質的物探數據在同一個主題中進行管理。如全國的航磁異常數據可放在一個圖層上進行管理。
(二)適合多尺度表達
按測區管理的多尺度、多框架的航空物探數據是處於一個相對坐標系統中,各個測區間相對位置關系會發生錯位。採用統一的Beijing_1954地理坐標框架,恢復了各測區間正確的位置關系,實現不同尺度數據的集成和正確表達,易於多源異構空間數據的融合。
(三)大區域數據集成
我國海陸面積近1300×104km2,地域跨度較大。在進行小比例尺的航空物探編圖時,需要選用與之相適應的投影坐標;在陸地和海域進行大比例尺制圖時,同樣需要選用合適投影系統。航空物探制圖的實踐也證明了這一點。1995年6月由中國、加拿大、美國、愛爾蘭和俄羅斯等國科學家共同編制的1:1000萬歐亞東北地區磁異常與大地構造圖,採用橫軸Mercator投影。中心編制的1:500萬全國航磁圖採用Lambert投影。2008年,由中國和吉爾吉斯斯坦科學家編制的1:100萬中吉天山金屬礦產成礦規律圖,採用Lambert投影,將兩個國家不同時期、不同尺度的數據進行了有效的集成,是地質、地球物理等綜合應用的典範。
隨著航空物探數據應用領域的不斷擴展,陸地、海域,甚至於洲際和全球航空物探數據的整體表達都需對坐標投影提出要求。採用統一的地理坐標框架的航空物探數據非常容易變換到指定的投影坐標框架,滿足多樣化的制圖要求。
三、要素類和對象類的劃分
Geodatabase空間資料庫模型結構(圖2-2)分為空間資料庫、要素數據集(Feature dataset)、要素類(Feature classes)、要素(Feature)4個層次。為了建立航空物探Geoda-tabase空間數據模型,我們依據Geodatabase模型關於要素類和對象類的劃分原則,結合相關的國家標准和地球物理行業標准,制定了《航空物探數據要素類和對象類劃分標准》,對航空物探數據進行數據分類。
圖2-2 空間資料庫模型結構
1)按照航空物探數據的空間特徵,將其劃分為5個要素數據集,即勘查項目概況要素數據集、基礎數據要素數據集、異常要素數據集、解釋要素數據集和評價要素數據集。
2)根據航空物探測量方法、數據處理過程以及推斷解釋方法和過程,進一步把航空物探數據劃分為若干要素類和對象類,定義了要素類的主題特徵和表達方式,確定子類和屬性域;定義對象類的結構和聯接欄位,建立了關系類。
3)定義要素類的內容、欄位名稱和存儲結構。在航空物探數據採集過程中,不同類型的數據采樣率不同,坐標數據采樣2次/s,重力場數據采樣2次/s,磁場數據采樣10次/s,這就造成了場值數據與坐標數據無法一一對應問題。若按場值數據采樣率內插坐標數據,將導致數據量成倍增長;若按坐標數據采樣率抽稀場值數據,將降低航空物探測量對地質體的分辨能力,影響測量效果。在綜合分析航空物探數據應用基礎上,提出了採用要素數據與屬性數據分置的方式,將測線坐標數據與地球物理場數據分離,分別建立獨立共享的航跡線數據要素類模型,磁場、重力場等數據對象類模型(圖2-3),很好地解決了航空物探數據的存儲問題。
圖2-3 要素數據與屬性數據分置示意圖
採用要素數據與屬性數據分置方式,不僅是基於航空物探數據屬性數據的多源性、不同采樣頻率等特點的考慮,還考慮到數據的綜合查詢和檢索的速度,特別是通過ArcSDE訪問空間資料庫的效率的問題。再者,對於大部分用戶來說,需求是屬性數據的綜合應用,因此在資料庫建模過程中,將屬性數據採用對象類的方式進行管理,不但提高了空間數據的操作能力,同時在ArcSDE的配置上採用直接訪問資料庫(對象類)方式,並且加快了數據查詢和統計的速度。
四、資料庫概念模型
用戶需求是資料庫建設的約束條件之一。航空物探數據的空間特性決定航空物探資料庫必須是空間資料庫,採用資料庫管理數據,利用GIS技術提供可視化服務,這是各個層次用戶的一致要求。因此,我們從現實世界出發,對航空物探數據的多源性、多尺度和不同采樣等問題進行了描述,提出了解決方案。此方案是不依賴於任何具體的硬體環境和資料庫管理系統(DBMS),建立了客觀反映現實世界的航空物探資料庫概念模型,把用戶需要管理的信息統一到整體概念結構中,表達了用戶需要。
在全面分析航空物探業務流程和數據流程,以及航空物探數據特性的基礎上,按照《航空物探數據要素類和對象類劃分標准》,以及空間實體點、線、面要素特徵的基本原則,對航空物探資料庫所涉及的實體進行歸類,劃分成12個主題。根據空間數據分主題表達的特點和航空物探空間數據坐標框架的定義,確定航空物探資料庫空間數據概念模型,明確各個主題的用途、數據來源、表達方式、空間參考、比例尺和精度等內容,按照ArcGIS定義空間資料庫的數據分層表達方式(圖2-4),完成航空物探資料庫概念模型設計(圖2-5)。
圖2-4 航空物探資料庫空間數據分層模型
圖2-5 航空物探資料庫空間數據概念模型
❹ 資料庫邏輯模型
資料庫關系模型(資料庫邏輯模型)是將數據概念模型轉換為所使用的資料庫管理系統(DBMS)支持的資料庫邏輯結構,即將E-R圖表示成關系資料庫模式。資料庫邏輯設計的結果不是唯一的,需利用規范化理論對資料庫結構進行優化。
在關系模型中,資料庫的邏輯結構是一張二維表。在資料庫中,滿足下列條件的二維表稱為關系模型:
1)每列中的分量是類型相同的數據;
2)列的順序可以是任意的;
3)行的順序可以是任意的;
4)表中的分量是不可再分割的最小數據項,即表中不允許有子表;
5)表中的任意兩行不能完全相同。
由此可見,有序的航空物探測量剖面數據不滿足資料庫關系模型條件第3條「行的順序可以是任意的」,因此,不能簡單地直接利用關系資料庫(如Oracle,SQL Server,Sybase等)來管理剖面數據,需將數據在資料庫中的存儲方式改為大欄位存儲,確保不因資料庫數據的增加和刪除等操作改變剖面數據有序特性。
一、大欄位存儲
(一)大欄位存儲技術
大欄位LOB(Large Object)技術是Oracle專門用於存放處理大對象類型數據(如多媒體材料、影像資料、文檔資料等)的數據管理技術。LOB包括內部的和外部的兩種類型。內部LOB又分CLOB(字元型)、BLOB(二進制型)等3種數據類型,其數據存儲在資料庫中,並且支持事務操作;外部LOB只有BFILE類型,其數據存儲在操作系統中,並且不支持事務操作。LOB存放數據的長度最大可以達到4G位元組,並且空值列(沒有存放數據)不佔空間(圖2-6)。
圖2-6 大欄位存儲示意圖
由於外部LOB存放在操作系統文件中,其安全性比內部LOB差一些。此外,大欄位的存儲支持事務操作(批量提交和回滾等),而外部LOB不支持事務操作。所以,航空物探測量剖面數據採用BLOB來存儲。對於BLOB類型,如果數據量小於4000位元組,資料庫通常採用行內存儲,而數據量大於4000位元組採用行外存儲。分析航空物探測量剖面數據,每個場值數據佔4個位元組(單精度),目前航磁數據采樣率為10次/s,4000位元組只能存儲100 s數據;一般情況下航空物探測量每條測線飛行時間至少在10 min以上,每條測線數據量遠遠大於4000位元組。所以,航空物探測量剖面數據採用行外存儲方式,即大欄位列指定「Disable Storage In Row」的存儲參數。
由於大欄位類型長度可變,最大可到4G。假設測線飛行時間為T,場值采樣率為n次/s,測線場值數據量為4Tn,所以有4Tn≤4G。單條測線飛行時間T不會超過10 h(36000 s,航空物探測量1架次至少飛行1個往返2條測線),則場值的采樣率n≤4G/4T=4×1024×1024×1024/4×36000次/s=29826次/s。採用大欄位來存儲測量數據,不僅能夠減少數據表的記錄數,提高查詢效率,而且使得采樣率的擴展不受限制。
(二)大欄位存儲技術應用
由於航空物探數據的數據量較大,現有的航磁測量數據按基準點方式(點存儲)存儲可達幾億個數據記錄。若按磁場數據采樣點存儲方式(簡稱「場值存儲方式」),則記錄條數=(磁場數據采樣率/坐標采樣率)點存儲方式的記錄數,達幾十億條數據記錄,且隨著數據采樣率的擴展、測點的加密,航空物探測量數據量隨著時間的推移呈現快速增長之勢。顯然,如果採用常規的表結構來存儲,勢必造成數據的存儲、管理、檢索、瀏覽和提取都非常困難。另一方面,從航空物探專業應用需求來說,很少對單個測點的場值數據進行運算、分析等操作,一般至少是對一條測線或以上測線,多數時候是需要對整個測區的場值數據進行化極、上延、正反演擬合等。
因此,在航空物探資料庫表結構設計時,改變過去將基準點或場值點數據記錄作為資料庫最小管理對象的理念,採用了大欄位存儲技術,將測線作為資料庫最小管理對象,將測線上的測量數據,如坐標數據和磁場、重力場數據分別存儲在相應大欄位中。在航空物探資料庫建設中,大量採用資料庫的大欄位存儲技術(詳見《航空物探信息系統資料庫結構設計》)。
(三)大欄位存儲效率
以航磁測量數據為例分析大欄位存儲技術優勢。如果以場值存儲方式存儲測線數據,則每條記錄包含架次號、測線號、基準號、地理坐標、投影坐標、磁場數據等,由於坐標數據采樣率2次/s,磁場數據采樣率10次/s,每5個磁場數據中,只有第1個磁場數據有坐標數據,其他4個坐標數據是內插出來,因此在測線記錄中會產生大量冗餘的數據坐標數據。採用點存儲方式存儲的測線數據記錄數等於線上基準點數,若採用大欄位存儲方式,一條測線數據只存儲為1條數據記錄(圖2-7),一般一條測線的測點數近萬個,甚至更多,可見採用大欄位存儲大大減少測線數據存儲記錄數,提高數據的存取效率。
以某測區的兩條航跡線為例,分別採用3種方式測試資料庫的數據存儲效率。磁場數據的采樣率10次/s,坐標數據采樣率2次/s,兩條測線上共有基準點8801個。以場值方式存儲先內插坐標信息,使得每個場值數據都擁有自己的坐標,然後存入資料庫,共有數據記錄44005條,寫入資料庫時間為57.22 s,讀取時間為1.03 s。第二種方式是以采樣點的方式進行存儲,共有8801條記錄,寫入資料庫時間為9.47 s,讀取需要0.91 s。第三種方式是以大欄位的形式存儲,只有2條記錄,寫入資料庫1.03 s,讀取時間為0.44 s(表2-2)。大欄位數據存儲記錄數最少,存取效率最高。用整個測區數據測試效果更加明顯。
表2-2 三種數據存儲方法的存取效率比較
圖2-7 大欄位存儲方式示意圖
二、聯合主鍵
主外鍵是關系型資料庫建立表間關系的核心。在航空物探空間資料庫建設過程中,要素類與要素類之間、要素類與對象類之間,以及對象類與對象類之間的關系的描述有3種形式,即拓撲關系——描述要素類與要素類之間結點、鄰接和聯通關系;疊加關系——描述要素類與要素類之間的相交、包含與分類關系;隸屬關系——描述對象類與對象類之間的派生關系。前兩種關系是採用空間數據模型建立的關系,而隸屬關系是通過主鍵建立的對象類與對象類之間的關系。在建立一對一、一對多的表間關系時,需要在整個資料庫表中確定具有唯一性的一個欄位作為主鍵(主關鍵字)。
按照傳統的航空物探數據的檔案管理模式,每個項目分配一個自然數作為檔案號,項目的所有資料均與此檔案號相聯系。勘查項目和科研項目的檔案號是獨立編號的,且均從001開始。加之人工管理的原因,存在1個項目2個檔案號和2個項目1個檔案號的情況,因此現行的檔案號與項目之間的對應關系不具備唯一性,不能作為項目的唯一標識,即不能作為資料庫表的主鍵。項目編號也不能作為資料庫表的主鍵,項目編號也只是近十年的事,以前的項目沒有項目編號。
綜合考慮上述因素和項目具有分級、分類的特點,提出了構造項目唯一標識碼(簡稱「項目標識」)的方法,並以此碼作為資料庫表的主鍵。
項目標識(主鍵):AGS+項目類別(2位)+項目起始年份(4位)+檔案號(6位)
標識含義:AGS——航空物探的縮位代碼;
項目類別——2位代碼,01代表勘查項目、02代表科研項目;
起始年份——4位代碼,項目開始年號;
檔案號——6位代碼,為了與傳統的項目管理方式相銜接,後面3~4位是
項目檔案管理模式下的檔案號,不足部分補零。
以上15位編碼是一級項目的項目標識,二級及其以下級別的項目標識是在上一級項目標識基礎上擴展2位數字代碼,中間用「.」號隔開,數字為該級項目的序號。項目標識定義為30位編碼,適用於六級以內的項目。例如:AGS022004000576.08.04.02,表示該項目為2004年開展的檔案號為576的航空物探科研項目(一級項目)的第8課題(二級項目)第4子課題(三級項目)的第2專題。由此可見,該項目標識不僅僅是一個建立表間關系的關鍵字,同時還表達了不同級別項目間的隸屬關系。在系統軟體開發時,利用此關系生成了項目的分級樹形目錄,用戶對項目的層次關系一目瞭然,便於項目查詢。
資料庫的主鍵一經確定,相應地需要確定聯合主鍵的組成及其表達方式。所謂聯合主鍵就是數據資料的唯一標識,在一個資料庫表中選擇2個或者2個以上的欄位作為主鍵。由於航空物探數據絕大部分與項目標識有關,加之數據的種類較多,分類復雜,單憑主鍵確定資料庫表中記錄的唯一性,勢必需要構建極其復雜的主鍵,這種方法既不利於主鍵的數據操作,又會造成大量的數據冗餘,合理地使用聯合主鍵技術可以很好地解決資料唯一問題。以項目提交資料為例,提交的資料分為文字類資料、圖件類資料和媒體類資料,我們對資料進行分類和編號,例如100代表文字資料(110——World文檔,120——PDF文檔),200代表圖件資料(210——基礎地理資料、220——基礎地質資料,230——航跡線圖,240——剖面圖,250——等值線圖等),300代表媒體資料(310——PPT文檔,320——照片等),第1位(百位)表示該資料的類型,第2~3位表示該類資料的序號。
在資料庫管理和項目資料查詢時,採用項目標識與資料分類編號作為聯合主鍵(圖2-8),可以高效地實現復雜數據的查詢。在整個資料庫系統中多處(項目查詢、數據提取等模塊)使用聯合主鍵技術。
圖2-8 聯合主鍵實例
三、信息標准化
為了實現數據共享,在航空物探資料庫建模過程中,參考和引用了近百個國家信息化標准,編制了4個中心信息化標准和1個圖件信息化工作指南。
(一)引用的國家信息化標准
1)地質礦產術語分類代碼:地球物理勘查,地球化學勘查,大地構造學,工程地質學,結晶學及礦物學,礦床學,水文地質學,岩石學,地質學等。
2)國家基礎信息數據分類與代碼,國土基礎信息數據分類與代碼,地球物理勘查技術符號,地面重力測量規范,地面磁勘查技術規程,地面高精度磁測技術規程,大比例尺重力勘查規范,地理信息技術基本術語,地理點位置的緯度、經度和高程的標准表示法,地名分類與類別代碼編制規則。
3)地球空間數據交換格式;數學數字地理底圖數據交換格式;數字化地質圖圖層及屬性文件格式。
(二)本系統建立的信息化標准
編寫了「航空物探空間數據要素類和對象類劃分標准」,「航空物探項目管理和資料管理分類代碼標准」,「航空物探勘查分類代碼標准」,「航空物探信息系統元數據標准」,「航空物探圖件信息化工作指南」,以便與其他應用系統進行信息交換,實現資料庫資料共享。
航空物探空間數據要素類和對象類劃分標准:根據物探方法、數據處理過程以及推斷解釋方法和過程,把與GIS有關的數據劃分為不同類型的要素類-對象類數據,按專業、比例尺、數據內容對要素類和對象類進行統一命名,使空間資料庫中的每個要素類和對象類的命名具有唯一性,防止重名出現。規定要素類-對象類資料庫表結構及數據項數值類型。
航空物探項目管理和資料管理分類代碼標准:規定了航空物探項目管理和資料管理的相關內容,包括航空物探勘查項目和科研項目的項目立項、設計、實施、成果、評審、資料匯交等項目管理的全過程中的內容,以及項目成果資料和收集資料的歸檔、發送、銷毀、借閱等資料管理與服務過程中的內容和數據項代碼。
航空物探勘查分類代碼標准:在「地質礦產術語分類代碼 地球物理勘查」(國家標准GB/T 9649.28—1998)增加了航磁、航重專業方面所涉及的數據採集、物性參數、方法手段、儀器設備、資料數據解釋及成圖圖件等內容和數據項代碼。
航空物探信息系統元數據標准:規定了航空物探空間數據管理與服務的元數據(數據的標識、內容、質量、狀況及其他有關特徵)的內容。
四、航跡線數據模型
(一)航跡線模型的結構
航空物探測量是依據測量比例尺在測區內布置測網(測線和切割線)。當飛機沿著設計的測線飛行測量時,航空物探數據收錄系統按照一定的采樣率採集采樣點的地理位置、高度和各種地球物理場信息。採用屬性數據分置的方法,將測線地理位置信息從航空物探測量數據中分離出來,形成航跡線要素類表,在此表中只存儲與航跡線要素類有關的數據,如項目標識、測區編號、測線號、測線類型(用於區分測線、切割線、不同高度線、重復線等)、坐標、高度值等;將航跡線的對象類數據(磁場、重力場基礎數據)分別以大欄位形式存儲在各自的二維表中,它們共享航跡線,解決了多源有序不同采樣率的航空物探測量數據的數據存儲問題,在滿足要素類空間查詢的同時,統一數據的存儲方式(圖2-9)。航跡線要素類隸屬於測區要素類,它們之間為空間拓撲(包含)關系。測區從屬於勘查項目,每個勘查項目至少有一個測區,它們之間為1對多關系。有關項目信息存放在項目概況信息對象類表中,各種表之間通過項目標識進行聯接。
圖2-9 航跡線數據模型結構
(二)航跡線的UML模型
統一建模語言UML(Unified Modeling Language)是一種定義良好、易於表達、功能強大且普遍適用的建模語言。它溶入了軟體工程領域的新思想、新方法和新技術。UML是面向對象技術領域內佔主導地位的標准建模語言,成為可視化建模語言的工業標准。在UML基礎上,ESRI定義了空間資料庫建模的ArcGIS包、類庫和擴展原則。
圖2-10 與航跡線有關的資料庫表邏輯模型結構圖
在確定航跡線數據模型後,以它為基礎,使用UML完成與航跡的有關的項目概況信息、測區信息、原始數據等資料庫表邏輯模型設計(圖2-10)。
由UML模型生成Geodatabase模式時,模型中的每個類都對應生成一個要素類或對象類。類的屬性映射為要素類或對象類的欄位。基類屬性中包含的欄位,在繼承類中不需重復創建。例如,每個類都包括項目標識等欄位,可以創建一個包含公共屬性的基類,其他類從該類繼承公共的屬性,而無需重復建基類中包含的屬性。因為基類沒有對應的要素類或對象類,所以將基類設置為抽象類型。要素類之間的關系採用依賴關系表示。
五、資料庫邏輯模型
關系資料庫的邏輯結構由一組關系模式組成,因而從概念結構到關系資料庫邏輯結構的轉換就是將概念設計中所得到的概念結構(ER圖)轉換成等價的UML關系模式(圖2-11)。在UML模型圖中,要素數據集用Geodatabase工作空間下的靜態包表示。要素集包不能互相嵌套,為了容易組織,在生成物理模型後,在要素數據集包中自定義嵌套。要素數據集與空間參考有關,但是空間參考不能在UML中表達。要素類和二維表都是以類的形式創建的,區別是要素類繼承Feature Class的屬性,而二維表繼承Object屬性。為了表達每種元素的額外屬性,比如設置字元型屬性欄位的字元串長度,設置要素類的幾何類型(點、線或面)需要使用Geodatabase預定義的元素標記值。
圖2-11 邏輯設計關系轉換
基於航空物探數據的內在邏輯關系進行分析,使用統一建模語言(UML)構建數據實體對象間的關系類,定義了航空物探資料庫的邏輯模型(圖2-12)。
❺ 資料庫主要的模型有哪些
層次模型、網狀模型、關系模型
層次模型(格式化模型)
定義和限制條件:有且僅有一個節點,無父節點,此節點為樹的根;其他節點有且僅有一個父節點;
優點:
①數據結構簡單清晰;
②利用指針記錄邊向聯系,查詢效率高;
③良好的完整新支持;
缺點:
①只能表示1:N的聯系。盡管有許多輔助手段實現M:N的聯系,但比較復雜,不易掌握。
②層次模型的樹是有序樹(層次順序)。對任一結點的所有子樹都規定了先後次序,這一限制隱含了對資料庫存取路徑的控制。
③樹中父子結點之間只存在一種聯系,因此,對樹中的任一結點,只有一條自根結點到達它的路徑。
網狀模型(格式化模型)
網狀模型的2個特徵:允許一個以上的節點無雙親;一個節點可以有多於一個的雙親;
優點:
①可以更加清晰表達現實,符合現實中的數據關系;
②可以很快存取操作;
缺點:
①結構復雜;
②不易掌握,網狀模型的DDL,DDM復雜,並且並且要嵌入某一種高級語言(COBOL,c),用戶不易掌握;
③應用程序復雜,記錄之間的聯系通過存取路徑實現的,應用程序在訪問數據時必須選擇合適的存取路徑,因此用戶必須了解系統結構的細節,加重編寫應用程序的負擔;
關系模型
單一的數據結構——關系
現實世界的實體以及實體間的各種聯系均用關系來表示,從用戶角度看,關系模型中數據的邏輯結構是一張二維表。
優點:
①數據結構單一,關系模型中,不管是實體還是實體之間的聯系,都用關系來表示,而關系都對應一張二維數據表,數據結構簡單、清晰。
②關系規范化,並建立在嚴格的理論基礎上,構成關系的基本規范要求關系中每個屬性不可再分割,同時關系建立在具有堅實的理論基礎的嚴格數學概念基礎上。
③概念簡單,操作方便,關系模型最大的優點就是簡單,用戶容易理解和掌握,一個關系就是一張二維表格,用戶只需用簡單的查詢語言就能對資料庫進行操作。
缺點:
①查詢效率不如格式化數據模型;
②為了提高性能,資料庫管理系統需要優化用戶查詢,增加了資料庫管理系統的開發難度;