數(shù)據(jù)庫課程設(shè)計實驗報告_第1頁
數(shù)據(jù)庫課程設(shè)計實驗報告_第2頁
數(shù)據(jù)庫課程設(shè)計實驗報告_第3頁
數(shù)據(jù)庫課程設(shè)計實驗報告_第4頁
數(shù)據(jù)庫課程設(shè)計實驗報告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

之DBMS制作(結(jié)構(gòu)與SQL語句實現(xiàn)CS4 徐凱一 實驗概 實驗?zāi)?實驗環(huán) 主要任 二 結(jié) 主數(shù)據(jù)結(jié) 概 實 效 Index結(jié) 概 實 效 View結(jié) 概 實 效 回收站結(jié) 概 實 工作區(qū)結(jié) 概 實 三 SQL實 四 心得體 五 參 一、實驗概操作系統(tǒng):WindowsXP開發(fā)工具:Eclipse3.2.1JDK使用到的其他工具:dom4j構(gòu)建數(shù)據(jù)庫管理系統(tǒng)的底層結(jié)構(gòu)二、結(jié)概XML,這款強大的數(shù)據(jù)描述語言。XMLEXtensibleMarkupLanguage,翻譯為可擴展置標(biāo)語言,可擴展標(biāo)記語擇國際通用的標(biāo)記語言,比如HTML,也可以使用象XML這樣由相關(guān)自由決定修改出來的。它主要用到的有XML、XSL、XBRLXPath等。實SAX的觸發(fā)的解析,對于頻繁的讀寫,修改操作是不適合的。于是基于DOM模型的XML解析方式必然成為最佳的選擇我們用到了DOM4J功能于JDOM類似,但效率更勝一籌的開源XML解析包。在DOM4J的中DOM4J被這樣定義Dom4jisaneasytouse,opensourcelibraryforworkingwithXML,XPathandXSLTontheJavatformusingtheJavaCollectionsFrameworkandwithfullsupportforDOM,SAXandJAXP.我們利用DOM4J實現(xiàn)數(shù)據(jù)的解析和寫回用到的主要API和說明如下表API Helper. Elementelem ment("AnXMLElementanotherElem=elem.addAttribute("title",elem.setText("JavaDMBSwithXMLSAXReadersaxReader=new=XML 以下是一個簡短的例子,用于構(gòu)建XMLdocdocElementroot=doc.addElement("table");table<?xml<?xmlversion="1.0"encoding="UTF-8" 在內(nèi)存中,每張表的列名及其屬性用Table結(jié)構(gòu),而全局的工作區(qū)里的任意時就以的格式保存在DocMapHashMap中。所有的XML效DOMXML解析在讀寫上也比不過SUNDOM4J。Index概我們的IndexB+DBMS的小組不同,我們是自己B+樹。首B+正如其名所暗示的那樣,B+樹把它的塊組織成一棵樹。這棵樹是平衡的,B+3層:根、中間層和葉,但也可對應(yīng)于每一個B+樹索引都有一個參數(shù)n,它決定了B+樹的所有塊的布局。每個塊存放n個可查找鍵值和n+1個指針。在某種意義上講,B+樹的nn+1n取得盡可能大。下面幾個重要的規(guī)則限制B+樹的塊中能出現(xiàn)的東西根節(jié)點中至少有兩個指針被使用所有指針指向位于B+樹下一層的塊nn+1)/2]個指針被使用且指向被使用,則指向具有第i個鍵值的。n+1B少[(n+1)/2]個指針被實際使用。如果j個指針被使用,那該塊中將有j-1個K1,K2,Kj-1B+樹的一部分,一些鍵值小K1B值大小等于K1K2jBKj-1的記錄可以在這一步部分K1Kj-1的記錄可能根本無法通過這B+樹,任一給定節(jié)點的子節(jié)點按從左到右B+樹的結(jié)點,結(jié)B+實首B+B+基礎(chǔ):若處于葉結(jié)點,我們就在其鍵值中查找。若第iKiK1,K2,Kj-1,則依照概述中給出B+樹的查找相當(dāng)簡單,我們在實現(xiàn)的時候沒有使用遞歸,而是使用循環(huán)遍歷找B+B+KB點中的鍵-指針對。然后我們刪除記錄本身并從B+樹種刪除它的鍵-指針對。N做下面兩件事之一,其中有一種情況需要沿著樹往上遞歸地刪除。如果與結(jié)點N相鄰的兄弟中有一個鍵和指針超過最小數(shù)目,那么它的鍵=指針對可以移到結(jié)點N中并保持鍵的順序。結(jié)點N的父結(jié)點的鍵可能需要調(diào)整以反映這個新的情況。例如,如果結(jié)點NMMNMMN示通過M可到的最小鍵,該鍵必須被提升。最的情況是當(dāng)相鄰的兩個兄弟中沒有一個能提供額外的鍵給結(jié)點N時不過,NM,其中一個的鍵數(shù)少于最小數(shù),而B+B+PointNode是葉結(jié)點結(jié)構(gòu),IndexNodeBPlusTree是樹結(jié)構(gòu),含有樹根節(jié)點(IndexNode)和其他一些成員,Compare是用于然后是IndexB+index效也B+樹的效率。以下的調(diào)試充分說明問題:KEYNAME。SELECT* SELECT* *******Systeminfo*********Selectcompleted!ID(INT)NAME(STRING)yyutrueID(INT)NAME(STRING)GENDER(BOOLEAN)haytrueID(INT)NAME(STRING)SELECT*SELECT* WHEREID=*******Systeminfo*********Selectcompleted!ID(INT)NAME(STRING)0yyutrueSELECT*SELECT* WHERENAME=*******Systeminfo*********Selectcompleted!ID(INT)NAME(STRING)GENDER(BOOLEAN)0yyutrueView概我ViewViewView

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論