時(shí)間:2022-12-25 04:30:01 | 來(lái)源:信息時(shí)代
時(shí)間:2022-12-25 04:30:01 來(lái)源:信息時(shí)代
關(guān)系數(shù)據(jù)庫(kù)基礎(chǔ)標(biāo)準(zhǔn) : 關(guān)系數(shù)據(jù)庫(kù)軟件遵循的以關(guān)系理論及其支持的數(shù)據(jù)模型為基礎(chǔ)的部分技術(shù)標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)目前是由國(guó)際標(biāo)準(zhǔn)化組織的ISO/IEC JTC1/SC32下屬第三工作組WG3負(fù)責(zé)制定的。該工作組研究制訂了關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言SQL的一個(gè)系列標(biāo)準(zhǔn),其目前的總標(biāo)題為“信息技術(shù)—數(shù)據(jù)庫(kù)語(yǔ)言SQL”,標(biāo)準(zhǔn)號(hào)為ISO/IEC 9075,通常稱其為SQL標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)的目的是指導(dǎo)和規(guī)范關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)軟件的研制和開發(fā),促進(jìn)數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用。
SQL標(biāo)準(zhǔn)的發(fā)展是伴隨著關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)軟件的研發(fā)和走向市場(chǎng)而產(chǎn)生和發(fā)展的。20世紀(jì)80年代,美國(guó)的一些計(jì)算機(jī)公司和軟件公司研究開發(fā)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)軟件,并在商業(yè)領(lǐng)域應(yīng)用而受到用戶的歡迎。于是,1986年10月美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)(American National Standard Institute,ANSI)的數(shù)據(jù)庫(kù)委員會(huì)X3H2研究發(fā)布了美國(guó)國(guó)家標(biāo)準(zhǔn): 數(shù)據(jù)庫(kù)語(yǔ)言SQL。緊接著國(guó)際標(biāo)準(zhǔn)化組織于第二年也采納發(fā)布了這一標(biāo)準(zhǔn),即《ISO/IEC 9075:1987信息處理系統(tǒng)—數(shù)據(jù)庫(kù)語(yǔ)言SQL》。這就是最早的SQL國(guó)際標(biāo)準(zhǔn)文本,通常也簡(jiǎn)稱為SQL86。
SQL標(biāo)準(zhǔn)的發(fā)布和它產(chǎn)生的影響在當(dāng)時(shí)遠(yuǎn)遠(yuǎn)超出了數(shù)據(jù)庫(kù)領(lǐng)域。SQL標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)庫(kù)語(yǔ)言具有當(dāng)時(shí)軟件行業(yè)所謂第四代語(yǔ)言的風(fēng)范,它具有接近自然語(yǔ)言,簡(jiǎn)潔易學(xué)、使用方便、功能豐富、操作靈活等許多特點(diǎn),受到計(jì)算機(jī)用戶和軟件業(yè)界的關(guān)注,從而推動(dòng)了圍繞著SQL的大量研究和應(yīng)用的開拓工作,也使得數(shù)據(jù)庫(kù)技術(shù)有了飛速的發(fā)展。為了使SQL語(yǔ)言的功能更加完備,SQL標(biāo)準(zhǔn)的制定者不斷對(duì)其修訂和完善。到1989年ISO/IEC又發(fā)布了《ISO/IEC 9075:1989信息處理系統(tǒng)—數(shù)據(jù)庫(kù)語(yǔ)言具有完整性增強(qiáng)特征的SQL》。這個(gè)標(biāo)準(zhǔn)替代了原來(lái)的SQL86,簡(jiǎn)稱為SQL89,有時(shí)也稱為SQL1。
SQL89標(biāo)準(zhǔn)的內(nèi)容基本上包括了關(guān)系理論支持的數(shù)據(jù)模型所能實(shí)現(xiàn)的功能特征。標(biāo)準(zhǔn)在數(shù)據(jù)類型方面規(guī)定有常規(guī)的幾種數(shù)字和字符串的基本類型;數(shù)據(jù)定義提供有表定義、索引定義、視圖定義; 在數(shù)據(jù)操縱方面提供有查詢、連接方式、謂詞、插入、刪除、修改、分類、統(tǒng)計(jì)、集函數(shù)等豐富功能; 在數(shù)據(jù)訪問控制方面規(guī)定有授權(quán)的安全性機(jī)制,具備斷言、觸發(fā)的完整性控制,以及并發(fā)和恢復(fù)的事務(wù)處理控制; 在支持應(yīng)用與數(shù)據(jù)交換方面提供游標(biāo)、SQL與幾個(gè)主語(yǔ)言的綁定方式; 在信息與定義模式方面支持系統(tǒng)的數(shù)據(jù)字典。SQL89標(biāo)準(zhǔn)奠定了關(guān)系數(shù)據(jù)庫(kù)軟件功能規(guī)范的基礎(chǔ),在其后SQL標(biāo)準(zhǔn)的不斷變更中也被得到了充分的遵從和認(rèn)可。
從SQL89標(biāo)準(zhǔn)發(fā)布之后到現(xiàn)在,ISO/IEC已經(jīng)又對(duì)SQL標(biāo)準(zhǔn)經(jīng)過(guò)了三次修訂發(fā)布。1992年發(fā)布了SQL92,也稱SQL2。1999年發(fā)布了SQL99,也稱SQL3。2003年發(fā)布了SQL2003,也稱SQL4。目前的SQL5是在2008年發(fā)布的,即SQL2008。
SQL92是在SQL89的基礎(chǔ)上開始向應(yīng)用擴(kuò)展的。這種擴(kuò)展既包括增強(qiáng)已有的特征,又包括定義了許多新的特征,以適應(yīng)發(fā)展變化中的技術(shù)環(huán)境和新技術(shù)的應(yīng)用市場(chǎng)。如,SQL92針對(duì)分布式網(wǎng)絡(luò)環(huán)境,增加了日期、時(shí)間戳和可變長(zhǎng)字符串、位串、民族字符串等一些數(shù)據(jù)類型及支持?jǐn)?shù)據(jù)類型變換的設(shè)施; 支持遠(yuǎn)程數(shù)據(jù)庫(kù)訪問所要求的特定設(shè)施,包括連接管理和受限的模式;增加支持信息模式定義、模式中的域定義、模式的操縱等能力; 增加了集合操作的聯(lián)結(jié)方式;支持SQL語(yǔ)言的動(dòng)態(tài)執(zhí)行、臨時(shí)表、滾動(dòng)游標(biāo)等設(shè)施; 在應(yīng)用與數(shù)據(jù)交換方面增加了與更多主語(yǔ)言的綁定,還支持診斷、模塊、例程、調(diào)用、存儲(chǔ)過(guò)程、連接、會(huì)話、SQL直接調(diào)用等多項(xiàng)功能。顯然,SQL92標(biāo)準(zhǔn)所規(guī)定的這些特征使SQL語(yǔ)言功能的完備性得到了很大的增強(qiáng)。
在SQL92之后,SQL標(biāo)準(zhǔn)的內(nèi)容、組成結(jié)構(gòu)及一致性開始發(fā)生了較大的變化。SQL99增加了對(duì)象-關(guān)系特征,目的是在單個(gè)語(yǔ)言中集成對(duì)象與關(guān)系的概念。為此,SQL99標(biāo)準(zhǔn)增加了專門的數(shù)據(jù)類型和設(shè)施,如,用戶定義類型、函數(shù)、過(guò)程和方法,支持大對(duì)象數(shù)據(jù)類型,以及復(fù)雜對(duì)象的建模功能,用表層次表示復(fù)雜數(shù)據(jù)關(guān)聯(lián)的方法等等。同時(shí)還準(zhǔn)備制訂對(duì)象語(yǔ)言綁定標(biāo)準(zhǔn)作為SQL標(biāo)準(zhǔn)的一個(gè)部分。到SQL2003,繼續(xù)在擴(kuò)展對(duì)象技術(shù)設(shè)施,完成了對(duì)象語(yǔ)言綁定標(biāo)準(zhǔn),也制訂發(fā)布了Java例程和類型。同時(shí)也考慮了與XML技術(shù)的結(jié)合,制訂發(fā)布了XML相關(guān)的規(guī)范。目前還在制訂中的SQL5仍然離不開對(duì)象技術(shù)和XML應(yīng)用相關(guān)規(guī)范的擴(kuò)展。
SQL標(biāo)準(zhǔn)已經(jīng)是一個(gè)龐大的系列標(biāo)準(zhǔn)。這個(gè)系列在制訂發(fā)布SQL92時(shí)開始提出五個(gè)部分,到SQL99發(fā)布時(shí)才完成,它們依次分別是:第1部分:框架(SQL/ framework); 第2部分: 基礎(chǔ)(SQL/foundation); 第3部分: 調(diào)用層接口(SQL/CLI): 第4部分: 持久存儲(chǔ)模塊(SQL/PSM)和第5部分: 宿主語(yǔ)言綁定(SQL/bindings)。后來(lái)發(fā)布的SQL2003,又增加了第9部分: 外部數(shù)據(jù)管理(SQL/MED);第10部分:對(duì)象語(yǔ)言綁定(SQL/OLB);第11部分:信息和定義模式(SQL//schemata); 第13部分:Java例程和類型(SQL/JRT)和第14部分:XML相關(guān)的規(guī)范(SQL/XML)。SQL2008對(duì)上述這些部分又都進(jìn)行了增補(bǔ)修訂。
在上述系列中除前五個(gè)部分之外,其后部分的編號(hào)并不連續(xù),表明原計(jì)劃中的標(biāo)準(zhǔn)項(xiàng)目后來(lái)被取消。而后面增添的標(biāo)準(zhǔn)都會(huì)要求前面的,如框架、基礎(chǔ)等部分來(lái)支持新增加的內(nèi)容,以適應(yīng)其變化。
龐大的SQL系列標(biāo)準(zhǔn)的一致性是一個(gè)值得關(guān)注的問題。為了檢驗(yàn)SQL實(shí)現(xiàn)與SQL標(biāo)準(zhǔn)的一致性,SQL92標(biāo)準(zhǔn)規(guī)定將其按功能劃分三個(gè)級(jí)別: 即初級(jí)、中級(jí)和完全級(jí)。完全級(jí)是中級(jí)的超集,中級(jí)是初級(jí)的超集。而初級(jí)則是原SQL89的超集。后來(lái),美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)提出了在初級(jí)與中級(jí)之間增加一個(gè)過(guò)渡級(jí),它屬中級(jí)的子集,并在聯(lián)邦信息處理標(biāo)準(zhǔn)出版物(FIPS PUBS) FIPS-127-2公布了對(duì)應(yīng)于過(guò)渡級(jí)的一致性測(cè)試基準(zhǔn)程序套件。但是,由于市場(chǎng)上最流行的SQL實(shí)現(xiàn)并非都能達(dá)到SQL92標(biāo)準(zhǔn)規(guī)定的完全集,所以,從SQL99到SQL2003,標(biāo)準(zhǔn)的一致性只劃分為核心SQL和擴(kuò)展SQL兩個(gè)級(jí)。核心SQL是產(chǎn)品與標(biāo)準(zhǔn)一致性的最低級(jí)別,擴(kuò)展SQL是在核心SQL的基礎(chǔ)上再自行選擇若干附加特征。然而,目前的SQL標(biāo)準(zhǔn)與市場(chǎng)產(chǎn)品系統(tǒng)的實(shí)現(xiàn)之間,一般關(guān)系特征的一致性都已滿足。但各供應(yīng)商為擴(kuò)大各自的應(yīng)用市場(chǎng),從不斷擴(kuò)展的應(yīng)用技術(shù)領(lǐng)域提出擴(kuò)充制訂的一些SQL標(biāo)準(zhǔn),就供應(yīng)商本身各自提供的產(chǎn)品之間也存在著越來(lái)越大的差異,而SQL標(biāo)準(zhǔn)的作用似乎讓人產(chǎn)生新的認(rèn)識(shí)。
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。