官术网_书友最值得收藏!

4.2 T-SQL

4.2.1 T-SQL的特點(diǎn)及分類

1.T-SQL(Transaction-SQL)的特點(diǎn)

SQL是一種操作數(shù)據(jù)庫的結(jié)構(gòu)化查詢語言,它強(qiáng)調(diào)的是語言的結(jié)構(gòu)化和對(duì)以二維表為基礎(chǔ)的關(guān)系數(shù)據(jù)庫的操作能力。SQL的前身是1974年由Chamberlin和Boyce提出的SE-QUEL。1975至1979年IBM公司的San Jose研究所在研制關(guān)系數(shù)據(jù)庫管理system R時(shí),將其修改為功能極強(qiáng)的關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言,稱為SEQUEL2,也就是現(xiàn)在的SQL。1986年10月,美國國家標(biāo)準(zhǔn)局(ANSI)的數(shù)據(jù)庫委員會(huì)批準(zhǔn)了將SQL作為關(guān)系數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn),1987年6月國際標(biāo)準(zhǔn)化組織(ISO)將其采納為國際標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)也稱為SQL86。隨著SQL標(biāo)準(zhǔn)化工作的不斷修訂完善,相繼出現(xiàn)了SQL89、SQL92(也稱為SQL2)。后來,在SQL2的基礎(chǔ)上增加了面向?qū)ο蟮膬?nèi)容,形成新標(biāo)準(zhǔn)SQL3(又稱SQL99)。新標(biāo)準(zhǔn)SQL3的12個(gè)標(biāo)準(zhǔn)文本《信息技術(shù)數(shù)據(jù)庫語言SQL》從1999年陸續(xù)頒布。各種版本的SQL幾乎是相同的,只是在個(gè)別語法上、在對(duì)標(biāo)準(zhǔn)SQL的擴(kuò)充方面略有不同。目前使用的SQL有以下特點(diǎn)。

(1)非過程化語言。

SQL是一個(gè)高度非過程化的語言。用戶只要提出“做什么”,而不必指出“怎么做”,SQL就可以將要求交給系統(tǒng),由系統(tǒng)自動(dòng)完成全部操作。

SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集。所有SQL語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法。這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語句均使用查詢優(yōu)化器,它是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶無須知道表是否有索引以及表有什么類型的索引。

(2)統(tǒng)一的語言。

SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其他類型的終端用戶。SQL為許多任務(wù)提供了命令,包括:

①查詢數(shù)據(jù);

②在表中插入、修改和刪除記錄;

③建立、修改和刪除數(shù)據(jù)對(duì)象;

④控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存??;

⑤保證數(shù)據(jù)庫的一致性和完整性。

(3)SQL是關(guān)系數(shù)據(jù)庫的公共語言。

由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL,故用戶可將使用SQL的技能從一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)轉(zhuǎn)到另一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。用SQL編寫的程序是可以移植的。

(4)SQL的命令簡潔,易學(xué)易用。

盡管SQL功能極強(qiáng),但由于設(shè)計(jì)巧妙,故只用少數(shù)的幾條命令就完成了所有的核心功能。另外,SQL的語法也很簡單,接近自然語言(英語),因而易于學(xué)習(xí)和掌握。

(5)SQL支持?jǐn)?shù)據(jù)庫的三層模式結(jié)構(gòu)。

與概念模式的概念文件對(duì)應(yīng)的是基本表,與存儲(chǔ)模式對(duì)應(yīng)的是存儲(chǔ)文件,與外模式對(duì)應(yīng)的是視圖和部分基本表。用戶看到的是視圖或基本表,基本表和視圖都是關(guān)系,用戶可以在其上進(jìn)行查詢操作,而存儲(chǔ)文件對(duì)用戶來說是透明的。

由于SQL具有功能豐富、使用方式靈活、語言簡潔易學(xué)等突出優(yōu)點(diǎn),故在計(jì)算機(jī)工業(yè)界和計(jì)算機(jī)用戶中倍受歡迎。當(dāng)前流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL。SQL成為國際標(biāo)準(zhǔn)后,對(duì)數(shù)據(jù)庫以外的領(lǐng)域也產(chǎn)生了很大的影響,不少的軟件產(chǎn)品將SQL的數(shù)據(jù)查詢功能與圖形功能、軟件工程工具、軟件開發(fā)工具、人工智能程序等結(jié)合起來。

T-SQL是微軟公司在SQL Server數(shù)據(jù)庫管理系統(tǒng)中SQL3的實(shí)現(xiàn),是微軟對(duì)SQL的擴(kuò)展,具有SQL的主要特點(diǎn),同時(shí)增加了變量、運(yùn)算符、函數(shù)、流程控制和注釋等語言元素,使其功能更加強(qiáng)大。T-SQL對(duì)于SQL Server 2005非常重要,在SQL Server 2005中使用圖形界面完成的所有功能都可以利用T-SQL來完成。使用T-SQL操作時(shí),與SQL Server通信的所有應(yīng)用程序都通過向服務(wù)器發(fā)送T-SQL語句來實(shí)現(xiàn),而與應(yīng)用程序的界面無關(guān)。

2.T-SQL語句分類

根據(jù)T-SQL語句的具體功能,可以將T-SQL語句分為四個(gè)部分,即數(shù)據(jù)定義語言(Data Definition Language, DDL)、數(shù)據(jù)操作語言(Data Manipulation Language, DML)、數(shù)據(jù)控制語言(Data Control Language, DCL)和T-SQL增加的語言元素。

(1)數(shù)據(jù)定義語言。

用于執(zhí)行數(shù)據(jù)庫的任務(wù),對(duì)數(shù)據(jù)庫以及數(shù)據(jù)庫中的各種對(duì)象進(jìn)行創(chuàng)建、刪除、修改等操作。T-SQL數(shù)據(jù)定義語言包括的主要語句及功能參見表4.2。

表4.2 SQL數(shù)據(jù)定義語言

(2)數(shù)據(jù)操作語言。

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

表4.3 T-SQL數(shù)據(jù)操作語言

(3)數(shù)據(jù)控制語言。

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

表4.4 T-SQL數(shù)據(jù)控制語言

T-SQL各語句的語法、使用方法及舉例詳見本章4.3節(jié)至4.10節(jié)的相關(guān)內(nèi)容。

(4)T-SQL增加的語言元素。

T-SQL增加的語言元素不是SQL 3的標(biāo)準(zhǔn)內(nèi)容,而是T-SQL為了編寫腳本而增加的語言元素,包括變量、運(yùn)算符、函數(shù)、注釋語句、流程控制語句、事務(wù)控制語句等。這些T-SQL語句都可以在SQL Server 2005的查詢分析器中交互執(zhí)行。

主站蜘蛛池模板: 金堂县| 巨野县| 昭觉县| 平武县| 遵义县| 灵川县| 岑巩县| 东乡族自治县| 安陆市| 榆中县| 奎屯市| 城步| 清原| 泸溪县| 阿勒泰市| 镇坪县| 肃北| 宣威市| 南澳县| 育儿| 遂溪县| 招远市| 三江| 湘潭市| 苏州市| 栾城县| 襄樊市| 大兴区| 沂源县| 酒泉市| 武川县| 武鸣县| 保亭| 隆回县| 双柏县| 邢台县| 竹山县| 资中县| 渭源县| 托克逊县| 高清|