1. 程式人生 > >[GIS教程] 5.5 空間資料庫查詢語言

[GIS教程] 5.5 空間資料庫查詢語言

【查詢】查詢語言是與資料庫互動的主要手段,是資料庫管理系統的一個核心要素

標準查詢語言SQL

SQL(Structured Query Language) 【SQL】SQL是用於關係資料庫管理系統的常見結構化查詢語言,具有易用、直觀、通用的特點

【發展歷程】

  1. 1974年由Boyce和Chamberlin提出的。
  2. 1975年~1979年IBM公司在其關係資料庫管理系統原型system R並實現了這種語言
  3. 由於它功能豐富、語言簡捷而被眾多計算機公司和軟體公司所採用,經不斷修改、擴充和完善,從最初的SQL-86,經歷SQL-89、SQL-92(SQL-2)發展到SQL-99(SQL-3,支援空間資料)SQL發展成為關係資料庫的標準語言
    • 其中SQL-86為SQL的最初版本,亦稱為SQL-1;
    • SQL-92是SQL成為關係資料庫標準語言的版本,也稱為SQL-2;
    • 而在設計SQL-99時則主要考慮對通用SQL進行擴充套件,以支援空間資料,是SQL的第三個版本,也稱為SQL-3

【SQL介紹】SQL是一種介於關係代數與關係演算之間的結構化查詢語言,它不僅僅是查詢,是一個通用的、功能極強的關係資料庫語言。SQL語言是一個綜合的、功能極強同時又簡捷易學的語言 【功能】SQL語言集資料查詢(Data Query)、資料操縱(Data Manipulation)、資料定義(Data Definition)和資料控制(Data Control)功能於一體 【主要特點】綜合統一,SQL集資料定義、操縱、控制功能於一體,能很好的滿足資料操作要求;高度非結構化,SQL進行資料操作時,只需提出“做什麼”,操作由系統自動完成;面向集合的操作方式;語言簡捷,易學易用

擴充套件SQL處理空間資料

【SQL面臨的問題】SQL不足之處是隻提供簡單的資料型別:整型、日期型、字串型等。空間資料庫(SDB)的應用必須能處理多點、線和多邊形這樣的複雜的資料型別。亟需對SQL語言進行空間擴充套件。SQL的空間擴充套件,需要一項普遍認可的標準

【OGSI】OGIS協會(Open GIS)是由一些主要軟體供應商組成的聯盟,負責制定與GIS互操作相關的行標準

【擴充套件SQL】OGIS的空間資料模型可以嵌入到各種程式語言中,例如C、Java、SQL等等,提出了一套規範,把二維地理空間ADT(abstract data type, 抽象資料型別)整合到SQL之中,並且包括了指定拓撲的操作和空間分析操作

【在OGIS標準中,操作可分為三類】

  1. 用於所有幾何型別的基本操作
  2. 用於空間物件間拓撲關係的操作測試。例如,overlay判斷兩個物件內部是否有一個非空的交集。
  3. 用於空間分析的一般操作。例如,distance返回兩個空間物件之間的最短距離

【缺點】OGIS規範SQL-99(SQL-3)在一定程度上解決了將通用SQL擴充套件到空間的目標,但仍存在以下問題。

  1. OGIS規範僅僅侷限用於空間的物件模型,考慮到空間資訊可以對映到場模型,OGIS正在開發針對場資料型別和操作的統一模型。
  2. 即使在物件模型中,對於簡單的選擇-投影-連線查詢來說,OGIS的操作也存在侷限性。
  3. OGIS標準過於關注基本拓撲的和空間度量的關係,而忽略了對度量操作的類的支援,不支援那些基於方位(例如,北、南、左、前等)謂詞的操作。
  4. OGIS標準不支援動態的、基於形狀以及基於可見性的操作。