SQL92

SQL92

SQL92,是資料庫的一個ANSI/ISO標準。它定義了一種語言(SQL)以及資料庫的行為(事務、隔離級別等)。

基本介紹

  • 中文名:SQL92
  • 屬性:資料庫的一個ANSI/ISO標準
  • 作用:定義了一種語言以及資料庫的行為
  • 套用學科:資料庫
SQL92是資料庫的一個ANSI/ISO標準,SQL92標準有4個層次,

SQL92是資料庫的一個ANSI/ISO標準

這個標準的前身是SQL92 ANSI/ISO標準,而SQL92之前還有一個SQL89 ANSI/ISO標準。
它定義了一種語言(SQL)以及資料庫的行為(事務、隔離級別等)。許多商業資料庫至少在某種程度上是符合SQL92的。不過,這對於查詢和套用的可移植性沒有多大的意義。

SQL92標準有4個層次

入門級(Entry level)
這是大多數開發商符合的級別。這一級只是對前一個標準SQL89稍做修改。所有資料庫開發商都不會有更高的級別,實際上,美國國家標準和技術協會NIST(National Institute of Standards and Technology,這是一家專門檢驗SQL合規性的機構)除了驗證入門級外,甚至不做其他的驗證。Oracle 7.0於1993年通過了NIST的SQL92入門級合規性驗證,那時我也是小組中的一個成員。如果一個資料庫符合入門級,它的特性集則是Oracle 7.0的一個功能子集。
過渡級
這一級在特性集方面大致介於入門級和中間級之間。
中間級
這一級增加了許多特性,包括(以下所列並不完整):
級聯DELETE以保證引用完整性
DATE和TIME數據類型
變長字元串
CASE表達式
數據類型之間的CAST函式
完備級
增加了以下特性(同樣,這個列表也不完整):
連線管理
BIT串數據類型
可延遲的完整性約束
FROM子句中的導出表
CHECK子句中的子查詢
臨時表
入門級標準不包括諸如外聯結(outer join)、新的內聯結(inner join)語法等特性。過渡級則指定了外聯結語法和內聯結語法。中間級增加了更多的特性,當然,完備級就是SQL92全部。有關SQL92的大多數書都沒有區別這些級別,這就會帶來混淆。這些書只是說明了一個完整實現SQL92的理論資料庫會是什麼樣子。所以無論你拿起哪一本書,都無法將書中所學直接套用到任何SQL92資料庫上。關鍵是,SQL92最多只達到入門級,如果你使用了中間級或更高級里的特性,就存在無法“移植”套用的風險。

相關詞條

熱門詞條

聯絡我們