R語(yǔ)言和SQL語(yǔ)言
張建中
2014年07月16日
10.?統(tǒng)計(jì)分析語(yǔ)言R
R是用于統(tǒng)計(jì)分析和繪圖的語(yǔ)言,也是一個(gè)自由、免費(fèi)、源代碼開(kāi)放的軟件。R由新西蘭奧克蘭大學(xué)的Ross?Ihaka和Robert?Gentleman?開(kāi)發(fā),是一個(gè)因他們名字含有共同的首字母R來(lái)命名的程序系統(tǒng)。
R是基于S語(yǔ)言的一個(gè)GNU項(xiàng)目,所以也可以當(dāng)作S語(yǔ)言的一種實(shí)現(xiàn),通常用S語(yǔ)言編寫(xiě)的代碼都可以不作修改地在R環(huán)境下運(yùn)行。這里所說(shuō)的S語(yǔ)言是由AT&T貝爾實(shí)驗(yàn)室開(kāi)發(fā)的一種用來(lái)進(jìn)行數(shù)據(jù)探索、統(tǒng)計(jì)分析、作圖的解釋型語(yǔ)言。它以豐富的數(shù)據(jù)類(lèi)型(向量、數(shù)組、列表、對(duì)象等)特別有利于實(shí)現(xiàn)新的統(tǒng)計(jì)算法,其交互式運(yùn)行方式、強(qiáng)大的圖形及交互圖形功能使得人們可以在計(jì)算機(jī)上方便地進(jìn)行數(shù)據(jù)探索。目前S語(yǔ)言的實(shí)現(xiàn)版本主要是S-Plus。作為統(tǒng)計(jì)學(xué)家及一般研究人員的通用方法工具箱,S-Plus強(qiáng)調(diào)演示圖形、探索性數(shù)據(jù)分析、統(tǒng)計(jì)方法、開(kāi)發(fā)新統(tǒng)計(jì)工具的計(jì)算方法,以及可擴(kuò)展性。S-Plus可以直接用來(lái)進(jìn)行標(biāo)準(zhǔn)的統(tǒng)計(jì)分析,并得到所需結(jié)果,但它的主要特點(diǎn)是可以交互地從各個(gè)方面去發(fā)現(xiàn)數(shù)據(jù)中的信息,并可以很容易地實(shí)現(xiàn)一個(gè)新的統(tǒng)計(jì)方法。
R的原代碼可自由下載使用,亦有已編譯的執(zhí)行檔版本可以下載,可在多種平臺(tái)下運(yùn)行,包括使用Unix、Linux和Windows等操作系統(tǒng)的眾多計(jì)算機(jī)。
R內(nèi)含有多種統(tǒng)計(jì)學(xué)及數(shù)字分析功能。因?yàn)镾的血緣,R比其他統(tǒng)計(jì)學(xué)或數(shù)學(xué)專(zhuān)用的編程語(yǔ)言有更強(qiáng)的面向?qū)ο蟪绦蛟O(shè)計(jì)功能。R的另一強(qiáng)項(xiàng)是繪圖功能,制圖具有印刷的素質(zhì),也可加入數(shù)學(xué)符號(hào)。
雖然R主要用于統(tǒng)計(jì)分析或者開(kāi)發(fā)統(tǒng)計(jì)相關(guān)的軟件,但也有人用作矩陣計(jì)算。其分析速度可媲美GNU?Octave甚至商業(yè)軟件MATLAB。
R的功能能夠通過(guò)由用戶(hù)撰寫(xiě)的套件增強(qiáng)。增加的功能有特殊的統(tǒng)計(jì)技術(shù)、繪圖功能,以及編程介面和數(shù)據(jù)輸出/輸入功能。這些軟件包是由R語(yǔ)言、LaTeX、Java及最常用C語(yǔ)言和Fortran撰寫(xiě)的。
R語(yǔ)言的語(yǔ)法表面上類(lèi)似?C語(yǔ)言,但在語(yǔ)義上,R語(yǔ)言是函數(shù)設(shè)計(jì)語(yǔ)言的的變種并且和Lisp以及APL有很強(qiáng)的兼容性。特別是它允許在“語(yǔ)言上計(jì)算(computing?on?the?language)”,這使得它可以把表達(dá)式作為函數(shù)的輸入?yún)?shù),而這種做法對(duì)統(tǒng)計(jì)模擬和繪圖非常有用。
R是一套完整的數(shù)據(jù)處理、計(jì)算和制圖軟件系統(tǒng)。其功能包括:數(shù)據(jù)存儲(chǔ)和處理系統(tǒng);數(shù)組運(yùn)算工具(其向量、矩陣運(yùn)算方面功能尤其強(qiáng)大);完整連貫的統(tǒng)計(jì)分析工具;優(yōu)秀的統(tǒng)計(jì)制圖功能;簡(jiǎn)便而強(qiáng)大的編程語(yǔ)言:可操縱數(shù)據(jù)的輸入和輸出,可實(shí)現(xiàn)分支、循環(huán),用戶(hù)可自定義功能等。
與其說(shuō)R是一種統(tǒng)計(jì)軟件,還不如說(shuō)R是一種數(shù)學(xué)計(jì)算的環(huán)境,因?yàn)镽并不是僅僅提供若干統(tǒng)計(jì)程序、使用者只需指定數(shù)據(jù)庫(kù)和若干參數(shù)便可進(jìn)行一個(gè)統(tǒng)計(jì)分析的軟件。R的思想是:它可以提供一些集成的統(tǒng)計(jì)工具,但更重要的是它大量提供各種數(shù)學(xué)計(jì)算、統(tǒng)計(jì)計(jì)算的函數(shù),從而使使用者能靈活機(jī)動(dòng)地進(jìn)行數(shù)據(jù)分析,甚至創(chuàng)造出符合需要的新的統(tǒng)計(jì)計(jì)算方法。
R是一個(gè)免費(fèi)的自由軟件,它有Unix、Linux和Windows版本,都可以免費(fèi)下載和使用。
11.?結(jié)構(gòu)查詢(xún)語(yǔ)言SQL
結(jié)構(gòu)查詢(xún)語(yǔ)言(Structured?Query?Language),簡(jiǎn)稱(chēng)SQL,是一種數(shù)據(jù)庫(kù)查詢(xún)和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢(xún)、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),同時(shí)也是數(shù)據(jù)庫(kù)腳本文件的擴(kuò)展名。
結(jié)構(gòu)化查詢(xún)語(yǔ)言是高級(jí)的非過(guò)程化編程語(yǔ)言,它允許用戶(hù)在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶(hù)指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶(hù)了解具體的數(shù)據(jù)存放方式,所以它具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫(kù)系統(tǒng),可以使用相同的結(jié)構(gòu)化查詢(xún)語(yǔ)言作為數(shù)據(jù)輸入與管理的接口。結(jié)構(gòu)化查詢(xún)語(yǔ)言語(yǔ)句可以嵌套,這使它具有極大的靈活性和強(qiáng)大的功能。如今無(wú)論是像Oracle?,Sybase,Informix,SQL?server這些大型的數(shù)據(jù)庫(kù)管理系統(tǒng),還是像Visual?Foxporo,Power?Builder這些微機(jī)上常用的數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng),都支持SQL作為查詢(xún)語(yǔ)言。
結(jié)構(gòu)化查詢(xún)語(yǔ)言SQL是最重要的關(guān)系數(shù)據(jù)庫(kù)操作語(yǔ)言,并且它的影響已經(jīng)超出數(shù)據(jù)庫(kù)領(lǐng)域,得到了其他領(lǐng)域的重視和采用,如人工智能領(lǐng)域的數(shù)據(jù)檢索,第四代軟件開(kāi)發(fā)工具中嵌入SQL的語(yǔ)言等。
SQL語(yǔ)言基本上獨(dú)立于數(shù)據(jù)庫(kù)本身使用的機(jī)器、網(wǎng)絡(luò)、操作系統(tǒng),基于SQL的數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS產(chǎn)品可以運(yùn)行在從PC、工作站到基于局域網(wǎng)、小型機(jī)和大型機(jī)的各種計(jì)算機(jī)系統(tǒng)上,具有良好的可移植性。早在1987年就有些有識(shí)之士預(yù)測(cè)SQL的標(biāo)準(zhǔn)化是“一場(chǎng)革命”,是“關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的轉(zhuǎn)折點(diǎn)”。數(shù)據(jù)庫(kù)和各種產(chǎn)品都使用SQL作為共同的數(shù)據(jù)存取語(yǔ)言和標(biāo)準(zhǔn)接口,使不同數(shù)據(jù)庫(kù)系統(tǒng)之間的互操作有了共同的基礎(chǔ),進(jìn)而實(shí)現(xiàn)異構(gòu)機(jī)、各種操作環(huán)境的共享與移植。
結(jié)構(gòu)化查詢(xún)語(yǔ)言SQL包含6個(gè)部分:
1、數(shù)據(jù)查詢(xún)語(yǔ)言(DQL:Data?Query?Language);
2、數(shù)據(jù)操作語(yǔ)言(DML:Data?Manipulation?Language);
3、事務(wù)處理語(yǔ)言(TPL);
4、數(shù)據(jù)控制語(yǔ)言(DCL);
5、數(shù)據(jù)定義語(yǔ)言(DDL);
6、指針控制語(yǔ)言(CCL)。
結(jié)構(gòu)化查詢(xún)語(yǔ)言SQL的語(yǔ)言特點(diǎn):一體化、非過(guò)程化;使用方式靈活,只提操作要求,不必描述操作步驟,也不需要導(dǎo)航;語(yǔ)言簡(jiǎn)潔,語(yǔ)法簡(jiǎn)單,好學(xué)好用,使用簡(jiǎn)要。