資源描述:
《數(shù)據(jù)庫SQL語言課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章SQL語言1本章概要SQL是結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)的縮寫,其功能包括數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制四個(gè)部分。SQL語言簡(jiǎn)潔、方便實(shí)用、功能齊全,已成為目前應(yīng)用最廣的關(guān)系數(shù)據(jù)庫語言。本章要求了解SQL語言的特點(diǎn),掌握SQL語言的四大功能及使用方法,重點(diǎn)掌握其數(shù)據(jù)查詢功能及其使用。23.1SQL語言的基本概念與特點(diǎn)實(shí)例1:大一新生報(bào)到時(shí)需要經(jīng)歷一系列的報(bào)到流程,其中包括建立《學(xué)生信息數(shù)據(jù)庫》,以下是《學(xué)生信息數(shù)據(jù)庫》建立的過程,教務(wù)處從招生就業(yè)處獲得新生錄取
2、數(shù)據(jù)教務(wù)處按專業(yè)整理新生名單,并根據(jù)專業(yè)設(shè)置及錄取人數(shù)制訂分班計(jì)劃教務(wù)處向各系(院)發(fā)送新生名單,系(院)根據(jù)分班計(jì)劃進(jìn)行分班。教務(wù)處根據(jù)系(院)報(bào)送的分班名單整理新生數(shù)據(jù),分派學(xué)號(hào),編制初步的新生名冊(cè)并導(dǎo)入教學(xué)管理系統(tǒng)。新生報(bào)到后,系(院)核對(duì)報(bào)到的新生名單教務(wù)處根據(jù)報(bào)到名單整理新生數(shù)據(jù),建立數(shù)據(jù)庫,統(tǒng)計(jì)各項(xiàng)新生數(shù)據(jù)上報(bào)教育廳新生數(shù)據(jù)并在教育部學(xué)籍學(xué)歷管理平臺(tái)進(jìn)行新生學(xué)籍注冊(cè)教務(wù)處編制正式的新生名冊(cè)并發(fā)送到各系(院)及相關(guān)部門這里,我們假設(shè)建立的是一個(gè)關(guān)系數(shù)據(jù)庫,新生數(shù)據(jù)即是一個(gè)二維表,那么學(xué)生表的結(jié)構(gòu)是什
3、么?包含什么內(nèi)容?33.1SQL語言的基本概念與特點(diǎn)3.1.1SQL語言的發(fā)展及標(biāo)準(zhǔn)化3.1.1.1SQL語言發(fā)展史SQL語言是當(dāng)前最為成功、應(yīng)用最為廣泛的關(guān)系數(shù)據(jù)庫語言,其發(fā)展主要經(jīng)歷了以下幾個(gè)階段:1974年由CHAMBERLIN和BOYEE提出,當(dāng)時(shí)稱為SEQUEL(STUCTUREDENGLISHQUERYLANGUAGE);IBM公司對(duì)其進(jìn)行了修改,并用于其SYSTEMR關(guān)系數(shù)據(jù)庫系統(tǒng)中;1981年IBM推出其商用關(guān)系關(guān)系數(shù)據(jù)庫SQL/DS,并將其名字改為SQL,由于SQL語言功能強(qiáng)大,簡(jiǎn)潔易用,因
4、此得到了廣泛的使用;今天廣泛應(yīng)用于各種大型數(shù)據(jù)庫,如SYBASE、INFORMIX、ORACLE、DB2、INGRES等,也用于各種小型數(shù)據(jù)庫,如FOXPRO、ACCESS。43.1.1.2SQL語言標(biāo)準(zhǔn)化隨著關(guān)系數(shù)據(jù)庫系統(tǒng)和SQL語言應(yīng)用的日益廣泛,SQL語言的標(biāo)準(zhǔn)化工作也在緊張革進(jìn)行著,十多年來已制訂了多個(gè)SQL標(biāo)準(zhǔn);1.1982年,美國國家標(biāo)準(zhǔn)化局(AMERICANNATIONALSTANDARDINSTITUTE,簡(jiǎn)稱ANSI)開始制定SQL標(biāo)準(zhǔn);2.1986年,美國國家標(biāo)準(zhǔn)化協(xié)會(huì)公布了SQL語言的第
5、一個(gè)標(biāo)準(zhǔn)SQL86;3.1987年,國際標(biāo)準(zhǔn)化組織(ISO)通過了SQL86標(biāo)準(zhǔn);4.1989年,國際標(biāo)準(zhǔn)化組織(ISO)對(duì)SQL86進(jìn)行了補(bǔ)充,推出了SQL89標(biāo)準(zhǔn);5.1992年,ISO又推出了SQL92標(biāo)準(zhǔn),也稱為SQL2;6.SQL/99:Corelevel跟其他8種相應(yīng)的level,包括遞歸查詢,程序跟流程控制,基本的對(duì)象(object)支持包括oids;7.SQL/2003:包含了XML相關(guān)內(nèi)容,自動(dòng)生成列值(columnvalues);8.2005-09-30:“Dataisthenextgen
6、erationinside...SQListhenewHTML”!TimO'eilly提出了Web2.0理念,稱數(shù)據(jù)將是核心,SQL將成為“新的HTML";9.SQL/2006:定義了SQL與XML(包含XQuery)的關(guān)聯(lián)應(yīng)用;10.2006:Sun公司將以SQL基礎(chǔ)的數(shù)據(jù)庫管理系統(tǒng)嵌入JavaV6;11.2007:SQLServer2008(Katmi)在過去的SQL2005基礎(chǔ)上增強(qiáng)了它的安全性,主要在:簡(jiǎn)單的數(shù)據(jù)加密,外鍵管理,增強(qiáng)了審查,改進(jìn)了數(shù)據(jù)庫鏡像,加強(qiáng)了可支持性。53.1.2SQL語言的基本
7、概念首先介紹兩個(gè)基本概念:基本表和視圖。基本表(BASETABLE):是獨(dú)立存在的表,不是由其它的表導(dǎo)出的表。一個(gè)關(guān)系對(duì)應(yīng)一個(gè)基本表,一個(gè)或多個(gè)基本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件。視圖(VIEW):是一個(gè)虛擬的表,是從一個(gè)或幾個(gè)基本表導(dǎo)出的表。它本身不獨(dú)立存在于數(shù)據(jù)庫中,數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。當(dāng)基本表中的數(shù)據(jù)發(fā)生變化時(shí),從視圖中查詢出來的數(shù)據(jù)也隨之改變。6例如:學(xué)生數(shù)據(jù)庫中有學(xué)生基本情況表STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT),此
8、表為基本表,對(duì)應(yīng)一個(gè)存儲(chǔ)文件??梢栽谄浠A(chǔ)上定義一個(gè)男生基本情況表STUDENT_MALE(SNO,SNAME,SAGE,SDEPT),它是從STUDENT中選擇SSEX=’男’的各個(gè)行,然后在SNO,SNAME,SAGE,SDEPT上投影得到的。在數(shù)據(jù)庫中只存有STUDENT_MALE的定義,而STUDENT_MALE的記錄不重復(fù)存儲(chǔ)。在用戶看來,視圖是通過不同路徑去看一個(gè)實(shí)際表,就象一個(gè)窗口一樣