首頁 > DB > slq > > 正文

SQL的發展歷史概述

發布人:[email protected]    點擊:

SQL是結構化查詢語言(Structure Query Language)的縮寫,它是使用關系模型的數據庫應用語言,由IBM在70年代開發出來,作為IBM關系數據庫原型System R的原型關系語言,實現了關系數據庫中的信息檢索。

  SQL(Structured Query Language),即結構化查詢語言,是高級的非過程化編程語言,它允許用戶在高層數據結構上工作。SQL是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。SQL同時也是數據庫文件格式的擴展名。

目錄

SQL
 

SQL概述

  • SQL語言之所以能夠為用戶和業界所接受,并成為國際標準,是因為它是一個綜合的、功能極強同時又簡捷易學的語言。SQL語言集數據查詢(Data Query)、數據操縱(Data Manipulation)、數據定義(Data Definition)和數據控制(Data Control)功能于一體。
  • SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統,可以使用相同的SQL語言作為數據輸入與管理的接口。它以記錄集合作為操作對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的功能只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。
  • 結構化查詢語言(Structured Query Language)最早是IBM的圣約瑟研究實驗室為其關系數據庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應用。如今無論是像Oracle、Sybase、DB2、Informix、SQL SERver這些大型的數據庫管理系統,還是像Visual Foxpro、PowerBuilder這些PC上常用的數據庫開發系統,都支持SQL語言作為查詢語言。
  • 美國國家標準局(ANSI)與國際標準化組織(ISO)已經制定了SQL標準。ANSI是一個美國工業和商業集團組織,負責開發美國的商務和通訊標準。ANSI同時也是ISO和International Electrotechnical Commission(IEC)的成員之一。ANSI 發布與國際標準組織相應的美國標準。1992年,ISO和IEC發布了SQL國際標準,稱為SQL-92。ANSI隨之發布的相應標準是ANSI SQL-92。ANSI SQL-92有時被稱為ANSI SQL。盡管不同的關系數據庫使用的SQL版本有一些差異,但大多數都遵循 ANSI SQL 標準。SQL Server使用ANSI SQL-92的擴展集,稱為T-SQL,其遵循ANSI制定的 SQL-92標準。

SQL發展歷史

  • 在1970年代初,由IBM公司San Jose,California研究實驗室的埃德加·科德發表將數據組成表格的應用原則(Codd's Relational Algebra)。1974年,同一實驗室的D.D.Chamberlin和R.F. Boyce對Codd's Relational Algebra在研制關系數據庫管理系統System R中,研制出一套規范語言-SEQUEL(Structured English QUEry Language),并在1976年11月的IBM Journal of R&D上公布新版本的SQL(叫SEQUEL/2)。1980年改名為SQL。
  • 1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS數據庫系統中也實現了SQL。
  • 1986年10月,美國ANSI采用SQL作為關系數據庫管理系統的標準語言(ANSI X3. 135-1986),后為國際標準化組織(ISO)采納為國際標準。
  • 1989年,美國ANSI采納在ANSI X3.135-1989報告中定義的關系數據庫管理系統的SQL標準語言,稱為ANSI SQL 89, 該標準替代ANSI X3.135-1986版本。該標準為下列組織所采納:
  • 國際標準化組織(ISO),為ISO 9075-1989報告“Database Language SQL With Integrity Enhancement”
  • 美國聯邦政府,發布在The Federal Information Processing Standard Publication(FIPS PUB)127
  • 目前,所有主要的關系數據庫管理系統支持某些形式的SQL, 大部分數據庫打算遵守ANSI SQL89標準。

SQL特點

  • 1. SQL語言集數據查詢、數據操縱、數據定義和數據控制功能于一體
  • 2. 面向集合的語言
  • 3. 非過程語言
  • 4. 類似自然語言,簡潔易用
  • 5. 自含式語言,又是嵌入式語言。可獨立使用,也可嵌入到宿主語言中。

SQL基本語句

  • SQL中有四種基本的DML操作:INSERT,SELECT,UPDATE和DELETE。
  • 1、INSERT語句
  • 用戶可以用INSERT語句將一行記錄插入到指定的一個表中。
  • 2、SELECT語句
  • SELECT語句可以從一個或多個表中選取特定的行和列。因為查詢和檢索數據是數據庫管理中最重要的功能,所以SELECT語句在SQL中是工作量最大的部分。實際上,僅僅是訪問數據庫來分析數據并生成報表的人可以對其他SQL語句一竅不通。
  • SELECT語句的結果通常是生成另外一個表。在執行過程中系統根據用戶的標準從數據庫中選出匹配的行和列,并將結果放到臨時的表中。在直接SQL(direct SQL)中,它將結果顯示在終端的顯示屏上,或者將結果送到打印機或文件中。也可以結合其他SQL語句來將結果放到一個已知名稱的表中。
  • SELECT語句功能強大。雖然表面上看來它只用來完成本文第一部分中提到的關系代數運算“選擇”(或稱“限制”),但實際上它也可以完成其他兩種關系運算—“投影”和“連接”,SELECT語句還可以完成聚合計算并對數據進行排序。
  • 3、UPDATE語句
  • UPDATE語句允許用戶在已知的表中對現有的行進行修改。
  • 4、DELETE語句
  • DELETE語句用來刪除已知表中的行。如同UPDATE語句中一樣,所有滿足WHERE子句中條件的行都將被刪除。由于SQL中沒有UNDO語句或是“你確認刪除嗎?”之類的警告,在執行這條語句時千萬要小心。