




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第三章:空間數據管理第三章:空間數據管理一、前言一、前言1.數據管理的幾個階段數據管理的幾個階段 人工管理階段人工管理階段 文件系統階段文件系統階段 數據庫階段數據庫階段 高級數據庫階段高級數據庫階段1) 人工管理階段人工管理階段(五十年代中期以前)(五十年代中期以前) (1)沒有專用的軟件對數據進行管理;)沒有專用的軟件對數據進行管理;(2)沒有文件的概念;)沒有文件的概念;(3)數據是面向應用的,不共享。)數據是面向應用的,不共享。2) 文件管理階段文件管理階段(1)數據可以長期保存在文件中;)數據可以長期保存在文件中;(2)由文件系統管理數據;)由文件系統管理數據;(3)數據共享性差,冗
2、余度大;)數據共享性差,冗余度大;(4)數據獨立性差。)數據獨立性差。數據獨立性的含義數據獨立性的含義(1)物理獨立性物理獨立性:用戶的應用程序不會因為物理表示和:用戶的應用程序不會因為物理表示和訪問技術的改變而改變。訪問技術的改變而改變。(2)邏輯獨立性邏輯獨立性:用戶的應用程序與數據庫的邏輯結構:用戶的應用程序與數據庫的邏輯結構是相互獨立的,也就是說,數據的邏輯結構改變了,用是相互獨立的,也就是說,數據的邏輯結構改變了,用戶程序也可以不變。戶程序也可以不變。應用程序應用程序 3應用程序應用程序 2應用程序應用程序 1文件文件 1文件文件 2存存 取取方方 法法 3) 數據庫階段數據庫階段特
3、點:特點:(1)數據結構化是數據庫與文件系統的根本區別;)數據結構化是數據庫與文件系統的根本區別;(2)數據的共享性高,冗余度低,易擴展;)數據的共享性高,冗余度低,易擴展;(3)數據獨立性高;)數據獨立性高;(4)數據庫系統為用戶提供了方便的用戶接口;)數據庫系統為用戶提供了方便的用戶接口;(5)數據由)數據由dbms統一管理和控制。統一管理和控制。 數據的安全(數據的安全(security)保護)保護 數據的完整性(數據的完整性(integrity)檢查)檢查 并發(并發(concurrency)控制)控制 數據庫恢復(數據庫恢復(recovery) 數據庫系統階段數據庫系統階段應用程序應
4、用程序 3應用程序應用程序 2應用程序應用程序 1dbms各階段的各階段的比較比較階段階段 人工管理階段人工管理階段 文件處理文件處理階段階段 數據庫系統數據庫系統時間時間 5050年代年代 6060年代年代 7070年代年代數據共享性數據共享性 無共享無共享 共享差共享差 共享好共享好 數據獨立性數據獨立性 無獨立性無獨立性 獨立性差獨立性差 物理獨立性高物理獨立性高 一定邏輯獨立性一定邏輯獨立性數據結構化數據結構化 無結構化無結構化 紀錄內有結構紀錄內有結構 整體結構化整體結構化 整體結構化差整體結構化差 用數據摸型描述用數據摸型描述 4) 高級數據庫階段高級數據庫階段 分布式數據庫分布式
5、數據庫 空間數據庫空間數據庫 面向對象數據庫面向對象數據庫 數據倉庫數據倉庫2. 數據文件數據文件常用的數據文件常用的數據文件順序文件、索引文件、隨機文件順序文件、索引文件、隨機文件、倒排文件。、倒排文件。gis中常自定義數據文件來組織空間數據中常自定義數據文件來組織空間數據。 1)、順序文件(、順序文件(sequential file) 最簡單的文件組織形式順序文件中數據按記最簡單的文件組織形式順序文件中數據按記錄中主關鍵字的順序組織。錄中主關鍵字的順序組織。 順序文件的記錄,邏輯上是按主關鍵字排序順序文件的記錄,邏輯上是按主關鍵字排序的,而在物理存儲上可以有不同的方式,包括:的,而在物理存
6、儲上可以有不同的方式,包括: 向量方式、鏈方式、塊方式。向量方式、鏈方式、塊方式。盤地址盤地址 關鍵字關鍵字 數據項數據項 4200 1001 4205 1002 4210 1003 4215 100410031004100210014210420042054215順序文件的查找主要為順序查找、折半查找等順序文件的查找主要為順序查找、折半查找等向量方式向量方式 : 邏輯結構同物理結構一致;邏輯結構同物理結構一致;鏈方式鏈方式 : 通過指針連結邏輯順序;通過指針連結邏輯順序;塊方式塊方式 : 上述兩種方式的結合(塊內是向量方式上述兩種方式的結合(塊內是向量方式 ,塊間是鏈方,塊間是鏈方式式 )物
7、理地址邏輯地址內容鏈方式鏈方式 存儲內容包括:存儲內容包括: 1.記錄本身(主文件)記錄本身(主文件) 2.若干索引表若干索引表 這種帶有索引表的文件叫這種帶有索引表的文件叫索引文件索引文件。2)索引文件索引文件(index file) 索引表中列出:索引表中列出: 1.記錄的關鍵字記錄的關鍵字 2.記錄在文件中的位置(地址)。記錄在文件中的位置(地址)?;《翁柣《翁?23302左多邊形左多邊形350234021201右多邊形右多邊形00401弧段坐標數據弧段坐標數據弧段數據文件弧段數據文件弧段號弧段號123302物理地址物理地址74126214弧段索引表弧段索引表如已知一多邊形坐標數據文件,
8、可建立索引文件如已知一多邊形坐標數據文件,可建立索引文件多邊形號多邊形號 坐標點數坐標點數1001 102x1 y1x2 y2x3 y3 . x101 y101x1 y1200 65x1 y1x2 y2.x64 y64x1 y12006 86x1 y1 索引文件索引文件 索引有序文件索引有序文件多邊形號多邊形號 物理地址物理地址 多邊形號多邊形號 物理地址物理地址1001 200 200 10012006 2006有序有序無序無序 讀取記錄時,只要提供記錄的關鍵字值,系讀取記錄時,只要提供記錄的關鍵字值,系統通過查找索引表獲得記錄的位置,然后取統通過查找索引表獲得記錄的位置,然后取出該記錄。出
9、該記錄。索引表一般都是經過排序的,也可以是非順索引表一般都是經過排序的,也可以是非順序的;可以是單級索引,也可以是多級索引,序的;可以是單級索引,也可以是多級索引,多級索引可以提高查找速度,但占用的存儲多級索引可以提高查找速度,但占用的存儲空間較大空間較大. 3)、隨機文件()、隨機文件(direct access file) 隨機文件又稱隨機文件又稱直接文件直接文件,其存儲是根據記錄,其存儲是根據記錄關鍵字的值,通過某種轉換方法得到一個物理關鍵字的值,通過某種轉換方法得到一個物理存儲位置,然后把記錄存儲在該位置上。查找存儲位置,然后把記錄存儲在該位置上。查找時,通過同樣的轉換方法,可以直接得
10、到所需時,通過同樣的轉換方法,可以直接得到所需要的記錄要的記錄 。通過通過hash函數(哈希函數)函數(哈希函數)把關鍵字轉換為地址進行存取的文件。把關鍵字轉換為地址進行存取的文件。 d= f(key)哈希函數哈希函數 倒排文件倒排文件是帶有輔索引的文件,其中輔索引是按是帶有輔索引的文件,其中輔索引是按照一些輔關鍵字來組織索引的(注意:索引文件照一些輔關鍵字來組織索引的(注意:索引文件是按照記錄的主關鍵字來構造索引的,也叫主索是按照記錄的主關鍵字來構造索引的,也叫主索引)。引)。 倒排文件是一種多關鍵字的索引文件,其中的索倒排文件是一種多關鍵字的索引文件,其中的索引不能唯一標識記錄,往往同一索
11、引指向若干記引不能唯一標識記錄,往往同一索引指向若干記錄。通過輔索引不能直接讀取記錄,而要通過主錄。通過輔索引不能直接讀取記錄,而要通過主關鍵字才能查到記錄的位置。關鍵字才能查到記錄的位置。4)倒排文件)倒排文件(inverted file ) 倒排文件的主要優點:倒排文件的主要優點: 在處理多索引檢索時,可以在輔檢索中先完成查在處理多索引檢索時,可以在輔檢索中先完成查詢的詢的交交、并并等邏輯運算,得到結果后再等邏輯運算,得到結果后再對記錄進行存取,從而提高查找速度對記錄進行存取,從而提高查找速度.地段號地段號12345678910地貌類型地貌類型緩坡緩坡垣面垣面陡坡陡坡溝道溝道緩坡緩坡緩坡緩
12、坡陡坡陡坡垣面垣面寬梁頂寬梁頂緩坡緩坡坡度坡度5-101515335-10坡向坡向半陰半陰陽陽陽陽半陽半陽陰陰半陽半陽陰陰陽陽陽陽半陽半陽利用現狀利用現狀林地林地農地農地牧地牧地林地林地林地林地林地林地牧地牧地農地農地農地農地林地林地次關鍵字次關鍵字陡坡陡坡垣面垣面溝道溝道寬梁頂寬梁頂緩坡緩坡地塊號地塊號3,72,8491,5,6,10次關鍵字次關鍵字陰陰半陽半陽半陰半陰陽陽地塊號地塊號5,74,6,1012,3,8,9土地資源文件土地資源文件次關鍵字次關鍵字農地農地林地林地牧地牧地地塊號地塊號2.8.91,4,5,6,103,7數據庫是數據庫是是存儲在計算機中、是存儲在計算機中、按一定數據模
13、型組織、可共享按一定數據模型組織、可共享的數據集合,的數據集合,這些數據用于各這些數據用于各種應用系統中。種應用系統中。 數據庫中數據的特點:數據庫中數據的特點:l 數據是持久的數據是持久的l 數據是集成的數據是集成的l 數據是共享的數據是共享的l 數據按一定的數據模型組織、描述和儲存數據按一定的數據模型組織、描述和儲存3、數據庫(、數據庫(database,簡稱,簡稱db)應用程序應用程序1應用程序應用程序2應用程序應用程序34、數據庫管理系統(、數據庫管理系統(dbms)dbms(database management system)是位是位于用戶與操作系統之間的一層數據管理軟件,它于用戶
14、與操作系統之間的一層數據管理軟件,它提提供了數據庫的訪問接口。供了數據庫的訪問接口。dbms的主要功能的主要功能:l 數據定義功能數據定義功能l 數據操作功能數據操作功能l 數據庫運行管理(恢復、并發控制、安全性、完整性)數據庫運行管理(恢復、并發控制、安全性、完整性)l數據庫的建立和維護功能數據庫的建立和維護功能dbms的目的:的目的:提供方便地、有效地存取數據庫信息的環境。提供方便地、有效地存取數據庫信息的環境。硬件硬件應用開發系統應用開發系統dbms操作系統操作系統dbms在信息系統中的位置在信息系統中的位置5、數據庫系統(數據庫系統(database system dbs)數據庫系統是
15、指在計算機系統中引入數據庫后的數據庫系統是指在計算機系統中引入數據庫后的系統,包括:系統,包括: 數據庫數據庫 數據庫管理系統(及其開發工具)數據庫管理系統(及其開發工具) 應用系統應用系統 數據庫管理員數據庫管理員 用戶用戶 dbs = db + dbms + application + dba + userdatabase administrator數據庫系統構數據庫系統構成成數據庫數據庫最終用戶最終用戶應用系統應用系統應用開發工具應用開發工具dbms操作系統操作系統數據庫管理員數據庫管理員應用程序員應用程序員小知識點:文件處理系統和數據庫管理系統小知識點:文件處理系統和數據庫管理系統 數
16、據定義使用特定的數據結構定義,利用文數據定義使用特定的數據結構定義,利用文件形式存儲,稱之為文件處理系統。件形式存儲,稱之為文件處理系統。文件處理系統文件處理系統 文件處理系統缺點:文件處理系統缺點: 首先每個應用程序都必須直接訪問所使用首先每個應用程序都必須直接訪問所使用的數據文件,應用程序完全依賴于數據文的數據文件,應用程序完全依賴于數據文件的存儲結構,數據文件修改時應用程序件的存儲結構,數據文件修改時應用程序也隨之修改;也隨之修改; 其次的是數據文件的共享程度差;其次的是數據文件的共享程度差; 另外缺乏集中控制也會帶來一系列數據庫另外缺乏集中控制也會帶來一系列數據庫的安全問題。的安全問題
17、。 數據庫管理系統(數據庫管理系統(database management system,dbms)是在文件處理系統的基礎)是在文件處理系統的基礎上進一步發展的系統。上進一步發展的系統。 數據庫管理系統數據庫管理系統 可以認為,可以認為,dbmsdbms在用戶應用程序和數據文在用戶應用程序和數據文件之間起到了橋梁作用。件之間起到了橋梁作用。 dbms優點:優點: dbms優點是提供了數據獨立性,即應用優點是提供了數據獨立性,即應用程序訪問數據文件時,不必知道數據文件程序訪問數據文件時,不必知道數據文件的物理存儲結構。當數據文件的存儲結構的物理存儲結構。當數據文件的存儲結構改變時,不必改變應用程
18、序改變時,不必改變應用程序 。 空間數據庫空間數據庫指的是地理信息系統在計算機指的是地理信息系統在計算機物理存儲介質上存儲的與應用相關的地理物理存儲介質上存儲的與應用相關的地理空間數據的總和,一般以特定結構的文件空間數據的總和,一般以特定結構的文件的形式組織在存儲介質之上的。的形式組織在存儲介質之上的。 空間數據庫管理系統空間數據庫管理系統則是指對物理介質上則是指對物理介質上存儲的地理空間數據進行語義和邏輯上的存儲的地理空間數據進行語義和邏輯上的定義,提供必需的空間數據查詢檢索和存定義,提供必需的空間數據查詢檢索和存取功能,以及能夠對空間數據進行有效的取功能,以及能夠對空間數據進行有效的維護和
19、更新的一套軟件系統。維護和更新的一套軟件系統。小知識點:空間數據庫與空間數據庫管理系統小知識點:空間數據庫與空間數據庫管理系統二、空間數據模型二、空間數據模型傳統的地理數據模型傳統的地理數據模型 1)層次模型)層次模型 樹數據結構樹數據結構 描述了各類客體及客體之間的聯系。描述了各類客體及客體之間的聯系。然而,層次模型限制每個客體類最多只能有然而,層次模型限制每個客體類最多只能有一個雙親客體類,而一個雙親客體則可有多一個雙親客體類,而一個雙親客體則可有多個子女客體類。個子女客體類。 雙親和子女客體類之間即形成了所謂的層次雙親和子女客體類之間即形成了所謂的層次關系。關系。優點優點:層次分明,組織
20、有序;層次分明,組織有序;缺點:缺點:數據獨立性較差;難以表達多對多的關系;導數據獨立性較差;難以表達多對多的關系;導致數據冗余致數據冗余n1n4 n1n3 n3n4 n1n4 n2n4 n1n2 n2n4 n3n4 n2n3 abca3 a4 a6 a3 a5 a1 a5 a6 a2 用戶區abc a1 a2a3 a4 a5 a6n1n2n3n42)網絡模型)網絡模型 圖數據結構圖數據結構優點:能描述多對多關系優點:能描述多對多關系缺點:結構復雜,限制它在空間數據表達中的應用缺點:結構復雜,限制它在空間數據表達中的應用a1 a2 a3 a4 a5 a6 abc用戶區n1 n2 n3 n4ab
21、c a1 a2a3 a4 a5 a6 n1n2n3n43)關系模型)關系模型 表數據結構表數據結構 80年代后主導數據庫是基于年代后主導數據庫是基于關系模型。關系模型。關系模型的關系模型的理論基礎是關系理論,它通過關系運算操作數據。理論基礎是關系理論,它通過關系運算操作數據。優點:概念簡單,結構靈活,易理解,易維護;有標優點:概念簡單,結構靈活,易理解,易維護;有標準的關系查詢語言準的關系查詢語言sql支持。支持。缺點:不適合描述非結構特征數據缺點:不適合描述非結構特征數據a a3 a4 a6ba1 a3 a5ca2 a5 a6a1n1 n2a2n2 n3a3n1 n4a4n1 n3a5n2
22、n4a6n3 n4abc a1 a2a3 a4 a5 a6 n1n2n3n4 關系模型中的有關概念關系模型中的有關概念 關系關系:關系是一個二維表,表的每行對應一個元組,表的每關系是一個二維表,表的每行對應一個元組,表的每一列對應一個域。一列對應一個域。 關鍵字關鍵字:關系中的某一屬性組,若它的值唯一地標識了一個關系中的某一屬性組,若它的值唯一地標識了一個元組,則稱該屬性組為候選關鍵字。若一個關系中有多個元組,則稱該屬性組為候選關鍵字。若一個關系中有多個候選關鍵字,則選定一個為主關鍵字。候選關鍵字,則選定一個為主關鍵字。 關系數據庫關系數據庫:一系列關系的集合構成一個關系數據庫。關系一系列關系
23、的集合構成一個關系數據庫。關系數據庫有型、值之分。數據庫有型、值之分。 關系完整性關系完整性:即指關系的正確性、相容性和有效性。它是給即指關系的正確性、相容性和有效性。它是給定的關系模型中數據及其聯系的所有制約和依存規則,用定的關系模型中數據及其聯系的所有制約和依存規則,用以限定數據庫狀態及狀態變化,從而保證數據的正確、相以限定數據庫狀態及狀態變化,從而保證數據的正確、相容和有效。容和有效。 關系模型的完整性有三類:實體的完整性、關系模型的完整性有三類:實體的完整性、參照完整性和用戶定義的完整性參照完整性和用戶定義的完整性 范式范式:關系滿足某種規范化的形式稱為范式。:關系滿足某種規范化的形式
24、稱為范式。從一個低一級范式的關系模式,通過模式從一個低一級范式的關系模式,通過模式分解轉換為若干個高一級關系模式集合的分解轉換為若干個高一級關系模式集合的過程,叫做過程,叫做規范化規范化。 第一范式第一范式:關系中的每個屬性是原子的、:關系中的每個屬性是原子的、不可分割的數據項。在關系數據庫中,若不可分割的數據項。在關系數據庫中,若一個關系模式滿足一個關系模式滿足1nf,它就是合法的。,它就是合法的。非第一范式關系表polygonarcspolygon1arc#arc-lengtharc1100arc2133arc3150polygon2arc1100arc4166第一范式關系表polygon
25、# arc#arc-lengthpolygon1arc1100polygon1arc2133polygon1arc3150polygon2arc1100polygon2arc4166 第二范式:第二范式:是指關系在滿足是指關系在滿足1nf的基礎上,的基礎上,每一個非主屬性每一個非主屬性完全完全函數依賴于該關系的函數依賴于該關系的關鍵字。即當一個非關鍵字字段關鍵字。即當一個非關鍵字字段部分部分地函地函數依賴于關鍵字時,就違反了數依賴于關鍵字時,就違反了2nf。分解為第二范式分解為第二范式的關系表的關系表*學生學號學生學號學生姓名學生姓名性別性別課程名稱課程名稱籍貫籍貫成績成績*學生學號學生學號學
26、生姓名學生姓名性別性別*課程名稱課程名稱籍貫籍貫成績成績*學生學號學生學號非第二范式關系表非第二范式關系表 第三范式第三范式:指關系在滿足第二范式的基礎:指關系在滿足第二范式的基礎上,其非關鍵字屬性(即非主屬性)既非上,其非關鍵字屬性(即非主屬性)既非函數依賴,也不傳遞依賴于關鍵字,即屬函數依賴,也不傳遞依賴于關鍵字,即屬于于3nf的關系,其非關鍵字屬性之間都是的關系,其非關鍵字屬性之間都是獨立的,不存在函數依賴關系獨立的,不存在函數依賴關系非第三范式關系中非第三范式關系中的傳遞依賴的傳遞依賴* 生學號生學號學生姓名學生姓名性別性別分解成兩個第三范分解成兩個第三范式關系式關系學生所在系學生所在
27、系出生日期出生日期籍貫籍貫系所在地點系所在地點* 生學號生學號學生姓名學生姓名性別性別學生所在系學生所在系出生日期出生日期籍貫籍貫系所在地點系所在地點*學生所在系學生所在系傳統數據模型存在的主要問題傳統數據模型存在的主要問題(黃杏元,地黃杏元,地理信息系統概論理信息系統概論)1.以記錄為基礎的結構不能很好的面向用戶和應用以記錄為基礎的結構不能很好的面向用戶和應用2.不能以自然的方式表示客體之間的聯系不能以自然的方式表示客體之間的聯系3.語義貧乏語義貧乏4.數據類型太少,難以滿足應用需要數據類型太少,難以滿足應用需要面向對象的地理數據模型(自學)面向對象的地理數據模型(自學)1、概念、概念 a.
28、基本思想基本思想:面向對象的基本思想是通過面向對象的基本思想是通過對問題領域進行自然分割,用更接近人類對問題領域進行自然分割,用更接近人類通常思維的方式建立問題領域的模型,并通常思維的方式建立問題領域的模型,并進行結構模擬和行為模擬,從而使設計出進行結構模擬和行為模擬,從而使設計出的軟件能盡可能地直接表現出問題的求解的軟件能盡可能地直接表現出問題的求解過程過程。b.一些術語的基本概念一些術語的基本概念: 對象對象對象標識對象標識對象狀態對象狀態對象功能對象功能私有消息私有消息公有消息公有消息polygonobjectarcobjectfunction(perimeter) 類類 消息消息 方法
29、方法2.面向對象數據模型的四種核心技術面向對象數據模型的四種核心技術n 分類分類n 概括概括n 聚集聚集n 聯合聯合空間對象類空間對象類多邊形對象類多邊形對象類弧段對象類弧段對象類is a圖層對象類圖層對象類多邊形對象類多邊形對象類弧段對象類弧段對象類is-part-of3、面向對象的地理數據模型和數據結構、面向對象的地理數據模型和數據結構 a.基本含義基本含義:(見課本) 面向對象的地理模型的核心是對面向對象的地理模型的核心是對復雜對復雜對象象的模擬和操作的模擬和操作 b.復雜對象定義及其特點:復雜對象定義及其特點: 面向對象的地理模型的核心是對面向對象的地理模型的核心是對復雜對復雜對象象的
30、模擬和操作的模擬和操作 定義定義:所謂復雜對象是指具有復雜結構:所謂復雜對象是指具有復雜結構和操作的對象。復雜對象可以由多種關系和操作的對象。復雜對象可以由多種關系聚合抽象而成,或由不同類型的對象構成,聚合抽象而成,或由不同類型的對象構成,或具有復雜的嵌套關系等?;蚓哂袕碗s的嵌套關系等。復雜對象的特點復雜對象的特點: 一個復雜對象由多個成員對象構成,每個一個復雜對象由多個成員對象構成,每個成員對象又可參與其他對象的構成成員對象又可參與其他對象的構成 具有多種數據結構具有多種數據結構 一個復雜對象的不同部分可由不同的數據一個復雜對象的不同部分可由不同的數據模型所支持模型所支持。c.面向對象地理模
31、型的特點面向對象地理模型的特點 可充分利用現有數據模型的優點可充分利用現有數據模型的優點 具有可擴充性具有可擴充性 可以模擬和操縱復雜對象可以模擬和操縱復雜對象d.gis中面向對象的數據模型和數據結構中面向對象的數據模型和數據結構 在在gis的面向對象的數據結構中,通??梢园训拿嫦驅ο蟮臄祿Y構中,通常可以把空間數據抽象為點、線、面三種簡單的地物類型,空間數據抽象為點、線、面三種簡單的地物類型,作為三種簡單對象作為三種簡單對象: 點狀地物點狀地物 線狀地物線狀地物 面狀地物面狀地物一個地理實體可以由這三種簡單對象之一構成,復雜的地理實體可以由多種簡單對象構成,甚至可以由其他復雜對象構成工作區工
32、作區1工作區工作區2工作區工作區3工作區工作區n圖層圖層1圖層圖層2圖層圖層3圖層圖層n地物地物1地物地物2地物地物3地物地物n點狀地物點狀地物線狀地物線狀地物面狀地物面狀地物標識碼標識碼屬性表屬性表結點結點弧段弧段標識碼標識碼注記注記屬性表屬性表結點坐標結點坐標始點始點終點終點左面左面右面右面標識碼標識碼三、三、 空間數據管理中的數據庫技術空間數據管理中的數據庫技術(一)、關系數據庫技術(一)、關系數據庫技術 1970年年ibm公司的公司的e.f.codd提出了關系模型理論,提出了關系模型理論,奠定了關系數據庫的理論基礎;奠定了關系數據庫的理論基礎; 20世紀世紀70年代末,年代末,ibm公
33、司在公司在ibm370系列機上成功系列機上成功實現了原型系統實現了原型系統system r; 20世紀世紀80年代以來,年代以來,關系數據庫成為關系數據庫成為數據庫數據庫主流主流。1、關系數據模型的數據結構、關系數據模型的數據結構 關系數據庫系統是建立在關系模型上的數關系數據庫系統是建立在關系模型上的數據庫系統;據庫系統; 在關系模型中,現實世界中的實體以及實在關系模型中,現實世界中的實體以及實體間的各種聯系均用關系表示;體間的各種聯系均用關系表示; 關系數據庫是表的集合。關系數據庫是表的集合。 l 關系模式關系模式: :關系名關系名( (屬性屬性1,1,屬性屬性2 2. .屬性屬性n)n)l
34、 關系關系: : 通常說的表通常說的表; ;l 元組元組: 關系表中的一行關系表中的一行;l 屬性屬性: 關系表中的一列關系表中的一列;l 主碼主碼: 能唯一確定元組的某屬性組能唯一確定元組的某屬性組;l 域域: 屬性的取值范圍屬性的取值范圍;l 分量分量: 元組中的一個屬性值元組中的一個屬性值關系數據模型的數據結構為關系數據模型的數據結構為:地塊號地塊號面積面積km2使用類型使用類型 植被植被10010.3綠化綠化草地草地10020.5小區小區樹木樹木10030.8綠化綠化灌木灌木關系模式關系模式:土地利用土地利用(地塊號、面積、使用類型、植被)地塊號、面積、使用類型、植被)關關系系 屬性屬
35、性元元組組2 2、關系的基本性質、關系的基本性質1)列是同質的()列是同質的(homogeneous),即每一列中的),即每一列中的分量是同一類型的數據,來自同一個域。分量是同一類型的數據,來自同一個域。3)列的順序無所謂,即列的次序可以任意交換。)列的順序無所謂,即列的次序可以任意交換。3)任意兩個元組不能完全相同。)任意兩個元組不能完全相同。4)行的順序無所謂,即行的次序可以任意交換。)行的順序無所謂,即行的次序可以任意交換。5)分量必須取原子值,即每一個分量都必須是不可)分量必須取原子值,即每一個分量都必須是不可分的數據項。分的數據項。(二)、(二)、 sql查詢語言(查詢語言(結構化查
36、詢語言)結構化查詢語言) 數據庫的核心應用是數據庫的查詢,查詢語言從數數據庫的核心應用是數據庫的查詢,查詢語言從數據庫中請求獲取信息的語言,據庫中請求獲取信息的語言, 是過程化的查詢語言。是過程化的查詢語言。 sql(structure query language)是數據庫查詢語是數據庫查詢語言,言,1986年由美國國家標準化協會(年由美國國家標準化協會(ansi american national standards institute),國際標準化組織(),國際標準化組織(iso international organization for standardization)批批準作為準作
37、為關系數據庫查詢標準語言關系數據庫查詢標準語言。 1、 sql查詢語言概述查詢語言概述1) sql查詢語言的發展查詢語言的發展 sql-86、 sql-89、 sql-92(sql2)、 sql-99(sql3) sql數據庫查詢語言已是國際標數據庫查詢語言已是國際標準準,大部分,大部分dbms產品都支持產品都支持sql,成為操作數據庫的標準語言。,成為操作數據庫的標準語言。它對其它領域產生很大影響。它對其它領域產生很大影響。它是綜合的、通用的、功能強、簡單易學的語言。它是綜合的、通用的、功能強、簡單易學的語言。2) sql查詢語言的主要功能查詢語言的主要功能sql提供的主要功能包括:提供的主
38、要功能包括: 數據的定義;數據的定義; 數據的操作;數據的操作; 數據的控制;數據的控制; 數據的查詢。數據的查詢。 select 的簡單查詢功能是對一個數據庫表進行查的簡單查詢功能是對一個數據庫表進行查詢,以便選擇表中某些列或某些行。詢,以便選擇表中某些列或某些行。 2、sql查詢語言中核心查詢語言中核心select語句語句 sql查詢語言中查詢語言中數據的查詢動詞是數據的查詢動詞是select1) select 的簡單查詢功能的簡單查詢功能 當數據庫查詢只涉及到一張表時,查詢的目的是選當數據庫查詢只涉及到一張表時,查詢的目的是選擇符合條件的某些列或行。擇符合條件的某些列或行。 select
39、語句的一般形式為:語句的一般形式為: all *select distinct 選擇表選擇表 from 基表名基表名 where 條件表達式條件表達式 group by 列名列名1 having條件表達式條件表達式 order by 列名列名2 asc desc 對查詢結果對查詢結果列名列名排序排序選擇形成的結果表選擇形成的結果表 對查詢結果按對查詢結果按列名列名分組分組 目標列表達式目標列表達式所查詢的表所查詢的表查詢條件查詢條件根據根據where 子句的條件表達式,從子句的條件表達式,從from子句的表中,找出子句的表中,找出滿足條件的元組,按滿足條件的元組,按select子句的目標列表達
40、式選出元組中子句的目標列表達式選出元組中的屬性,形成結果表。的屬性,形成結果表。2 2)wherewhere 子句子句 where where 子句中寫條件表達式子句中寫條件表達式 where where 子句中可嵌套子句中可嵌套select select 語句語句 group子句,則將結果按子句,則將結果按的值進行的值進行分組,該屬性列值相等的元組為一組,占結果分組,該屬性列值相等的元組為一組,占結果表的一條記錄。表的一條記錄。 group子句可帶子句可帶having短語,輸出指定條件短語,輸出指定條件的組。的組。 havinghaving子句作用于組,從中選擇滿足條件的組,子句作用于組,從
41、中選擇滿足條件的組, having子句中可使用聚集函數子句中可使用聚集函數3 3)group bygroup by(對元組進行分組)(對元組進行分組)將結果按將結果按的值進行升序或降序排序的值進行升序或降序排序升序升序asc(缺?。?、降序(缺?。⒔敌騞esc對于空值,若升序,含空值的元組最先顯示;對于空值,若升序,含空值的元組最先顯示; 若降序,含空值的元組最后顯示若降序,含空值的元組最后顯示.4)order by子句(對查詢結果排序子句(對查詢結果排序)3 3、sqlsql查詢中的聚合函數查詢中的聚合函數聚合函數聚合函數把一列中的值進行聚合運算,然后返回把一列中的值進行聚合運算,然后返回值
42、的函數。值的函數。五個預定義的聚合函數為:五個預定義的聚合函數為: 平均值:平均值:avgavg(字段名)(字段名) 總和:總和: sumsum(字段名)(字段名) 最小值:最小值:minmin(字段名)(字段名) 最大值:最大值:maxmax(字段名)(字段名) 計數:計數: countcount(字段名)(字段名) 如如count(country)count(country)4、 gis中中sql查詢查詢-例例1select from wheregis中中sql查詢例查詢例2查世界地圖屬性表中有多少國家查世界地圖屬性表中有多少國家?總人口總人口?總面積總面積?5、sql 的多表查詢功能的多
43、表查詢功能 1)多表的連接查詢多表的連接查詢 對數據庫進行查詢涉及到幾張表時,稱連接查詢。對數據庫進行查詢涉及到幾張表時,稱連接查詢。多表的連接查詢多表的連接查詢: 表格的連接查詢其數據需要從多個表中獲取,它實表格的連接查詢其數據需要從多個表中獲取,它實際上是將具有公共字段的表合并成一個表,再進行際上是將具有公共字段的表合并成一個表,再進行select 查詢。查詢。 具體的說,在具體的說,在select語句中語句中基表名多于一個;基表名多于一個; select語句條件表達式中要添加語句條件表達式中要添加匹配不同表的記匹配不同表的記錄的語句。錄的語句。多表的連接查詢例多表的連接查詢例 多表多表連
44、接查詢連接查詢: 在在select語句中語句中基表名多于一個;基表名多于一個; select語句條件表達式中要添加語句條件表達式中要添加匹配不同表的記匹配不同表的記錄的語句。錄的語句。如如查出美國地圖數據中總人口大于查出美國地圖數據中總人口大于1000萬萬 且洲府人且洲府人口大于口大于20萬的洲萬的洲 。 select * from states, statecap where states.state = statecap .state and states.pop_199010000000 and statecap.pop_1990 2000002) sql 的嵌套查詢功能的嵌套查詢功能
45、sql的嵌套查詢是指在的嵌套查詢是指在sql查詢語句的查詢語句的where功能功能中嵌入另一個中嵌入另一個select查詢子語句。查詢子語句。 當進行當進行sql的嵌套查詢時,自下而上的嵌套查詢時,自下而上 (由里向外由里向外)的的進行進行,即通常首先進行即通常首先進行select的子查詢,而后再作的子查詢,而后再作進一步的查詢。這種層層嵌套方式,真是進一步的查詢。這種層層嵌套方式,真是sql“結構結構化化”的含義。的含義。 嵌套查詢功能例嵌套查詢功能例例例 mapinfo中的嵌套查詢中的嵌套查詢求世界地圖中同伊拉克處于同一州的國家求世界地圖中同伊拉克處于同一州的國家 select count
46、ry,continent from world where continent = (select continent from world where country=“iraq”) 首先求出伊拉克處于那個州;首先求出伊拉克處于那個州;之后求出同伊拉克處于同一州的國家之后求出同伊拉克處于同一州的國家6、非標準、非標準sql查詢查詢 非標準非標準sql查詢主要指對空間數據的查詢查詢主要指對空間數據的查詢. 在在mapinfo中表示在中表示在select語句中增加了地理語句中增加了地理函數和地理運算符函數和地理運算符. 例例 mapinfo中的嵌套查詢中的嵌套查詢 求美國求美國“i 10”號高速
47、公路經過哪幾個洲?號高速公路經過哪幾個洲? 先先美國高速公路中美國高速公路中找出找出 “i10”號高速公路;號高速公路; 再找再找“i 10”號高速公路經過哪幾個洲號高速公路經過哪幾個洲。where states.obj contains us_hiway.obj and (states.obj intersect (select obj from us_hiway whereus_hiway.highway= “i 10”)地地 理理 運運 算算 符符從選擇出從選擇出us_hiway中選出中選出i 10實現求交實現求交將兩表建立聯系將兩表建立聯系(三)、面向對象的數據庫管理系統(三)、面向對
48、象的數據庫管理系統 面向對象的數據庫管理系統被稱為第三代數據庫面向對象的數據庫管理系統被稱為第三代數據庫系統,它吸取了面向對象程序設計概念和思想。系統,它吸取了面向對象程序設計概念和思想。 它支持面向對象的數據模型和傳統數據庫系統所它支持面向對象的數據模型和傳統數據庫系統所有的數據庫特征。有的數據庫特征。 它自它自1989年出現曾很活躍,試圖成為標準,但未年出現曾很活躍,試圖成為標準,但未成氣候。成氣候。1、面向對象的數據庫管理系統的特點、面向對象的數據庫管理系統的特點 能完整的描述現實世界的數據結構,表達數據間的能完整的描述現實世界的數據結構,表達數據間的嵌套、遞歸。嵌套、遞歸。 利用面向對
49、象的技術的封裝性,繼承性,從提高了利用面向對象的技術的封裝性,繼承性,從提高了軟件的可重用性。軟件的可重用性。2 2、面向對象數據庫系統的實現、面向對象數據庫系統的實現l 以關系數據庫和以關系數據庫和sqlsql為基礎的擴展關系型為基礎的擴展關系型 例如美國加州伯克利分校的例如美國加州伯克利分校的posrgresposrgres就是以就是以ingresingres關關系數據庫系統為基礎,擴展了抽象數據類型系數據庫系統為基礎,擴展了抽象數據類型adt(abstract data type)adt(abstract data type),具有面向對象的特性。,具有面向對象的特性。l 以面向對象的程
50、序設計語言為基礎以面向對象的程序設計語言為基礎, , 支持面向對象模支持面向對象模型。型。 例如美國例如美國ontologicontologic公司的公司的ontosontos是以面向對象是以面向對象程序設計語言程序設計語言c+c+為基礎的。為基礎的。l 建立新的面向對象數據庫系統,支持面向對象數據模建立新的面向對象數據庫系統,支持面向對象數據模型。型。 例如法國例如法國o2 technology o2 technology 公司的公司的o2o2。 (四)、對象(四)、對象-關系數據庫技術關系數據庫技術 對象對象-關系數據庫是介于關系數據庫系統和關系數據庫是介于關系數據庫系統和對對象數據庫管理
51、系統中間,由象數據庫管理系統中間,由關系數據庫系統和關系數據庫系統和面面向對象的數據庫管理系統結合而成的數據庫管理向對象的數據庫管理系統結合而成的數據庫管理系統。系統。1、對象、對象-關系數據庫的優點關系數據庫的優點 對象對象-關系數據庫除了具有關系數據庫的特點外關系數據庫除了具有關系數據庫的特點外,將其進行擴充將其進行擴充,使其能直接存儲和管理空間幾何數使其能直接存儲和管理空間幾何數據。表現在:據。表現在:l 允許用戶擴充基本數據類型允許用戶擴充基本數據類型;l 支持支持sql查詢;查詢;l 支持類、數據、函數的繼承;支持類、數據、函數的繼承;l 提供功能強大的同其它對象提供功能強大的同其它
52、對象-關系集成的規則系關系集成的規則系統。統。2、對象、對象-關系數據庫的實現方法關系數據庫的實現方法l 開發新的對象開發新的對象-關系數據庫系統,不現實。關系數據庫系統,不現實。l 在現有關系數據庫系統基礎上,進行擴展:在現有關系數據庫系統基礎上,進行擴展:對關系數據庫系統核心擴充,增加對象特性;對關系數據庫系統核心擴充,增加對象特性;不改變關系數據庫系統核心,而是在關系數據庫不改變關系數據庫系統核心,而是在關系數據庫系統外提供對象系統外提供對象-關系應用編程接口,實現到關關系應用編程接口,實現到關系數據庫系統的映象查詢。系數據庫系統的映象查詢。l 將關系數據庫系統同其它對象將關系數據庫系統
53、同其它對象-關系數據庫系統關系數據庫系統或對象或對象-關系型引擎連接。關系型引擎連接。目前著名的對象目前著名的對象-關系數據庫系統關系數據庫系統如如oracle 8.0; informix 9.0(五)、網絡數據庫技術(五)、網絡數據庫技術1、數據庫系統的三種主要結構模式、數據庫系統的三種主要結構模式l 單用戶結構庫式單用戶結構庫式l 客戶客戶/服務器(服務器(c/s)結構模式)結構模式l web(b/s)結構模式)結構模式1)單用戶結構庫式單用戶結構庫式應用程序、應用程序、dbms、數據、都在一臺機器上,有一、數據、都在一臺機器上,有一個用戶獨占。個用戶獨占。 將數據庫系統分成前臺的客戶應用
54、程序和后臺的服將數據庫系統分成前臺的客戶應用程序和后臺的服務部分,其間通過網絡連接,由務部分,其間通過網絡連接,由客戶機和服務器客戶機和服務器共同共同完成處理任務。完成處理任務。 客戶客戶/服務器結構數據庫管理系統的服務器結構數據庫管理系統的核心是客戶應用核心是客戶應用程序只通過程序只通過sql向服務器發服務請求,服務器完成任向服務器發服務請求,服務器完成任務后,將結果發回給客戶應用程序,服務器的工作對務后,將結果發回給客戶應用程序,服務器的工作對客戶應用程序是透明的??蛻魬贸绦蚴峭该鞯?。 2)客戶)客戶/服務器(服務器(c/s)結構模式)結構模式 服務器的任務服務器的任務l為多個用戶管理和
55、維護一個獨立的數據庫;為多個用戶管理和維護一個獨立的數據庫;l管理并處理客戶的請求;管理并處理客戶的請求;l管理數據和系統的安全等。管理數據和系統的安全等。 客戶的任務客戶的任務l提供用戶界面;提供用戶界面;l建立同服務器的連接;建立同服務器的連接;l向服務器提交和接受請求;向服務器提交和接受請求;l數據的輸入輸出及驗證等。數據的輸入輸出及驗證等。 客戶機(用戶界面、應用程序)客戶機(用戶界面、應用程序) 數據庫服務器數據庫服務器 數據庫數據庫客戶客戶/服務器結構服務器結構數據庫數據庫3)web(b/s)數據庫結構模式)數據庫結構模式 web(b/s)數據庫結構模式是構成)數據庫結構模式是構成
56、web的技的技術基礎,是術基礎,是web技術和數據庫技術相結合的新技技術和數據庫技術相結合的新技術。它實現開發環境和應用環境的分離,用戶端術。它實現開發環境和應用環境的分離,用戶端用統一的瀏覽器代替客戶軟件。用統一的瀏覽器代替客戶軟件。 用戶通過瀏覽器的表單(用戶通過瀏覽器的表單(form)向)向web服務服務器發送器發送http 協議方式的請求,協議方式的請求, web服務器收服務器收到請求后向數據庫服務器發請求,數據庫服務器到請求后向數據庫服務器發請求,數據庫服務器執行接收的請求,并將結果返回執行接收的請求,并將結果返回web服務器。服務器。web(b/s)數據庫結構)數據庫結構 瀏覽器瀏
57、覽器web服務器服務器數據庫數據庫服務器服務器數據請求數據請求http 協議請求協議請求返回數據返回數據結果結果返回返回 瀏覽器瀏覽器2、網絡數據庫技術(略)、網絡數據庫技術(略)網絡信息系統中訪問數據庫技術網絡信息系統中訪問數據庫技術 1)microsoft提出了一系列訪問數據庫接口提出了一系列訪問數據庫接口odbc(open database connectivity,開放數據,開放數據庫連接)技術庫連接)技術2)java數據庫訪問技術數據庫訪問技術 jdbc(java database connectivity,java數據庫數據庫連接),作為連接),作為java語言的數據庫訪問語言的數
58、據庫訪問api四、空間數據庫及其管理四、空間數據庫及其管理空間數據庫的理論和方法是空間數據庫的理論和方法是gis技術的核心。技術的核心??臻g數據庫模型是數據庫中對數據的邏輯組織形式的空間數據庫模型是數據庫中對數據的邏輯組織形式的描述。描述。1 1、從數據管理的角度看、從數據管理的角度看gisgis中數據的特點中數據的特點 數據量大,常要作查詢,因此必需注意提高查詢效數據量大,常要作查詢,因此必需注意提高查詢效率,如建立索引等;率,如建立索引等; 數據類型和關系復雜數據類型和關系復雜 常要記錄拓撲關系;常要記錄拓撲關系; gis數據常具有非結構化特征,如描述線面狀地物數據常具有非結構化特征,如描
59、述線面狀地物的長度不等;數據要嵌套;一個對象可能包含多個對的長度不等;數據要嵌套;一個對象可能包含多個對象。象。(一)、傳統(一)、傳統dbms管理和空間數據管理管理和空間數據管理2 2、關系模型描述空間數據存在的問題、關系模型描述空間數據存在的問題l缺乏構造復雜對象的能力缺乏構造復雜對象的能力以記錄為單位的數據模型不能很好的面向用戶,不能描述嵌以記錄為單位的數據模型不能很好的面向用戶,不能描述嵌套和遞歸等復雜關系。套和遞歸等復雜關系。 l數據類型少數據類型少 不支持抽象數據類型不支持抽象數據類型如不能定義幾何數據類型(點,線,面)和空間操作算子(如不能定義幾何數據類型(點,線,面)和空間操作
60、算子(相交,包含等),無法完成地理意義上的分析查詢;相交,包含等),無法完成地理意義上的分析查詢;l缺乏語義表達能力,即語義貧乏缺乏語義表達能力,即語義貧乏 它表達實體和它表達實體和 實體間關系只能在表內,實體間關系只能在表內,或通過公共值的跨或通過公共值的跨表連接表連接, 實現實現效率低,效率低,不利于建立數據的概念模型不利于建立數據的概念模型。l表形式不適用表示圖形數據表形式不適用表示圖形數據圖形數據涉及的坐標、屬性、拓樸關系用表格表示使問題顯圖形數據涉及的坐標、屬性、拓樸關系用表格表示使問題顯得復雜化。得復雜化。(二)、空間數據管理系統的模式的類型(二)、空間數據管理系統的模式的類型1、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國掛包架市場分析及競爭策略研究報告
- 2025至2030年中國合金泵市場分析及競爭策略研究報告
- 2025至2030年中國升降拉馬市場分析及競爭策略研究報告
- 2025至2030年中國兒童掛衣架市場分析及競爭策略研究報告
- 2025至2030年中國專業級皮帶砂磨機市場分析及競爭策略研究報告
- 2025至2030年中國GPRS網絡綜合路測儀市場分析及競爭策略研究報告
- 老年護理員職業道德規范
- 護理質量持續改進成果展示
- 血液透析的并發癥的護理
- 兒童營養不良的早期識別和干預
- 中醫藥艾灸課件視頻教學
- 2025至2030年中國液壓行業市場動態分析及發展趨向研判報告
- 2025年上海市中考語文真題試卷含答案
- 廣東省廣州市海珠區2024-2025學年八年級下學期期末 歷史自編練習試卷(含解析)
- 高?!笆逦濉卑l展規劃編制應著重考慮的關鍵任務
- 大骨節考試題及答案
- 護理病歷質控標準
- 2025年小學五年級數學期末沖刺卷:數學基礎知識鞏固
- 電子煙工藝原理及生產流程培訓
- CSCO惡性血液病診療指南(2025)解讀
- T/CHTS 20036-2023公路橋梁用硬聚氯乙烯聲測管
評論
0/150
提交評論