版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
AnIntroductiontoDatabaseSystem中國(guó)人民大學(xué)信息學(xué)院
王珊數(shù)據(jù)庫(kù)系統(tǒng)概論AnIntroductiontoDatabaseSystem第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQLAnIntroductiontoDatabaseSystem第三章
關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL3.1SQL概述3.2學(xué)生-課程數(shù)據(jù)庫(kù)3.3數(shù)據(jù)定義3.4數(shù)據(jù)查詢(xún)3.5數(shù)據(jù)更新3.6視圖3.7小結(jié)AnIntroductiontoDatabaseSystem關(guān)系數(shù)據(jù)庫(kù)的3級(jí)模式結(jié)構(gòu)SQL視圖2視圖1基本表2基本表1基本表3基本表4存儲(chǔ)文件2存儲(chǔ)文件1外模式模式內(nèi)模式復(fù)習(xí)第1章外模式—視圖+部分基本表
3級(jí)模式的概念:模式——基本表
內(nèi)模式—存儲(chǔ)文件AnIntroductiontoDatabaseSystem關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)基本表本身獨(dú)立存在的表SQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)基本表一個(gè)(或多個(gè))基本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件一個(gè)表可以帶若干索引存儲(chǔ)文件邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫(kù)的內(nèi)模式物理結(jié)構(gòu)是任意的,對(duì)用戶透明視圖從一個(gè)或幾個(gè)基本表導(dǎo)出的表數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù)視圖是一個(gè)虛表用戶可以在視圖上再定義視圖AnIntroductiontoDatabaseSystem3.3數(shù)據(jù)定義3.3.1模式的定義與刪除3.3.2基本表的定義、刪除與修改3.3.3索引的建立與刪除SequentialFile201040306050807010090SequentialFile按照某個(gè)屬性排序的文件順序文件上的索引SequentialFile201040306050807010090稠密索引(DenseIndex)102030405060708090100110120OneitemforeachRecordItem:(Searchkey,pointertorecord)B樹(shù)和B+樹(shù)B樹(shù)能自動(dòng)保持與數(shù)據(jù)文件大小適應(yīng)的索引層次平衡樹(shù)能對(duì)所使用的存儲(chǔ)空間進(jìn)行管理,使每個(gè)塊處于全滿半滿之間B+樹(shù)特殊的B樹(shù),內(nèi)部結(jié)點(diǎn)只存儲(chǔ)索引塊葉結(jié)點(diǎn)用指針連接4.3.1B+樹(shù)指向碼值為
31的記錄指向碼值為
37的記錄指向碼值為
41的記錄指向順序集上的
下一個(gè)葉結(jié)點(diǎn)典型的葉結(jié)點(diǎn)指向碼值
K<23指向碼值
23≤K<31指向碼值
31≤K<43指向碼值
K≥43典型的非葉結(jié)點(diǎn)參數(shù)n=3:每個(gè)塊存放碼值的最大個(gè)數(shù):3最小碼數(shù):m最小指針數(shù):pB+樹(shù)指針和碼的數(shù)量最大指針數(shù)最大碼數(shù)最小指針數(shù)(指向數(shù)據(jù))最小碼數(shù)內(nèi)部結(jié)點(diǎn)n+1n(n+1)/2(n+1)/2-1葉結(jié)點(diǎn)n+1n(n+1)/2(n+1)/2根結(jié)點(diǎn)n+1n11AnIntroductiontoDatabaseSystemB+樹(shù)中的查找查找鍵為37的記錄13<3731<37<43找到37鍵值為37的記錄IO數(shù):4若把第一、第二層結(jié)點(diǎn)保存在緩沖區(qū)
IO數(shù):2AnIntroductiontoDatabaseSystemB+樹(shù)中的查找(若索引塊全在磁盤(pán))查找鍵為37的記錄讀入root節(jié)點(diǎn),IO=1根據(jù)條件13<37,讀取下一節(jié)點(diǎn)塊讀入下一節(jié)點(diǎn),IO=2根據(jù)條件31<37<43,讀取下一節(jié)點(diǎn)塊讀入下一節(jié)點(diǎn),IO=3,找到鍵值37,讀取記錄指針,讀取記錄所在的塊MainMemoryDisk讀入數(shù)據(jù)塊,IO=4,根據(jù)記錄指針找到鍵值為37的記錄AnIntroductiontoDatabaseSystemB+樹(shù)中的查找
(若第一、二層索引塊在內(nèi)存)查找鍵為37的記錄讀取root節(jié)點(diǎn),根據(jù)條件13<37,讀取下一節(jié)點(diǎn)塊讀取下一節(jié)點(diǎn),根據(jù)條件31<37<43,讀取下一節(jié)點(diǎn)塊讀入下一節(jié)點(diǎn),IO=1,找到鍵值37,讀取記錄指針,讀取記錄所在的塊MainMemoryDisk讀入數(shù)據(jù)塊,IO=2,根據(jù)記錄指針找到鍵值為37的記錄B+樹(shù)的插入三種情況:葉結(jié)點(diǎn)滿內(nèi)部結(jié)點(diǎn)滿動(dòng)作否否把碼放在葉結(jié)點(diǎn)合適的位置是否1.分裂葉結(jié)點(diǎn)2.把碼的中間值放在內(nèi)部結(jié)點(diǎn)合適的位置3.左側(cè)的葉結(jié)點(diǎn)包括小于中間值的碼4.右側(cè)的葉結(jié)點(diǎn)包括大于或等于中間值的碼是是1.分裂葉節(jié)點(diǎn)2.左側(cè)的葉結(jié)點(diǎn)包括小于中間值的碼3.右側(cè)的葉結(jié)點(diǎn)包括大于或等于中間值的碼4.分裂內(nèi)部結(jié)點(diǎn)5.左側(cè)的內(nèi)部結(jié)點(diǎn)包括小于中間值的碼6.右側(cè)的內(nèi)部結(jié)點(diǎn)包括大于中間值的碼7.把碼的中間值放在上一級(jí)內(nèi)部結(jié)點(diǎn)合適的位置如果上一級(jí)內(nèi)部結(jié)點(diǎn)已滿,則繼續(xù)分裂上一級(jí)結(jié)點(diǎn)B+樹(shù)的插入插入碼40
(屬于情況3)401.分裂葉結(jié)點(diǎn)2.碼中間值上提
分裂內(nèi)部結(jié)點(diǎn)3.碼中間值上提(40,b)B+樹(shù)的插入插入碼40
(屬于情況3)1.分裂葉結(jié)點(diǎn)2.碼中間值上提
分裂內(nèi)部結(jié)點(diǎn)3.碼中間值上提13>4031<40<434041葉結(jié)點(diǎn)滿4340B+樹(shù)的刪除三種情況:葉結(jié)點(diǎn)小于最小充滿度內(nèi)部結(jié)點(diǎn)小于最小充滿度動(dòng)作否否1.刪除葉結(jié)點(diǎn)中的碼2.對(duì)碼重新排序3.如果碼在上一級(jí)內(nèi)部結(jié)點(diǎn)出現(xiàn),則用下一個(gè)碼替換是否1.組合葉結(jié)點(diǎn)和它的兄弟結(jié)點(diǎn)2.相應(yīng)更改內(nèi)部結(jié)點(diǎn)以反映這種改變是是1.組合葉結(jié)點(diǎn)和它的兄弟結(jié)點(diǎn)2.相應(yīng)更改內(nèi)部結(jié)點(diǎn)以反映這種改變3.組合內(nèi)部結(jié)點(diǎn)和它的兄弟結(jié)點(diǎn)
繼續(xù)組合內(nèi)部結(jié)點(diǎn),直到找到一個(gè)滿足充滿度的結(jié)點(diǎn)或者到達(dá)根結(jié)點(diǎn)B+樹(shù)的刪除刪除碼7(屬于情況2)551.組合葉結(jié)點(diǎn)2.更改內(nèi)部結(jié)點(diǎn)以反映這種改變B+樹(shù)的刪除-刪除碼77<137<=74143577刪除碼7(屬于情況2)1.組合葉結(jié)點(diǎn)2.更改內(nèi)部結(jié)點(diǎn)以反映這種改變5B+樹(shù)的刪除刪除碼11(屬于情況3,需要遞歸更改內(nèi)部結(jié)點(diǎn))1.組合葉結(jié)點(diǎn)5132.更改內(nèi)部結(jié)點(diǎn)以反映這種改變(需要遞歸)233143B+樹(shù)的刪除-刪除碼1111<135<11414351.組合葉結(jié)點(diǎn)2.更改內(nèi)部結(jié)點(diǎn)以反映這種改變5133123刪除碼11(屬于情況3,需要遞歸更改內(nèi)部結(jié)點(diǎn))1113AnIntroductiontoDatabaseSystem3.4數(shù)據(jù)查詢(xún)3.4.1單表查詢(xún)3.4.2連接查詢(xún)3.4.3嵌套查詢(xún)3.4.4集合查詢(xún)3.4.5Select語(yǔ)句的一般形式
AnIntroductiontoDatabaseSystem一、等值與非等值連接查詢(xún)等值連接:連接運(yùn)算符為=[例33]查詢(xún)每個(gè)學(xué)生及其選修課程的情況
SELECTStudent.*,SC.* FROMStudent,SC WHEREStudent.Sno=SC.Sno;
/*連接謂詞*/AnIntroductiontoDatabaseSystem等值與非等值連接查詢(xún)(續(xù))Student.SnoSnameSsexSageSdeptSC.SnoCnoGrade200215121李勇男20CS200215121192200215121李勇男20CS200215121285200215121李勇男20CS200215121388200215122劉晨女19CS200215122290200215122劉晨女19CS200215122380查詢(xún)結(jié)果:AnIntroductiontoDatabaseSystem等值與非等值連接查詢(xún)(續(xù))自然連接:[例34]對(duì)[例33]用自然連接完成。
SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,
Cno,GradeFROMStudent,SCWHEREStudent.Sno=SC.Sno;AnIntroductiontoDatabaseSystem連接操作的執(zhí)行:嵌套循環(huán)法(NESTED-LOOP)
select*froms,spjwheres.sno=spj.sno;S表SNOSNAMESTATUSCITYS1精益20天津S2盛錫10北京S3東方紅30北京S4豐泰盛20天津S5為民30上海SPJ表SNOPNOJNOQTYS1P1J1200S2P1J3100S1P1J4700S1P2J2100S2P3J1400S2P3J2200S2P3J4500S2P3J5400S2P5J1400S2P5J2100S5P1J1200S3P3J1200S4P5J1100S4P6J3300S4P6J4200S3P2J4100S5P3J1200S1P6J2200S5P6J4500resultsSNOSNAMECITYQTYS1精益天津200S1精益天津700S1精益天津100S1精益天津200S2盛錫北京100……AnIntroductiontoDatabaseSystem連接操作的執(zhí)行過(guò)程嵌套循環(huán)法(NESTED-LOOP)首先在表1中找到第一個(gè)元組,然后從頭開(kāi)始掃描表2,逐一查找滿足連接件的元組,找到后就將表1中的第一個(gè)元組與該元組拼接起來(lái),形成結(jié)果表中一個(gè)元組。表2全部查找完后,再找表1中第二個(gè)元組,然后再?gòu)念^開(kāi)始掃描表2,逐一查找滿足連接條件的元組,找到后就將表1中的第二個(gè)元組與該元組拼接起來(lái),形成結(jié)果表中一個(gè)元組。重復(fù)上述操作,直到表1中的全部元組都處理完畢
AnIntroductiontoDatabaseSystem連接操作的執(zhí)行:排序合并法(SORT-MERGE)S表SNOSNAMESTATUSCITYS1精益20天津S2盛錫10北京S3東方紅30北京S4豐泰盛20天津S5為民30上海SPJ表SNOPNOJNOQTYS1P1J1200S1P1J3100S1P1J4700S1P2J2100S2P3J1400S2P3J2200S2P3J4500S2P3J5400S2P5J1400S2P5J2100S3P1J1200S3P3J1200S4P5J1100S4P6J3300S4P6J4200S5P2J4100S5P3J1200S5P6J2200S5P6J4500resultsSNOSNAMECITYQTYS1精益天津200S1精益天津700S1精益天津100S1精益天津200S2盛錫北京100……AnIntroductiontoDatabaseSystem排序合并法(SORT-MERGE)常用于=連接首先按連接屬性對(duì)表1和表2排序?qū)Ρ?的第一個(gè)元組,從頭開(kāi)始掃描表2,順序查找滿足連接條件的元組,找到后就將表1中的第一個(gè)元組與該元組拼接起來(lái),形成結(jié)果表中一個(gè)元組。當(dāng)遇到表2中第一條大于表1連接字段值的元組時(shí),對(duì)表2的查詢(xún)不再繼續(xù)AnIntroductiontoDatabaseSystem排序合并法找到表1的第二條元組,然后從剛才的中斷點(diǎn)處繼續(xù)順序掃描表2,查找滿足連接條件的元組,找到后就將表1中的第一個(gè)元組與該元組拼接起來(lái),形成結(jié)果表中一個(gè)元組。直接遇到表2中大于表1連接字段值的元組時(shí),對(duì)表2的查詢(xún)不再繼續(xù)重復(fù)上述操作,直到表1或表2中的全部元組都處理完畢為止
AnIntroductiontoDatabaseSystem索引連接(INDEX-JOIN)
select*froms,spjwheres.sno=spj.sno;S表SNOSNAMESTATUSCITYS1精益20天津S2盛錫10北京S3東方紅30北京S4豐泰盛20天津S5為民30上海SPJ表SNOPNOJNOQTYS1P1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 綜合制劑車(chē)間課程設(shè)計(jì)
- 中西醫(yī)助理醫(yī)師考試中醫(yī)內(nèi)科學(xué)總結(jié)要點(diǎn)大全
- 自然大調(diào)音階的課程設(shè)計(jì)
- 中考英語(yǔ)各種題材閱讀理解強(qiáng)化訓(xùn)練(附詳解)
- 學(xué)年論文和課程設(shè)計(jì)
- (CFG及真空聯(lián)合堆載預(yù)壓)軟基處理施工方案
- 《機(jī)械通氣的應(yīng)用》課件
- 油庫(kù)課程設(shè)計(jì)書(shū)封面圖案
- 模擬電子琴設(shè)計(jì)課程設(shè)計(jì)
- 知識(shí)產(chǎn)權(quán)活動(dòng)課程設(shè)計(jì)
- 汽車(chē)電器DFMEA-空調(diào)冷暖裝置
- 河北省滄州市2023-2024學(xué)年高一上學(xué)期期末考試語(yǔ)文試題(含答案解析)
- 2024屆四川省成都市中考數(shù)學(xué)第一輪復(fù)習(xí)之中考考點(diǎn)研究《一次函數(shù)與反比例函數(shù)綜合問(wèn)題》教學(xué)
- 2023AECOPD診治中國(guó)專(zhuān)家共識(shí)
- (正式版)JBT 14682-2024 多關(guān)節(jié)機(jī)器人用伺服電動(dòng)機(jī)技術(shù)規(guī)范
- (2024年)(完整版)24式太極拳教案全集
- 2024年職業(yè)衛(wèi)生技術(shù)人員評(píng)價(jià)方向考試題庫(kù)附答案
- 醫(yī)院與藥企合作開(kāi)展臨床研究
- -如何上好一堂課
- 采購(gòu)管理實(shí)務(wù)(高職)全套教學(xué)課件
- 小學(xué)奧數(shù)題庫(kù)《幾何》-直線型-一半模型-3星題(含解析)全國(guó)通用版
評(píng)論
0/150
提交評(píng)論