




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、-動(dòng)手實(shí)現(xiàn)自己的數(shù)據(jù)庫(kù)管理系統(tǒng)動(dòng)手實(shí)現(xiàn)自己的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)(DBMS)Course InformationLecture files:ftp:/:990/TA:xuqiongkai_Main Reference Books :H. Garcia-Molina, J. D. Ullman, J. Widom. 數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)/class/cs245//PurposeWhat can we learn?1、SQL Operation2、Software Engineering3、Skillfu
2、l Programming Language4、Cooperate with classmateBrief IntroductionWhat is DBMS(Data Base Management System)?What kinds of technology do we have?JavaCompilerOperating systemHow to construct this system?Brief IntroductionBrief IntroductionBasic Idea:用戶端口用戶端口詞法詞法/語(yǔ)法分析語(yǔ)法分析執(zhí)行計(jì)劃生成執(zhí)行計(jì)劃生成執(zhí)行查詢執(zhí)行查詢緩沖區(qū)緩沖區(qū)文件系統(tǒng)文
3、件系統(tǒng)記錄管理記錄管理索引管理索引管理優(yōu)化優(yōu)化海王篇海王篇模塊介紹(1)查詢處理模塊:查詢處理模塊: 完成從SQL語(yǔ)句的字符串到查詢計(jì)劃的翻譯 完成從String-Token-Parser-Execute TreeLexParserExecute Tree GeneratorString(SQL)TokensParser TreeExecute TreeLex/Parser: 使用編譯原理中的技術(shù)即可Execute Tree Generator: 針對(duì)Parser Tree中所有的節(jié)點(diǎn)進(jìn)行翻譯,翻譯為Execute TreeExampleSELECT cno FROM SC WHERE sno
4、 IN (SELECT sno FROM Student WHERE name LIKE wang%);Example模塊介紹(2)查詢計(jì)劃執(zhí)行模塊(查詢計(jì)劃執(zhí)行模塊(Execute Manager):): 將物理查詢計(jì)劃樹翻譯成可執(zhí)行代碼 運(yùn)用關(guān)系代數(shù)翻譯如下操作:運(yùn)用關(guān)系代數(shù)翻譯如下操作:取特定列:條件篩選操作:連接表(翻譯成對(duì)于Tuple or File的操作)模塊介紹(3)存儲(chǔ)管理模塊:存儲(chǔ)管理模塊: 實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)高效的讀寫操作 Execute ManagerRecord ManagerDisk ManagerHardwareExecute CodeRecord Manager:管理對(duì)
5、單條或多條記錄的查詢、修改和管理操作,為上層的執(zhí)行引擎提供接口Disk Manager:管理對(duì)一個(gè)完整磁盤塊的分頁(yè)讀寫機(jī)制,為上層的記錄管理模塊提供讀寫磁盤的接口模塊介紹(4)緩沖管理模塊(緩沖管理模塊(Buffer Manager):): 提高磁盤訪問效率。 Execute ManagerRecord ManagerDisk ManagerHardwareExecute CodeBuffer(1M)問題:1、機(jī)制FIFO 、LRU2、緩沖信息選定模塊介紹(5)用戶交互模塊(用戶交互模塊(Frame):):可以是命令行方式的用戶界面,也可以是圖形用戶界面(GUI)ps:實(shí)用即可用戶管理模塊:用
6、戶管理模塊:需要查詢數(shù)據(jù)字典認(rèn)證權(quán)限后方可登陸執(zhí)行引擎模塊:執(zhí)行引擎模塊:依照流程,按步執(zhí)行各個(gè)模塊 高級(jí)模塊查詢優(yōu)化模塊:查詢優(yōu)化模塊:(估價(jià))(估價(jià))優(yōu)化優(yōu)化高級(jí)模塊查詢優(yōu)化模塊:查詢優(yōu)化模塊:高級(jí)模塊索引模塊:索引模塊:Index高級(jí)模塊索引模塊:索引模塊:(B tree)索引模塊:索引模塊:高級(jí)模塊索引模塊:索引模塊:高級(jí)模塊完整結(jié)構(gòu)(僅供參考)用戶端口用戶端口詞法詞法/語(yǔ)法分析語(yǔ)法分析執(zhí)行計(jì)劃生成執(zhí)行計(jì)劃生成執(zhí)行查詢執(zhí)行查詢緩沖區(qū)緩沖區(qū)文件系統(tǒng)文件系統(tǒng)記錄管理記錄管理索引管理索引管理優(yōu)化優(yōu)化Class: ClientFrameMethods:1、main:用于創(chuàng)建窗體和初始化用于創(chuàng)建
7、窗體和初始化2、showTable:將數(shù)據(jù)顯示到表中將數(shù)據(jù)顯示到表中3、transMessage:轉(zhuǎn)換返回?cái)?shù)據(jù)轉(zhuǎn)換返回?cái)?shù)據(jù)eg:1#12#fdsa3#e2#fdsa2#fdsa2#fdsa2#fdsa2#fdsa2#fdsa!1#12#fdsa3#e2#fdsa2#fdsa2#fdsa2#fdsa2#fdsa2#fdsa!Class: ClientSocketMethods:1、send:發(fā)送消息發(fā)送消息2、receive:接受消息接受消息Class:ServerDriverMethods:1、main:啟動(dòng)啟動(dòng)serverSocket監(jiān)聽端口、設(shè)置服監(jiān)聽端口、設(shè)置服務(wù)器配置參數(shù)務(wù)器配置參數(shù)2
8、、SQLHandler:完成各個(gè)模塊的操作流程控制完成各個(gè)模塊的操作流程控制完整結(jié)構(gòu)(僅供參考)用戶端口用戶端口詞法詞法/語(yǔ)法分析語(yǔ)法分析執(zhí)行計(jì)劃生成執(zhí)行計(jì)劃生成執(zhí)行查詢執(zhí)行查詢緩沖區(qū)緩沖區(qū)文件系統(tǒng)文件系統(tǒng)記錄管理記錄管理索引管理索引管理優(yōu)化優(yōu)化dbms.flex-YyLex.javadbms.cup-parser.javaClass:TranslateMethods:translate:(:(1)調(diào)用)調(diào)用flex生成的詞法分析生成的詞法分析代碼代碼 (2)調(diào)用)調(diào)用cup生成的語(yǔ)法分析生成的語(yǔ)法分析代碼代碼Package:Absyn根據(jù)自己設(shè)計(jì)的根據(jù)自己設(shè)計(jì)的cup改寫改寫完整結(jié)構(gòu)(僅供參
9、考)用戶端口用戶端口詞法詞法/語(yǔ)法分析語(yǔ)法分析執(zhí)行計(jì)劃生成執(zhí)行計(jì)劃生成執(zhí)行查詢執(zhí)行查詢緩沖區(qū)緩沖區(qū)文件系統(tǒng)文件系統(tǒng)記錄管理記錄管理索引管理索引管理優(yōu)化優(yōu)化Class:ExeTreeGeneratorMethods:1、translate:Absyn-ExeTree2、analyse:評(píng)估節(jié)點(diǎn)運(yùn)行所需時(shí)間評(píng)估節(jié)點(diǎn)運(yùn)行所需時(shí)間3、optimize:根據(jù)評(píng)估優(yōu)化根據(jù)評(píng)估優(yōu)化Execute Tree結(jié)構(gòu)結(jié)構(gòu)Package:ExeTreeNode構(gòu)建構(gòu)建Execute Tree中各個(gè)節(jié)點(diǎn)類中各個(gè)節(jié)點(diǎn)類類別包括:類別包括:、等等每個(gè)類提供如下方法:每個(gè)類提供如下方法:1、analyse:遞歸向下調(diào)用:遞歸
10、向下調(diào)用analyse評(píng)估該節(jié)評(píng)估該節(jié)點(diǎn)運(yùn)行時(shí)間點(diǎn)運(yùn)行時(shí)間2、execute:執(zhí)行該節(jié)點(diǎn)操作,調(diào)用各個(gè)文:執(zhí)行該節(jié)點(diǎn)操作,調(diào)用各個(gè)文件系統(tǒng)操作件系統(tǒng)操作Class:ExecuteMethod:execute:遞歸調(diào)用各個(gè)節(jié)點(diǎn)的:遞歸調(diào)用各個(gè)節(jié)點(diǎn)的execute方法方法完整結(jié)構(gòu)(僅供參考)用戶端口用戶端口詞法詞法/語(yǔ)法分析語(yǔ)法分析執(zhí)行計(jì)劃生成執(zhí)行計(jì)劃生成執(zhí)行查詢執(zhí)行查詢緩沖區(qū)緩沖區(qū)文件系統(tǒng)文件系統(tǒng)記錄管理記錄管理索引管理索引管理優(yōu)化優(yōu)化Class:RecordBuffer:Methods:InsertRecord:插入記錄:插入記錄DeleteRecord:刪除記錄:刪除記錄ChangeReco
11、rd:修改記錄:修改記錄Select:替換機(jī)制:替換機(jī)制Class:DiskBuffer:Methods:WritePage:修改頁(yè)內(nèi)容:修改頁(yè)內(nèi)容ClearPage:清除頁(yè):清除頁(yè)Select:替換機(jī)制:替換機(jī)制完整結(jié)構(gòu)(僅供參考)用戶端口用戶端口詞法詞法/語(yǔ)法分析語(yǔ)法分析執(zhí)行計(jì)劃生成執(zhí)行計(jì)劃生成執(zhí)行查詢執(zhí)行查詢緩沖區(qū)緩沖區(qū)文件系統(tǒng)文件系統(tǒng)記錄管理記錄管理索引管理索引管理優(yōu)化優(yōu)化Class:RecordManagerMethods:CreateTable :創(chuàng)建表:創(chuàng)建表DeleteTable :刪除表:刪除表InsertRecord :插入記錄:插入記錄DeleteRecord : 刪除記
12、錄刪除記錄FindRecord :尋找記錄:尋找記錄TrimTable :調(diào)整表結(jié)構(gòu),刪除冗余數(shù):調(diào)整表結(jié)構(gòu),刪除冗余數(shù)據(jù)據(jù)Class:DiskManagerMethods:CreateFile:創(chuàng)建虛擬磁盤:創(chuàng)建虛擬磁盤DestroyFile :刪除虛擬磁盤:刪除虛擬磁盤OpenFile :打開一個(gè)文件,返回一個(gè):打開一個(gè)文件,返回一個(gè)File類的操作柄類的操作柄CloseFile :關(guān)閉一個(gè)文件:關(guān)閉一個(gè)文件WritePage:修改頁(yè)內(nèi)容:修改頁(yè)內(nèi)容DeletePage:刪除頁(yè):刪除頁(yè)其他一、要求一、要求1、由兩到三人(建議三人)組成開發(fā)小組共同完成一個(gè)DBMS項(xiàng)目2、提交報(bào)告時(shí)需要提交源代碼,可執(zhí)行程序,使用說明,各模塊實(shí)現(xiàn)方法及相關(guān)的測(cè)試報(bào)告。3、主要測(cè)試內(nèi)容:DiskManager、RecordManager、BufferManager、Execute Tree(中期檢查)、語(yǔ)句執(zhí)行的正確性和效率等等4、測(cè)試環(huán)境:win7、eclipse+JDK1.6、50M硬盤、1M緩存其他二、時(shí)間安排二、時(shí)間安排第9周:團(tuán)隊(duì)形成 (名單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療領(lǐng)域知識(shí)產(chǎn)權(quán)戰(zhàn)略規(guī)劃-全面剖析
- 噪聲治理法規(guī)與標(biāo)準(zhǔn)制定-全面剖析
- 制造業(yè)客戶質(zhì)量問題處理流程
- 家禽養(yǎng)殖過程中的環(huán)境影響與調(diào)控-全面剖析
- 2025年蘇教版小學(xué)數(shù)學(xué)教學(xué)交流計(jì)劃
- 云服務(wù)環(huán)境下的移動(dòng)數(shù)據(jù)安全傳輸-全面剖析
- 中學(xué)道德與法制課程改革實(shí)施計(jì)劃
- 無機(jī)堿制造業(yè)的政策法規(guī)演變-全面剖析
- 幼兒園親子活動(dòng)實(shí)心球教學(xué)計(jì)劃
- 2025高考漫畫作文:在風(fēng)雨中堅(jiān)韌在陽(yáng)光中歡笑
- 人音版音樂四年級(jí)下冊(cè)《搖籃曲(勃拉姆斯曲)》(說課稿)
- 2023年江蘇省中考數(shù)學(xué)試卷(含解析)完美打印版
- 鳳竹紡織環(huán)境會(huì)計(jì)信息披露對(duì)企業(yè)價(jià)值的影響研究
- 善意的謊言辯論會(huì)反方的資料
- 新型電力系統(tǒng)的認(rèn)識(shí)及分析
- 客戶滿意度調(diào)查分析
- 銀行大堂經(jīng)理服務(wù)培訓(xùn)課件
- GA 294-2023警用防暴頭盔
- 智能語(yǔ)音技術(shù)與應(yīng)用-基于Python實(shí)現(xiàn)(高職)全套教學(xué)課件
- 陜09J01 建筑用料及做法圖集
- (中職) 管理學(xué)基礎(chǔ)(第二版) 章節(jié)習(xí)題及答案
評(píng)論
0/150
提交評(píng)論