SQL語(yǔ)言簡(jiǎn)介
時(shí)間:2022-02-16 11:06:01 | 來(lái)源:信息時(shí)代
時(shí)間:2022-02-16 11:06:01 來(lái)源:信息時(shí)代
應(yīng)用
結(jié)構(gòu)化查詢語(yǔ)言SQL(STRUCTUREDQUERYLANGUAGE)是最重要的關(guān)系數(shù)據(jù)庫(kù)操作語(yǔ)言,并且它的影響已經(jīng)超出數(shù)據(jù)庫(kù)領(lǐng)域,得到其他領(lǐng)域的重視和采用,如人工智能領(lǐng)域的數(shù)據(jù)檢索,第四代軟件開(kāi)發(fā)工具中嵌入SQL的語(yǔ)言等。
支持標(biāo)準(zhǔn)
SQL是1986年10月由美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)通過(guò)的數(shù)據(jù)庫(kù)語(yǔ)言美國(guó)標(biāo)準(zhǔn),接著,國(guó)際標(biāo)準(zhǔn)化組織(ISO)頒布了SQL正式國(guó)際標(biāo)準(zhǔn)。1989年4月,ISO提出了具有完整性特征的SQL89標(biāo)準(zhǔn),1992年11月又公布了SQL92標(biāo)準(zhǔn),在此標(biāo)準(zhǔn)中,把數(shù)據(jù)庫(kù)分為三個(gè)級(jí)別:基本集、標(biāo)準(zhǔn)集和完全集。
其他版本
各種不同的數(shù)據(jù)庫(kù)對(duì)SQL語(yǔ)言的支持與標(biāo)準(zhǔn)存在著細(xì)微的不同,這是因?yàn)?,有的產(chǎn)品的開(kāi)發(fā)先于標(biāo)準(zhǔn)的公布,另外,各產(chǎn)品開(kāi)發(fā)商為了達(dá)到特殊的性能或新的特性,需要對(duì)標(biāo)準(zhǔn)進(jìn)行擴(kuò)展。已有100多種遍布在從微機(jī)到大型機(jī)上的數(shù)據(jù)庫(kù)產(chǎn)品SQL,其中包括DB2、SQL/DS、ORACLE、INGRES、SYBASE、SQLSERVER、DBASEⅣ、PARADOX、MICROSOFTACCESS等。
SQL語(yǔ)言基本上獨(dú)立于數(shù)據(jù)庫(kù)本身、使用的機(jī)器、網(wǎng)絡(luò)、操作系統(tǒng),基于SQL的DBMS產(chǎn)品可以運(yùn)行在從個(gè)人機(jī)、工作站到基于局域網(wǎng)、小型機(jī)和大型機(jī)的各種計(jì)算機(jī)系統(tǒng)上,具有良好的可移植性??梢钥闯鰳?biāo)準(zhǔn)化的工作是很有意義的。早在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)境的共享與移植。
1974年,在IBM公司圣約瑟研究實(shí)驗(yàn)室研制的大型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SYSTEMR中,使用SEQUEL語(yǔ)言(由BOYCE和CHAMBERLIN提出),后來(lái)在SEQUEL的基礎(chǔ)上發(fā)展了SQL語(yǔ)言。SQL語(yǔ)言是一種交互式查詢語(yǔ)言,允許用戶直接查詢存儲(chǔ)數(shù)據(jù),但它不是完整的程序語(yǔ)言,如它沒(méi)有DO或FOR類似的循環(huán)語(yǔ)句,但它可以嵌入到另一種語(yǔ)言中,也可以借用VB、C、JAVA等語(yǔ)言,通過(guò)調(diào)用級(jí)接口(CALLLEVELINTERFACE)直接發(fā)送到數(shù)據(jù)庫(kù)管理系統(tǒng)。SQL基本上是域關(guān)系演算,但可以實(shí)現(xiàn)關(guān)系代數(shù)操作。