ANSI SQL

ANSI SQL

美國國家標準化組織(ANSI)”是一個核准多種行業標準的組織。SQL作為關係型資料庫所使用的標準語言,最初是基於IBM的實現在1986年被批准的。1987年,“國際標準化組織(ISO)”把ANSI SQL作為國際標準。這個標準在1992年進行了修訂(SQL-92),1999年再次修訂(SQL-99)。目前最新的是SQL-2011。

定義


SQL-2003是由8個相關的文檔組成,在不遠的將來還可能增加其他文檔,以擴展標準來適應新出現的技術。
第一部分: SQL/結構,指定實現一致性的一般性需求,定義SQL的基本概念;
第二部分:SQL/基礎,定義SQL的原發和操作;
第三部分:SQL/調用級介面,定義程序編程與SQL的介面;
第四部分:SQL/持久存儲模塊,定義控制結構,進而定義SQL常式。還定義了包含SQL常式的模塊;
第五部分:SQL/主機語言綁定,定義SQL的擴展,用戶通過使用數據包裹支持外部數據管理,還定義了數據鏈類型;
第六部分:對象語言綁定,定義SQL的擴展,支持把SQL語句內嵌到用Java編寫的程序;
第七部分:信息和定義方案:定義信息方案和定義方案的規範,提供與SQL數據相關的結構和安全信息;
ANSI標準(SQL-2003)
對於新的ANSI標準(SQL-2003),DBMS聲稱的兼容有兩個級別:核心SQL支持和 增強SQL支持。
ANSI表示負責規劃各種產品和概念的標準。標準顯然是有好處的,當然有時也有不足之處。最重要的是,標準指引廠商沿著恰當的開發方向前進。就SQL來說,標準提供了必要基本原則的骨架,從而最終讓不同的實現之間保持一致性,更好地實現可移植性。
認為標準不好的表明標準限制了靈活性和特定實現的功能。。。綜合之後,標準還是好的。所謂無規矩不成方圓大概就是如此。
“SQL實現”是指特定廠商的SQL產品或關係型資料庫管理系統。需要說明的是,SQL實現之間的差別是很大的。雖然有些實現的大部分是與ANSI兼容的,但沒有任何一種實現完全遵循標準。

查詢語言


“結構化查詢語言(SQL)”是與關係型資料庫進行通信的標準語言,最初是由IBM公司以E.F.Codd博士論文為原型開發出來的。在之後不久的1979年,Relational Software公司(後來更名為Oracle公司)發布了第一個SQL產品:Oracle,現在已經成為關係型資料庫技術的領軍者(現在Java也是隸屬於Oracle公司)。SQL的念法有兩種,一種是逐個字母發音:S-Q=L;一種讀為“sequel”,大多數SQL自身用戶使用后一種,不過您喜歡第一種也可以!
當我們去別的國家旅行時,需要了解其語言才能更加方便。比如服務員只能使用本國語言,那我們用母語點菜就會出現問題。如果把資料庫看做一個要從中進行信息搜索的外國,那麼SQL就是我們向資料庫表達需求的語言,我們可以利用SQL進行查詢,從資料庫里獲得特定的信息。