參考資料:程序員
數據庫原理及設計(第3版)算法
配套數據庫爲:microsoft sql serversql
參照ANSI SQL-92標準數據庫
一切都源於關係型數據庫之父——Edgar Frank Codd 於1970年6月首次提出了關係數據模型。安全
以後嘛,確定是經歷瞭如下這個過程:數據結構
各學校、公司開始理論研究,看看這個玩意兒能不能給帶來利益?!工具
誒?!好像能夠帶來利益誒……那咱們開發成產品商化吧,再配套一個使用工具(語言)!學習
權威機構:麻了?!怎麼發展的這麼蓬勃(五花八門)?!不得行,是時候我出場統一一下標準了!.net
基於標準開發,再來點擴展,投放市場使用……設計
其它公司:誒?!好玩意兒……但是咱們的開發應用要界面啊,能不能把這個嵌入到其餘語言中使用?!
……
至此,咱們來梳理一下真正的歷史過程:
1974年Boyce 和Chamberlin提出SQL
20世紀70年代中期,IBM公司在研製System R 的過程當中,開發了世界上最先的SQL語言
1979年,Oracle公司最早提出了商用的SQL語言
SQL標準變遷史
能夠說,命名就頗有意思了,就是年份結尾嘛,可是1999年開始變成四位數字,具體緣由我也是百度了一篇博客,放出來《SQL標準簡介》
還有一點,非正式的一些稱呼:
其中,針對於SQL-92來講,絕大多數RDBMS產品不是徹底支持的,那差別通常都會體如今SQL命令的語法上面。
針對這個不徹底支持,咱們能夠從兩個方向上來看:
那麼根據支持SQL-92的程度,咱們能夠分爲三種:
所以,所給的建議是:
什麼是SQL語言?
不少人會跟我有同樣的疑問,爲啥叫查詢語言???
首先不要被這個名字誤導了,並非它只支持查詢,它的功能還有不少,,好比數據模式定義、數據的「增、刪、改」以及安全和事務控制功能。
因此說……一個好的名字仍是很重要的……
具體緣由:從操縱數據的角度來看,查詢是最重要也是用的最多的操做(想一想大家本身管理開發的時候,是否是動不動就要查詢這個查詢那個?!)
接下來,咱們看看這個SQL語言有哪些功能特色呢?
功能一體化。
說的有點玄乎,實際上就是,它做爲數據庫語言的一種,也是遵循數據庫語言的劃分,由3個子語言構成:
各個自語言又有不少本身的功能……
語言非過程化。
以前咱們說過,它的名字中有結構化,那什麼是結構化,什麼是過程化呢?
交互式與嵌入式使用。
標準化與易移植性。
以前,咱們也說過,各個具體的RDBMS產品中支持的SQL語言狀況是有所差別的,可是大多都能支持標準的大部分,所以,移植起來會相對容易。
利用SQL語言,能夠完成關係模型的具體化,那咱們以前知道,任何模型都包括3方面的內容:
那麼如何將這三部分具體化呢?
這由SQL語言中的兩個子語言承擔:
以後,我將會分塊對這兩個子語言進行學習……