2023年新版數據庫概論實驗報告書_第1頁
2023年新版數據庫概論實驗報告書_第2頁
2023年新版數據庫概論實驗報告書_第3頁
2023年新版數據庫概論實驗報告書_第4頁
2023年新版數據庫概論實驗報告書_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《數據庫系統(tǒng)概論》實驗報告書專業(yè)班級網134學號姓名包指導教師周兵安徽工業(yè)大學計算機科學與技術學院。SELECTSNO,CN0,SCOREFROMScoreWHERECNOIN('()01',’003')ANDSCOREBETWEEN80AND90ANDSNOLIKE'96%';例3T6:(匹配查詢)求課程名中包含字符的課程號、課程名和學時數。。SELECTCNO,CNAME,CTIMEFROMCourseWHERECNAMELIKE'%\_%'ESCAPE'\;(point)例3—17:(涉及空值查詢)求缺少學習成績的學生的學號和課程號。。SELECTSNO,CNOFROMScoreWHERESCOREISNULL;例3-18:(控制行的顯示順序)求選修003課程或()04課程的學生的學號、課程號和分數,規(guī)定按課程號升序、分數降序的順序顯示結果。oSELECT*FROMScoreWHERECNOIN('003','004')ORDERBYCNO,SCOREDESC;例3-19:(組函數)求學生總人數。。SELECTCOUNT(*)FROMStudent;例3-20:(組函數)求選修了課程的學生人數。SELECTCOUNT(D1STINCTSNO)FROMScore;例3-21:(組函數)求計算機系學生的平均年齡。SELECTAVG(SAGE)FROMStudentWHERESDEPT='CS’;例3-22:(組函數)求選修了課程001的最高、最低與平均成績。…SELECTMAX(SCORE),MIN(SCORE),AVG(SCORE)FROMScoreWI1ERECN0='001';例3-23:(分組查詢)求各門課程的平均成績與總成績。。SELECTAVG(SCORE),SUM(SCORE)FROMScoreGROUPBYCNO;例3-24:(分組查詢)求各系、各班級的人數和平均年齡。。SELECTCOUNT(SNO),AVG(SAGE)FROMStudentGROUPBYSDEPT,SCLASS;例3-25:(分組查詢)輸入以下查詢語句并執(zhí)行,觀測出現的其結果并分析其因素.SELECTSNAME,SDEPT,COUNT(*)FROMSTUDENTWHERESDEPT='CS'GROLPBYSDEPT;…SELECT列々項中不存在的列可以出現在GROUPBY的列表項中、但是SELECT列表中出現的GROUPBY里必須有。此處SNAME未出現在GROUPBY中;例3-26:(分組查詢)分析以下語句為什么會出現錯誤。并給出對的的查詢語句。SELECTSAGEFROMSTUDENTGROUPBYSNO;…SELECT列表項中不存在的列可以出現在GROUPBY的列表項中,但是SELECT列表中出現的GROUPBY里必須有。此處SAGE未出現在GROUPBY中;例3—27:(分組查詢)求學生人數局限性3人的系及其相應的學生數。,SELECTSDEPT,COUNT(SNO)FROMStudentGROUPBYSDEPTHAVINGCOUNT(SNO)<3;例3-28:(分組查詢)求各系中除01班之外的各班的學生人數。。SELECTSDEPT,SCLASS,COUNT(SNO)FROMStudentGROUPBYSDEPT,SCLASSHAVINGSCLASS!=,01,;(POINT)例3—29:(涉及空值的查詢)分別觀測各組函數、行的顯示順序以及分組查詢與空值的關系。3selectCOUNT(SCORE)fromScore;selectSUM(SCORE)fromScore;selectAVG(SCORE)fromScore;se1ectMAX(SCORE)fromScore;seiectMIN(SCORE)fromScore;selectSCOREfromScoregroupbySCOREasc;seiectSCOREfromScoregroupbySCOREdesc:例3-30:(連接查詢)求選修了課程001且成績在70分以下或成績在90分以.上的學生的姓名、課程名稱和成績。SELECTSANME,,CNAME,SCOREFROMStudent,Course,Score,WHEREScore.CNO='OOPAND(SCORE>90ORSCORE<70)ANDCourse.CN0=Score.CNOANDStudent.SNO=Score.SNO;例3—31:(連接查詢與表的別名)求選修了課程的學生的學生姓名、課程號和成績。。SELECTSNAME,CN0,SCOREFROMStudent,ScoreWHEREStudent.SNO=Score.SNO;例3-32:(自身連接查詢)求年齡大于‘李麗’的所有學生的姓名、系和年齡。SELECTX.SNAME,X.SDEPT,X.SAGEFROMStudentX,StudentYWHEREX.SAGE>Y.SAGEANDY.SNAME=,李麗,;例3-33:(外部連接查詢)求選修了課程002或003的學生的學號、課程號、課程名和成績,規(guī)定必須將002和003課程的相關信息顯示出來。o。SELECTScore.SNO,Score.CNO,Course.CNAME,SCORE,CTIMEFROMCourse,ScoreWHERECourse.CNOIN('002','003')ANDScore.CNO=Course.CNO(+);例3-34:(子查詢)求與‘黎明’年齡相同的學生的姓名和系。。SELECTSNAME,SDEPTFROMStudentWHERESAGEIN(SELECTSAGEFROMStudentWHERESNAME)=嚓明,);例3-35:(子查詢)求選修了課程名為‘數據結構’的學生的學號和姓名。ooSELECTSNO,SNAMEFROMStudentWHERESNOIN(SELECTSNOFROMScoreWHERECN0=(SELECTCNOFROMCourseWHERECNAME=’數據結構'))例3-36:(子查詢ANY)求比數學系中某一學生年齡大的學生的姓名和系。。SELECTSANMESDEPTFROMStudentWHERESAGE>ANY(SELECTSAGEFROMStudentWHERESDEPT='MA')ANDSDEPTO,MA,;例3-37:(子查詢ALL)求比數學系中全體學生年齡大的學生的姓名和系。。3SELECTSNAME,SDEPTFROMStudentWHERESAGE>ALL(SELECTSAGEFROMStudentWHERESDEPT=,MA,)ANDSDEPTO,MA,;例3-38:(子查詢EXISTS)求選修了課程004的學生的姓名和系。,SELECTSNAME,SDEPTFROMStudentWHEREEXISTS(SELECT*FROMScoreWHERECN0=,004,ANDSNO=Student,SNO);例3-39:(返回多列的子查詢)求與,黎明’同系且同齡的學生的姓名和系。,oSELECTSNAME,SDEPTFROMStudontWHERESDEPT=(SELECTSDEPTFROMStudentWHERESNAME='黎明')ANDSAGE=(SELECTSAGEFROMStudentWHERESNAME='黎明');(單行子查詢返回多個行,由于Student表中有兩名學生叫黎明)例3—40:(多個子查詢)求與“黎明’同系,且年齡大于,李麗’的學生的信息。。SELECT*FROMStudentWHERESl)EPT=(SELECTSDEPTFROMStudentWHERESNAME=’黎明,)ANDSAGEXSELECTSAGEFORMStudentWHERESANME=,李麗,);(point)例3-41:(子查詢中使用表連接)求數學系中年齡相同的學生的姓名和年齡。。SELECTX.SNAME,X.SAGEFROMStudentX,StudentYWHEREX,SAGE二Y.SAGEANDX.SDEPT=,MA,ANDY.SDEPT=,MA,ANDX.SNOOY.SNO;例3-42:(連接或嵌套查詢)檢索至少選修王成剛老師所授課程中一門課程的女學生姓名。。。SELECTSNAMEFROMStudentWHERESNOIN(SELECTSNOFROMScoreWHERECNOIN(SELECTCNOFROMTeachWHERETNAME='王成剛'))例3-43:(嵌套與分組查詢)檢索選修某課程的學生人數多于3人的教師姓名。。SELECTTNAMEFROMTeachWIIRERECNOIN(SELECTCNOFROMScoreGROUPBYCNOHAVING3<C0UNT(SN0));例3-44:(集合查詢)列出所有教師和同學的姓名和性別。。oSELECTSANME,SSEXFROMStudentUNIONSELECTTNAMETSEXFROMTeach;例3-45:(相關子查詢)求未選修課程004的學生的姓名。。SELECTSNAMEFROMStudentWHERESNONOTIN(SELECTSNOFROMScoreWHRERCNO=,0049;例3—46:(相關子查詢)求選修了所有課程的學生的姓名。。SELECTSNAMEFROMStudenlWHERENOTEXISTS(SELECT*FROMCourseWHERENOTEXISTS(SELECT*FROMScoreWHERESNO=Student.SNOANDCN0=Course.CN0));例3-47:(相關子查詢)求至少選修了學生,96002,所選修的所有課程的學生的學號。SELECTDISTINCTSNOFROMScoreSCIWHERENOEXISTS(SELECT*FROMScoreSC2WHERESCI.SNO=,96002,ANDNOEXISTS(SELECT*FROMScoreSC3WHERESNO=SC1.SNOANDCN0=SC2.CNO));例3—48:(相關子查詢)求成績比所選修課程平均成績高的學生的學號、課程號、和成績。ooSELECTSNOCNO.SCOREFROMScoreSCIWHEREEXTSTS(SELECT*FROMScoreSC2GROUPBYCNOHAVINGSCI.SCORE>AVG(SCORE)ANDCNO=SCl.CNO)例3-49:(相關子查詢)查詢被一個以上的學生選修的課程號。SELECTCNOFROMCourseWHEREEXISTS(SELECT*FROMScoreGROUPBYCNOHAVINGCOUNT(SNO)>1ANDCN0=Course.CNO);例3-50:(相關子查詢)查詢所有未選課程的學生姓名和所在系.。SELECTSNAME,SDEPTFROMStudentWHERENOTEXISTS(SELECT*FROMScoreWHERESNO=Student.SNO);E實驗規(guī)定]對數據庫表進行各種查詢操作。[實驗方法]①將實驗需求用SQL語句表達;②執(zhí)行SQL語句;a③查看執(zhí)行結果,假如結果不對的,進行修改,直到對的為止。[實驗總結]①SQL語句以及執(zhí)行結果;②對重點實驗結果進行分析;a③實驗中的問題和提高;力④收獲與體會。心得體會:實驗3是很重要的知識點,用了50個例子向我一一解釋了各種查詢數據,其中涉及子查詢,雙重嵌套,三重嵌套,開始的時候學習感覺十分吃力,很多東西都繞在一起,但是學習這個要耐心,理解問題的關鍵字,理解每句語句的含義,例如在嵌套中要理解每重嵌套的作用,找到關鍵字的位置,并理解他的作用。尚有一些沒有弄懂的可以網上百度一下,查閱一些資料。這樣才會弄懂問題的本質。要有耐心,才干學好這一章,。實驗四:視圖、授權控制與事務解決[實驗日期]年月日[實驗目的]通過實驗進一步理解視圖的建立.和更新、數據庫的權限管理和事務解決功能。[實驗內容]SQL視圖的定義與操縱:例4-1:(建立視圖)建立計算機系的學生的視圖STUDENT_CSoa?createviewSTUI)ENT_CSasse1ect*fromStudentwhereSDEPT='CS>;例4-2:(建立視圖)建立由學號和平均成績兩個字段的視圖STUDENT_GR.createviewSTUDENT_GR(SNO,AG)asselectSNO,AVG(SCORE)agfromScoregroupbySN0;例4-3:(視圖查詢)運用視圖STUDENT_CS,求年齡大于19歲的學生的所有信息。ose1ect*fromSTUDENT_CSwhereSAGE>19;例4-4:(視圖杳詢)運用視圖STUDENT_GR,求平均成績?yōu)?8分以上的學生的學號和平均成績。selectSNO.AGfromSTUDENT_GRwhereAG>88;例4-5:(視圖更新)運用視圖STUDENT_CS,增長學生(,96006一張然,,七S-02」男)19)。。inscrtintoSTL'DENT_CSvalues('96006'J張然‘,‘CS','02‘,‘男',19);例4-6:(視圖更新)運用視圖STUDENT_CS,將學生年齡增長1歲。觀測其運營結果并分析因素。updateSTUDENT_CSsetSAGE=SAGE+1;例4—7:(視圖更新)運用視圖STUDENT_GR,將平均成績增長2分。觀測其運營結果并分析因素。updateSTUDENT_GRsetAG=AG+2;例4-8:(視圖更新)刪除視圖STUDENT_CS中學號為'960065的學生的所有數據。odeletefromSTUDENT_CSwhereSNO=Z96006';例4-9:(視圖更新)刪除視圖STUDENT_GR的所有數據。deletefromSTUDENT_GR;例4-10:(刪除視圖)刪除視圖STUDENT_CS和STUDENT_GR。dropviewSTUDENT_CS;dropviewSTUDENT_GR;SQL數據控制語句:例5-1:(授權)給左右鄰近同學(用戶)授予在表Student上的SELECT權限,并使這兩個用戶具有給其他用戶授予相同權限的權限。grantselectonStudenttoU,Uwithgrantoption;例5-2:(授權)給鄰近同學(用戶)授予Teach表上的所有權限。。grant,a11onTeachtoU,U例5-3:(授權)給所有用戶授予Score表上的SELECT權限。grantselectonScoretopublic;例5-4:(授權驗證)觀測左右鄰近同學查詢你所授權的表中的內容。例5-5:(收回授權)收回上面例子中的所有授予的權限。revokese1ectonStudentfromU,U;revokea11onTeachfromU,U;revokese1ectonScorefrompublic;SQL事務解決:例6-1:(事務回退)將課程名稱表中的,程序設計’課程學時數修改為80、,微機原理'課程學時數修改為70學時,查詢所有課程的總學時數后,取消所有修改(R0LLBACK)。再次查詢所有課程的總學時數。注意比較分析兩次查詢的結果。updateCoursesetCTIME=80whereCNAME=,程序設計';updateCoursesetCTIME=70whereCNAME=1微機原理';selectCNO,SUM(CTIME)fromCoursegroupbyCNO:roliback;se1ectCNO,SUM(CTIME)fromCoursegroupbyCNO;例6-2:(事務提交)將課程名稱表中的‘程序設計’課程學時數修改為80、‘微機原理’課程學時數修改為70學時,查詢所有課程的總學時數后,確認所有修改(COMMIT)o再次查詢所有課程的總學時數。注意比較分析兩次查詢的結果。updateCoursesetCTIME=80whereCNAME:'程序設計';updateCoursesetCTIME=70whereCNAME='微機原理';selectCNO,SUM(CTIME)fromCoursegroupbyCNO;commit;se1ectCNO,SUM(CTIME)fromCoursegroupbyCNO[實驗規(guī)定]①建立視圖,視圖查詢,視圖更新;A②給某一或所有用戶授權和收回授權;③事務回退,事務提交。[實驗方法]①將實驗需求用SQL語句表達;a②執(zhí)行SQL語句;a③查看執(zhí)行結果,假如結果不對的,進行修改,直到對的為止。[實驗總結]①SQL語句以及執(zhí)行結果;a②對重點實驗結果進行分析;a③實驗中的問題和提高;A④收獲與體會。心得體會:這個實驗是一些視圖的問題和授權和實物問題,我發(fā)現他與數據解決方面差不多,所以感覺還是挺好學的??梢宰寗e人查詢我的數據。同時,我發(fā)現這個實驗很有趣,只要解決好數據,就可完畢這個實驗。實驗五:Oracle存儲過程與觸發(fā)器[實驗日期]年月日[實驗目的]通過實驗進一步理解和掌握Oracle數據庫的存儲過程和觸發(fā)器。[實驗內容]4.存儲過程與觸發(fā)器:例7-1:(存儲過程)創(chuàng)建一個顯示學生總人數的存儲過程。createorreplaceprocedureSTU_COUNT(SUMOUTNUMBER)asbeginse1ectCOUNT(*)intoSUMfromStudent;end;例7-2:(存儲過程)創(chuàng)建顯示學生信息的存儲過程STUI)ENT_LIST,并引用STU_C(九NT存儲過程。例7-3:(存儲過程)創(chuàng)建一個顯示學生平均成績的存儲過程。例7-4:(存儲過程)創(chuàng)建顯示所有學生平均成績的存儲過程。例7-5:(修改數據庫表)在Student表中增長SAVG(N,6,2)字段。例7-6:(存儲過程)創(chuàng)建存儲過程,計算每個學生的平均成績保存到學生表SAVG字段中。例7-7:(觸發(fā)器)當更新學生成績表SCORE中的學生成績時,自動計算該學生的平均成績保存到學生表SAVG字段中。例7-8:(觸發(fā)器)創(chuàng)建包含插入、刪除、修改多種觸發(fā)事件的觸發(fā)器DMJL0G,對SCORE表的操作進行記錄。用INSERTING、DELETING、UPDATING謂詞來區(qū)別不同的DML操作。先創(chuàng)建事件登記表LOGS,該表用來對操作進行記錄。該表的字段含義解釋如下:LOG」D:操作記錄的編號,數值型,它是該表的主鍵,自動增1,可由序列自動生成.LOG_TABLE:進行操作的表名,字符型,非空,該表設計成可以由多個觸發(fā)器共享使用。比如我們可認為Student表創(chuàng)建類似的觸發(fā)器,同樣將操作記錄到該表。LOG_DML:操作的動作,即INSERT.DELETE或UPDATE三種之一。LOG_KEY」D:操作時表的主鍵值,數值型。之所以登記表的主鍵,是由于主鍵是表的記錄的惟一標記,可以辨認是對哪一條記錄進行了操作。對于Score表,主鍵是由SNO_CNO構成。實驗一:數據定義語言[實驗日期]年月日[實驗目的]熟悉Oracle上機環(huán)境及Oracle客戶端的配置;純熟掌握和使用DDL語言,建立、修改和刪除數據庫表、主鍵、外鍵約束關系和索引。[實驗內容]Oracle上機環(huán)境以及0racle客戶端的配置參見附錄。SQL數據定義語句:例1T:(建立數據庫表)建立教學數據庫的四個數據庫表,其中Student表中不包含SSEX(C,2)字段,Sname字段為Sname(C,8)且可為空。CREATETABLEStudent(SNOCHAR(5),SNAMECHAR(10)NULL,SDEPTCHAR⑵,SCLASSCHAR(2),SAGENUMBER(2),CONSTRAINTSON_PKPRIMARYKEY(SNO));CREATETABLECourse(CNOCHAR(3),CNAMEVARCHAR2(16),CTIMENUMBER(3),CONSTRAINTCNO_PKPRIMARYKEY(CNO));LOG」)ATE:操作的日期,日期型,取當前的系統(tǒng)時間。LOG_USER:操作者,字符型,取當時的操作者賬戶名。比如登錄SCOTT賬戶進行操作,在該字段中,記錄賬戶名為scon。[實驗規(guī)定]創(chuàng)建、調試和修改、調用和執(zhí)行OracIe存儲過程;創(chuàng)建、調試和修改、測試Oracle觸發(fā)器。[實驗方法]①將實驗需求用SQL語句表達;執(zhí)行SQL語句;a③查看執(zhí)行結果,假如結果不對的,進行修改,直到對的為止。[實驗總結]SQL語句以及執(zhí)行結果;②對重點實驗結果進行分析;a③實驗中的問題和提高;a④收獲與體會。CREATETABLETeach(TNAMECHAR(8),TSEXCHAR(2),CNOCHAR(3),TDATEDATE,TDEPTCHAR(2),CONSTRAINTTT_PKPRIMARYKEY(TNAME,CNO,TDEPT),CONSTRAINTCNO_FKFOREIGNKEY(CNO)REFERENCESCourse(CNO));CREATETABLEScore(SNOCHAR(5),CNOCHAR(3),SCORENUMBER(5,2),CONSTRAINTSC_PKPRIMARYKEY(SNO,CNO),CONSTRAINTCN01_FKFOREIGNKEY(CNO)REFERENCESCourse(CNO),CONSTRAINTSNO_EKFOREIGNKEY(SNO)REFERENCESStudent(SNO));(Score表中定義外鍵的名稱不能為CNO,被Teach表中約束條件占用)例1-2:(修改數據庫表)在Student表中增長SEX(C,2)字段。ALTERTABLEStudentADDSEXCHAR(2);例1-3:(修改列名)將Student表中列名SEX修改為SSEX。ALTERTABLEStudentRENAMECOLUMNSEXTOSSEX;例1-4:(修改數據庫表)將Student表中把Sname字段修改為Sname(C,10)且為非空。ALTERTABLEStudentMODIFYSNAMECHAR(10)NOTNULL;例「5:(建立索引)為Sc。re表按課程號升序、分數降序建立索引,索引名為SC_GRADE。CREATEUNIQUEINDEXSC_GRADEONScore(CNOASC.SCOREDESC);例1-6:(刪除索引)刪除索引SJGRADE。DROPINDEXSC_GRADE;例1-7:(建立數據庫表)建立數據庫表S1(SNO,SNAME,SD,SA),其字段類型定義與Student表中的相應字段(SNO,SNAME,SDEPT,SAGE)的數據類型定義相同。CREATETABLESl(SNOCHAR(5)PRIMARYKEYNOTNULL,SNAMECHAR(IO),SDCHAR(2),SANUMBER(2));createtableSlas(selectSNO.SNAME,SDEPTasSD,SAGEasSAfromStudentwhere1=2);例1-8:(修改數據庫表)刪除成績表Score的參照完整性約束關系。ALTERTABLEScoreDROPCONSTARINTSNO_FK;ALTERTABLEScoreDROPCONSTARINTCNO1_FK:例1-9:(修改數據庫表)添加成績表Score的參照完整性約束關系。ALTERTABLESCOREADDCONSTRAINTCN01_FKFOREIGNKEY(CNO)REFERENCESCourse(CNO);ALTERTABLESCOREADDCONSTRAINTSNOFKFOREIGNKEY(SNO)REFERENCESStudent(SNO));例1-10:(修改數據庫表名)將數據庫表S1改名為Studcnt_Tcmp。RENAMES1TOStudent_Temp;[實驗規(guī)定]①熟悉Oracle上機環(huán)境,掌握Orac1??蛻舳说呐渲?a②建立數據庫表,修改數據庫表結構,建立、刪除索引;[實驗方法]①按照附錄中的操作環(huán)節(jié)進行客戶端的配置;將實驗需求用SQL語句表達;力③執(zhí)行SQL語句;a④查看執(zhí)行結果,假如結果不對的,進行修改,直到對的為止。[實驗總結]①SQL語句以及執(zhí)行結果;④②對重點實驗結果進行分析:a③實驗中的問題和提高;A?收獲與體會;實驗心得:從這個實驗中我學會了表的建立,內部一些格式的修改,在開始的時候我認為十分麻煩,但是隨著我接觸的多了,我感到有些代碼都是相似的,找到相關的關聯,就可以事半功倍。尚有就是我發(fā)現許多表之間存在著聯系,所以我要抓住互相的聯系,才干更好的發(fā)揮數據語言的作用。實驗二:數據操縱語言[實驗日期]年月日[實驗目的]在實驗?的基礎匕純熟掌握和使用DML語言,對數據進行增長、修改和刪除操作。[實驗內容]SQL數據操縱語句:例2—1:(插入數據)按前面各表中的數據分別插入到教學數據庫的四個數據庫表中。例2-2:(多行插入)將表Student中在計算機系(,CS,)的學生數據插入到表StudenjTemp中。INSERTINTOStudent_Temp(SNO,SNAME,SI),SA)SELECTSNO,SNAME,SDEPT,SAGEFROMSTUDENTWHERESDEPT='CS';(以上操作中,注意用COMMIT提交數據,將數據保存到數據庫服務器)例2—3:(運用查詢來實現表的定義與數據插入)求每一個學生的平均成績,把結果存入數據庫表Studcnt_Gr中。CREATETABLEStudent_Gr(SNOCHAR(10),SAVGNUMBER(5,2));INSERTINTOStudent_Gr(SNO,SAVG)SELECTSNO,AVG(Score)FROMScoreGROUPBYSNO;(createtabieStudent_Gras(se1ectSNO,AVG(SCORE)fromScoregroupbySNO);)例2-4:(修改數據)將Student_Temp表中所有學生的年齡加2。UPDATEStudent_TempSETSA=SA+2;例2-5:(修改數據)將Course表中,程序設計,課時數修改成與,數據結構,的課時數相同。UPDATECourseSETCTIME=(SELECTCTIMEFROMCourseWHERECNO=004')WHERECNO'OO8';例2-6:(插入數據)向Score表中插入數據(,98001Ik001\95),根據返回信息解釋其因素。INSERTINTOSCOREVALUES('98001001',95);插入的數據假如某個字段是外鍵那么該值要么為空要么在主鍵表中有相應的主鍵值,否則就不滿足參照完整性約,Score表中的SNO字段是根據Student中的SNO建立的,然而Student中的SNO中沒有98001。例2-7:(插入數據)向Score表中插入數據。97001;4010\80),根據返回信息解釋其因素。INSERTINTOSCOREVALUES(z97001','01()',85);由于Score表中的CNO字段是根據Course中的CNO建立的,Course表中并沒有課程號是010的。例2-8:(刪除數據)刪除Student表中學號為,96001'的學生信息,根據返回信息解釋其因素。DELETEFROMStudentWHERESN0=9600T;由于Student表中學號已經被別的表作為外鍵,不可以被刪除,違反完整約束條件例2-9:(刪除數據)刪除Course表中課程號為,003'的課程信息,根據返回信息解釋其因素。DELETEFROMCOURSEWHERECNO=Z003';由于Course表中課程號已經被別的表作為外鍵,不可以被刪除,違反完整約束條件。例2-10:(刪除數據)刪除學生表Student_Temp中學號以96打頭的學生信息。DELETEFROMStudent_TempWHERESNOLIKE'96%';(此操作后,注意用ROLLBACK回退也許更新的數據)例2TI:(刪除數據)刪除數據庫表Student_Temp中所有學生的數據。DELETEFROMStudent_TempWHERE2!=0;(此處的條件語句為真即可,例如2=2)例2-12:(刪除表)刪除數據庫表Student_Temp和Student_Gr。DROPTABLEStudent_Temp;l)R0PTABLEStudent_Gr;[實驗規(guī)定]對數據庫表進行插入、修改和刪除數據的操作。[實驗方法]①按照附錄中的操作環(huán)節(jié)進行客戶端的配置;②將實驗需求用SQL語句表達;③執(zhí)行SQL語句;④查看執(zhí)行結果,假如結果不對的,進行修改,直到對的為止。[實驗總結]①SQL語句以及執(zhí)行結果;②對重點實驗結果進行分析;③實驗中的問題

溫馨提示

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

評論

0/150

提交評論