版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
黑龍江大“數(shù)據(jù)庫(kù)系統(tǒng)原理課程設(shè)計(jì)”總結(jié)報(bào)學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)年專(zhuān)計(jì)算機(jī)科學(xué)與技學(xué)報(bào)告日成開(kāi)發(fā)環(huán)開(kāi)發(fā)平臺(tái):Windows開(kāi)發(fā)工具:codeBlocksDBMS系統(tǒng)構(gòu)屬用陸視索DBMS主要功能模SQL語(yǔ)言的詞法和語(yǔ)法分功能介否符合規(guī)范:CreateDropAlterCreateDrop如果不是則輸出輸入格式不對(duì)算法描charconstchar*d1="();";chars[200];intpp=0;p=strtok(s,d1);{elseif(strcmp(p,"INDEX")==0)}elseif(strcmp(p,"INSERT")==0)ch='2';elseif(strcmp(p,"DELETE")==0)ch='3';elseif(strcmp(p,"UPDATE")==0)ch='4';elseif(strcmp(p,"SELECT")==0)ch='5';elseif(strcmp(p,"GRANT")==0)ch='g';elseif(strcmp(p,"REVOKE")==0)ch='r';elseif(strcmp(p,"ALTER")==0){}else{elseif(strcmp(p,"INDEX")==0)}{{}{boolfor(inti=0;i<4;{if(strcmp(p,KEY[i])==0)}{charK[100];}}} N判斷字符串 N判斷字符串Y(5)測(cè)試用例與實(shí)驗(yàn)結(jié)創(chuàng)建數(shù)據(jù)庫(kù)及數(shù)據(jù)操作功功能介相關(guān)理數(shù)據(jù)庫(kù)管理系統(tǒng)是一種和管理數(shù)據(jù)庫(kù)的大型軟件用于建立使用和dbms性和完整性用戶(hù)通過(guò)dbms數(shù)據(jù)庫(kù)中的數(shù)據(jù)數(shù)據(jù)庫(kù)管理員也通過(guò)dbms行數(shù)據(jù)庫(kù)的工作它可使多個(gè)應(yīng)用程序和用戶(hù)用不同的方法在同時(shí)或不同DBMS算法描建立表void{FILE*fp;FILE*fp1;charname[20];charBname[30];{}FILE*fp2;chara[100];{if(strcmp(a,"\n")==0)continue;constchar*d="";char*p;chars[100];p=strtok(a,d);{}}}插入元組voidAdd_Note(){FILE*fp1;fp1=fopen("Input.txt","r");charfindname[20];//表名;fscanf(fp1,"%s",findname);strcat(findname,".txt");FILE*fp2;fp2=fopen(findname,"a+");chara[100];while(fscanf(fp1,"%s",a)!=EOF){fprintf(fp2,"%15s",a);}fprintf(fp2,"\n");fclose(fp1);fclose(fp2);cout<<"添加記錄成功!"<<endl;}實(shí)現(xiàn)刪除元組void{charsx[30];FILE*fp1;charname[20];//表名;boolf;chara[100][100];if(!f)return;intFILE*fp;char*p;chars[100];constchar*d=",\n";p=strtok(s,d);intw=0,t=0;{{}}intintLen=0;//表長(zhǎng);{}for(intk=0;k<=Len;k++){p=strtok(s,d);intC=0;{{}}}}實(shí)現(xiàn)修改數(shù)據(jù)庫(kù)記錄的功能void{charsx[30];charvalue[30];charsx1[30];charvalue1[30];FILE*fp1;charname[20];charss[100];constchar*d1="=";char*p;//p=strtok(ss,d1);p=strtok(ss,d1);//p=strtok(ss,d1);//WHERE//p=strtok(ss,d1);boolf;if(!f)return;intFILE*fp;charchars[100];constchar*d=",\n";p=strtok(s,d);intw=-1,t=0,h=-1;cout<<sx<<""<<sx1<<endl;{{}}int{}intLen=0;{}for(intk=1;k<=Len;{p=strtok(s,d);intC=0;{{}}{char*q;intM=0;q=strtok(s,d);{}}}}實(shí)現(xiàn)在已有的關(guān)系中添加屬性的功能void{charsx[30];FILE*fp1;charname[20];//表名;boolf;if(!f)return;intchara[100][100];intj=1,w=0;FILE*fp;char*p;chars[100];constchar*d="";p=strtok(s,d);{{}}intLen=1;//表長(zhǎng);{}for(intk=0;k<Len;k++){{}{char}p=strtok(s,d);{}}}實(shí)現(xiàn)從已有的關(guān)系中刪除屬性的功能void{charsx[30];FILE*fp1;charname[20];//表名;boolf;chara[100][100];if(!f)return;intFILEchar*p;chars[100];constchar*d=",\n";p=strtok(s,d);intw=0,t=0;{{}}intintLen=0;//表長(zhǎng);{}for(intk=0;k<=Len;k++){p=strtok(s,d);intC=0;{{}}}}程序流程建立相應(yīng)的語(yǔ)句合語(yǔ)句合Y 參數(shù)合參數(shù)合NY實(shí)現(xiàn)輸入數(shù)據(jù)庫(kù)記錄的功N語(yǔ)句合YNY實(shí)現(xiàn)刪除數(shù)據(jù)庫(kù)記錄的功NN語(yǔ)句合Y實(shí)現(xiàn)修改數(shù)據(jù)庫(kù)記錄的功尋找符合修改條實(shí)現(xiàn)在已有的關(guān)系中添加屬性的功實(shí)現(xiàn)從已有的關(guān)系中刪除屬性的功N判斷屬性存N判斷屬性存Y 測(cè)試用例與實(shí)驗(yàn)結(jié)索引的創(chuàng)建及刪功能介createindexINDEX_NAMEondropindex相關(guān)理索使用索引可快速數(shù)據(jù)庫(kù)表中的特定信息索引是對(duì)數(shù)據(jù)庫(kù)表中一列或多列的值進(jìn)行排序索引提供指向在表的指定列中的數(shù)據(jù)值的指針然后根據(jù)您指定的排序順序?qū)@些指針唯一索employee表中職員的姓(lname)上創(chuàng)建了唯一索引,則任何兩個(gè)員工都不能同姓。主鍵索索引要求主鍵中的每個(gè)值都唯一當(dāng)在查詢(xún)中使用主鍵索引時(shí)它還允許對(duì)數(shù)據(jù)的快速索索 索算法描void{FILE*fp1,*fp2;charname[20];//索引名;charcopyname[50];chartable_name[50],tname[50],shuxing[50][50];inti=0;boolf;{}{}charintnum=find_num(tname,shuxing[0]);{}charconstchar*d=",\n";intt=0,j=0;{pstrtok(s,d);//分隔字符串{{}}}{}}(5)測(cè)試用例與實(shí)驗(yàn)結(jié)4詢(xún)功功能介SELECT語(yǔ)句用于從表中選取數(shù)據(jù)。結(jié)果被在一個(gè)結(jié)果表中相關(guān)理積的實(shí)現(xiàn)算法算法定義如FORRrDOFORSsDO連接操作的實(shí)現(xiàn)算法SQLRSSELECTR.*,S.*WHERER.AOO設(shè)M<=Br,M<=Bs,Bs<=Br,在這種情況下,將S分為Bs/(M-1)個(gè)子集合,每個(gè)子集合M-1SBM-1S的主存緩沖區(qū),RBR的主存緩沖算法如下FORi=1TOBs/(M-1)SiSB;FORj=1TOBrDOR的第jRB;FORRBrDOFORSBsIFr.AOs.B THEN(rs)存入結(jié)果關(guān)系;ENDIF;Br(Bs/(M-1))+Bs+BOBoRSO連接結(jié)果的塊數(shù)。連接操作實(shí)現(xiàn)算法輸入:關(guān)系R(A1,A2,…,An),S(B1,B2,…,Bn),連接條件輸出:R與ST。FORtRDOFORsSDOIFt[Ai]=S[Bj] THEN(ts)T;ENDIF;投影操作的實(shí)現(xiàn)算法IIA1,A2,…,Ak(R)R上的投影操作。輸入:具有n輸出:RT=IIA1,A2,…,Ak(R)。FORRrDO {A1,A2,…,Ak}中包含R的鍵屬性 排序TMP;i=1;j=2;WHILE TMP(i)WHILE DOj=j+1;集合的并/交/差的實(shí)現(xiàn)算法并操作輸入:關(guān)系RS,Rn個(gè)元組,Sm個(gè)元組,KRS的鍵。輸出:T=RS。方法KRSI:=1;j:=1;WHILE(i<=n)AND(j<=m) R(i)[K]>S(j)[K] THENS(j)T;j:=j+1;IFR(i)[K]<S(j)[K]THENR(i)ELSER(i)T;i:=i+1;j:=j+1;IFi<=nTHENFORk=ITOnDOR(k)T;ENDIF;IFj<=mTHENFORk=jTOmDOS(k)T;ENDIF;O(BrLogm(Br)BsLogm(Bs)BrBsBr)Br是結(jié)果T的交操作輸入:關(guān)系RS,Rn個(gè)元組,Sm個(gè)元組,KRS的鍵。輸出:T=RS。方法KRSI:=1;j:=1;WHILE(i<=n)AND(j<=m) R(i)[K]>S(j)[K] THENj=j+1;IFR(i)[K]<S(j)[K]THENELSER(i)T;i:=i+1;j:=j+1;O(BrLogm(Br)BsLogm(Bs)BrBsBr)Br是結(jié)果T的差操作輸入:關(guān)系RS,Rn個(gè)元組,Sm個(gè)元組,KRS的鍵。方法KRSI:=1;j:=1;WHILE(i<=n)AND(j<=m) R(i)[K]>S(j)[K] THENj=j+1;IFR(i)[K]<S(j)[K]THENR(i)Ti:=i+1;ELSEi:=i+1;j:=j+1;O(BrLogm(Br)BsLogm(Bs)BrBsBr)Br是結(jié)果T的算法描選擇的實(shí)現(xiàn)算voidChoose(TableT,charshuxing[],charvalue[],charrela[],Table{FILE*fp;boolflag=0;charindex_name[50],a[50],index_shuxing[50];{}}{charb[50];intii;{{table_index[ii].lennum=atoi(b);}else}intindex_length=ii;intCount=0;ii=table_index[ii].lennum-1;for(int{}for(int{}intSsum=0;for(int{if(strcmp(T.table_inf[k].yuanzu[0],value)==0)break;}cout<<endl<<endl<<"不利用索引查詢(xún)時(shí)間為"<<Ssum<<"} 處理{intloc=-1,i;{}{}intk=0;{{for(int{}}}}連接操作的實(shí)現(xiàn)voidLink(TableT3,charshuxing1[],charshuxing2[],Table&res,char{intintloc1=-1;//T1的屬性位置;intloc2=-1;//T2的屬性位置;intk=0; //res的長(zhǎng)度;{{}{}}{}{{for(int{}}}投影操作的實(shí)現(xiàn){{voidShadow(charshuxing[][100],TableT,intl,Table{intflag[NN];intk=0;inti=0,sum=0;{for(int{{}}}{}{for(int{{}}}}集合的并/交的實(shí)現(xiàn)算voidUnion(TableT1,TableT2,Table&T3,charboolflag=1;intsum;int for(inti=0;i<T1.len;i++){for(int{for(int{}}for(int{for(int{for(int{{}}}{for(int{}elsefor(int{}}}測(cè)試用例與實(shí)驗(yàn)結(jié)實(shí)現(xiàn)全關(guān)系選擇操作(select*from關(guān)系名測(cè)試數(shù)據(jù)SELECT*FROM結(jié)果截圖實(shí)現(xiàn)單關(guān)系的投影操作。測(cè)試數(shù)據(jù)SELECTSNAMEFROM結(jié)果截圖實(shí)現(xiàn)單關(guān)系的選擇操作(允許多條件測(cè)試數(shù)據(jù)SELECT*FROMSWHERE結(jié)果截圖實(shí)現(xiàn)單關(guān)系的選擇和投影操作(允許多條件。(見(jiàn)下)實(shí)現(xiàn)兩個(gè)關(guān)系和多個(gè)關(guān)系的連接操作(實(shí)現(xiàn)兩個(gè)關(guān)系和多個(gè)關(guān)系的選擇和連接操作。測(cè)試數(shù)據(jù)SELECT*FROMS,CWHEREC.C#=S.SNAMEAND結(jié)果截圖實(shí)現(xiàn)多個(gè)關(guān)系的選擇、投影和連接操作。測(cè)試數(shù)據(jù)SELECTSNAME,SEX,THACHER,AGEFROMS,CWHEREC.C#=S.SNAMEAND結(jié)果截圖3.5詢(xún)優(yōu)功能介通過(guò)改變連接、投影、積的次序以及索引來(lái)實(shí)現(xiàn)優(yōu)化查詢(xún)相關(guān)理1,合理使用索引2,避免或簡(jiǎn)化排3,消除對(duì)大型表行數(shù)據(jù)的順序存4,避免相關(guān)子查5,避免的正則表達(dá)6,使用臨時(shí)表加速查7,用排序來(lái)取代非順序存算法描voidChoose(TableT,charshuxing[],charvalue[],charrela[],Table {FILE*
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遵義市教育體育局直屬事業(yè)單位遵義市體育運(yùn)動(dòng)學(xué)校2025年公開(kāi)招聘事業(yè)單位工作人員備考題庫(kù)及答案詳解參考
- 2026年結(jié)合醫(yī)療細(xì)分領(lǐng)域:如眼科、口腔、心血管等專(zhuān)科設(shè)備服務(wù)合同
- 2025年張家港市第五人民醫(yī)院自主招聘編外合同制衛(wèi)技人員備考題庫(kù)附答案詳解
- 2025年中電科海洋信息技術(shù)研究院有限公司招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 2025年醫(yī)保工作人員年終個(gè)人總結(jié)例文(五篇)
- 交流研討個(gè)人發(fā)言材料
- 國(guó)家知識(shí)產(chǎn)權(quán)局專(zhuān)利局專(zhuān)利審查協(xié)作北京中心福建分中心2026年度行政助理招聘?jìng)淇碱}庫(kù)含答案詳解
- 黑龍江公安警官職業(yè)學(xué)院《德語(yǔ)聽(tīng)力》2025 學(xué)年第二學(xué)期期末試卷
- 2025年阿克蘇市面向社會(huì)公開(kāi)招聘警務(wù)輔助人員備考題庫(kù)及參考答案詳解一套
- 2025年廈門(mén)大學(xué)教育研究院行政秘書(shū)招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 2026富滇銀行公司招聘面試題及答案
- 2025年南京鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 2025年網(wǎng)絡(luò)維護(hù)管理人員工作總結(jié)例文(2篇)
- 城銀清算服務(wù)有限責(zé)任公司2026年校園招聘16人備考題庫(kù)附答案
- 2025年河南豫能控股股份有限公司及所管企業(yè)第二批社會(huì)招聘18人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年《項(xiàng)目管理認(rèn)證考試》知識(shí)考試題庫(kù)及答案解析
- 安徽消防筆試題及答案
- 書(shū)籍借閱營(yíng)銷(xiāo)方案
- 生態(tài)冷鮮牛肉銷(xiāo)售創(chuàng)業(yè)策劃書(shū)范文
- 2025年高級(jí)煤礦綜采安裝拆除作業(yè)人員《理論知識(shí)》考試真題(含解析)
評(píng)論
0/150
提交評(píng)論