- 電子商務數據庫技術(第3版)
- 潘郁
- 1822字
- 2019-12-11 15:42:27
4.2 T-SQL
4.2.1 T-SQL的特點及分類
SQL是一種操作數據庫的結構化查詢語言,它強調的是語言的結構化和對以二維表為基礎的關系數據庫的操作能力。SQL的前身是1974年由Chamberlin和Boyce提出的SE-QUEL。1975至1979年IBM公司的San Jose研究所在研制關系數據庫管理system R時,將其修改為功能極強的關系數據庫標準語言,稱為SEQUEL2,也就是現在的SQL。1986年10月,美國國家標準局(ANSI)的數據庫委員會批準了將SQL作為關系數據庫語言的美國標準,1987年6月國際標準化組織(ISO)將其采納為國際標準,這個標準也稱為SQL86。隨著SQL標準化工作的不斷修訂完善,相繼出現了SQL89、SQL92(也稱為SQL2)。后來,在SQL2的基礎上增加了面向對象的內容,形成新標準SQL3(又稱SQL99)。新標準SQL3的12個標準文本《信息技術數據庫語言SQL》從1999年陸續頒布。各種版本的SQL幾乎是相同的,只是在個別語法上、在對標準SQL的擴充方面略有不同。目前使用的SQL有以下特點。
(1)非過程化語言。
SQL是一個高度非過程化的語言。用戶只要提出“做什么”,而不必指出“怎么做”,SQL就可以將要求交給系統,由系統自動完成全部操作。
SQL允許用戶在高層的數據結構上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。SQL不要求用戶指定對數據的存放方法。這種特性使用戶更易集中精力于要得到的結果。所有SQL語句均使用查詢優化器,它是關系數據庫管理系統的一部分,由它決定對指定數據存取的最快速度的手段。查詢優化器知道存在什么索引,哪兒使用合適,而用戶無須知道表是否有索引以及表有什么類型的索引。
(2)統一的語言。
SQL可用于所有用戶的DB活動模型,包括系統管理員、數據庫管理員、應用程序員、決策支持系統人員及許多其他類型的終端用戶。SQL為許多任務提供了命令,包括:
①查詢數據;
②在表中插入、修改和刪除記錄;
③建立、修改和刪除數據對象;
④控制對數據和數據對象的存取;
⑤保證數據庫的一致性和完整性。
(3)SQL是關系數據庫的公共語言。
由于所有主要的關系數據庫管理系統都支持SQL,故用戶可將使用SQL的技能從一個關系數據庫管理系統轉到另一個關系數據庫管理系統。用SQL編寫的程序是可以移植的。
(4)SQL的命令簡潔,易學易用。
盡管SQL功能極強,但由于設計巧妙,故只用少數的幾條命令就完成了所有的核心功能。另外,SQL的語法也很簡單,接近自然語言(英語),因而易于學習和掌握。
(5)SQL支持數據庫的三層模式結構。
與概念模式的概念文件對應的是基本表,與存儲模式對應的是存儲文件,與外模式對應的是視圖和部分基本表。用戶看到的是視圖或基本表,基本表和視圖都是關系,用戶可以在其上進行查詢操作,而存儲文件對用戶來說是透明的。
由于SQL具有功能豐富、使用方式靈活、語言簡潔易學等突出優點,故在計算機工業界和計算機用戶中倍受歡迎。當前流行的關系數據庫管理系統都支持SQL。SQL成為國際標準后,對數據庫以外的領域也產生了很大的影響,不少的軟件產品將SQL的數據查詢功能與圖形功能、軟件工程工具、軟件開發工具、人工智能程序等結合起來。
T-SQL是微軟公司在SQL Server數據庫管理系統中SQL3的實現,是微軟對SQL的擴展,具有SQL的主要特點,同時增加了變量、運算符、函數、流程控制和注釋等語言元素,使其功能更加強大。T-SQL對于SQL Server 2005非常重要,在SQL Server 2005中使用圖形界面完成的所有功能都可以利用T-SQL來完成。使用T-SQL操作時,與SQL Server通信的所有應用程序都通過向服務器發送T-SQL語句來實現,而與應用程序的界面無關。
根據T-SQL語句的具體功能,可以將T-SQL語句分為四個部分,即數據定義語言(Data Definition Language, DDL)、數據操作語言(Data Manipulation Language, DML)、數據控制語言(Data Control Language, DCL)和T-SQL增加的語言元素。
(1)數據定義語言。
用于執行數據庫的任務,對數據庫以及數據庫中的各種對象進行創建、刪除、修改等操作。T-SQL數據定義語言包括的主要語句及功能參見表4.2。
表4.2 SQL數據定義語言

(2)數據操作語言。
用于操作數據庫中的各種對象,檢索和修改數據。T-SQL數據操作語言包括的主要語句及功能參見表4.3。
表4.3 T-SQL數據操作語言

(3)數據控制語言。
用于安全管理,確定哪些用戶可以查看或修改數據庫中的數據。T-SQL數據控制語言包括的主要語句及功能參見表4.4。
表4.4 T-SQL數據控制語言

T-SQL各語句的語法、使用方法及舉例詳見本章4.3節至4.10節的相關內容。
(4)T-SQL增加的語言元素。
T-SQL增加的語言元素不是SQL 3的標準內容,而是T-SQL為了編寫腳本而增加的語言元素,包括變量、運算符、函數、注釋語句、流程控制語句、事務控制語句等。這些T-SQL語句都可以在SQL Server 2005的查詢分析器中交互執行。