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

下載本文檔

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

文檔簡介

班級物聯(lián)網(wǎng)1202學號姓名指導老師**********楊璐年軼2014年1月目錄一、引言.....................................................................................................21.目的...............................................22.題目...............................................23.要求...............................................2二、系統(tǒng)的分析與設計............................................................................31.概念設計...........................................32.邏輯設計...........................................33.系統(tǒng)功能結構.......................................44.完整性設計.........................................5三、系統(tǒng)的實現(xiàn).........................................................................................6四、課程設計小結...................................................................................22第1頁

一、引言1.目的課程設計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛煉學生的分析解決實際問題的能力。提高學生適應實際,實踐編程的能力。課程設計的目的:(1)加深對數(shù)據(jù)庫系統(tǒng)、軟件工程、程序設計驗教學基礎上進一步鞏固已學基本理論及應用知識并加以綜合提高;增強動手能力;語言的理論知識的理解和應用水平;(2)在理論和實(3)學會將知識應用于實際的方法,提高分析和解決問題的能力,(4)為畢業(yè)設計和以后工作打下必要基礎。2.題目題目2。設計一個大學教學數(shù)據(jù)庫應、教師、課程、分組、登記。數(shù)據(jù)見附表2。只要求每個學生任選1個題目,如有時間﹑有興,趣可做另外一題,酌情用系統(tǒng)。該系統(tǒng)涉及學生因時間關系,加分。3.要求運用數(shù)據(jù)庫應用系統(tǒng).要求把現(xiàn)實世界的事物及事物之間的聯(lián)系的信息模型,再轉(zhuǎn)換為機模型和數(shù)據(jù)和控制等操作.(1)用E-R圖設計相應的模型,確定數(shù)據(jù)庫結構;(3)分析關系模式各屬于第幾范式,闡明理由;用系統(tǒng)的系統(tǒng)結構圖;基本理論與應用知識,在微機RDBMS(SQLServer)的抽象為信息世界的實體及實文件,并對數(shù)據(jù)文件實施檢索、更新環(huán)境上建立一個數(shù)據(jù)庫復雜關系體之間器世界的數(shù)據(jù)選定題目的信息模型;(2)設計關系(4)設計應(5)通過設計關系的主碼約束、外碼約束和使用CHECK實現(xiàn)完整性控制;(6)完成實驗內(nèi)容所指定的各項要求;(7)分析遇到的問題,總結并寫出課程設計報告;(8)自我評價第2頁

二、系統(tǒng)的分析與設計1.概念設計2.邏輯設計STUDENT(sno,sname,address,zip,state,tno,tname,phone,salary)tno是主碼cno是主碼cno,tno,sqty)secno、tno、cno是主碼,cno、tnocity,sex)sno是主碼TEACHER(COURSE(cno,cname,department,credit)SECTION(secno,是外碼ENROLL(secno,cno,sno,grade)cno,sno是主碼,cno,sno是外碼4.完整性設計/*包含:關系主碼、外碼、CHECK約束.并給出相應的SQL語句*/COURSE的完整性約束:cnoCHAR(10)PRIMARYKEYSTUDENT的完整性約束:snoCHAR(10)PRIMARYKEYTEACHER的完整性約束:tnoCHAR(10)PRIMARYKEYSECTION的完整性約束:PRIMARYKEY(secno,tno,cno),FOREIGNKEY(tno)REFERENCESTEACHER(tno),FOREIGNKEY(cno)REFERENCESCOURSE(cno)ENROLL的完整性約束:PRIMARYKEY(cno,sno),FOREIGNKEY(sno)REFERENCESSTUDENT(sno),FOREIGNKEY(cno)REFERENCESCOURSE(cno)第5頁

2。創(chuàng)建各基本表CREATETABLECOURSE(cnoCHAR(10)PRIMARYKEY,cnameCHAR(30),departmentCHAR(30),creditSMALLINT);CREATETABLESTUDENT(snoCHAR(10)PRIMARYKEY,snameCHAR(30),addressCHAR(30),zipCHAR(10),cityCHAR(20),stateCHAR(10),sexCHAR(2));(tnoCHAR(10)PRIMARYKEY,tnameCHAR(20),phoneCHAR(10),salaryNUMERIC(10,2));tnoCHAR(10),cnoCHAR(10),sqtyINT,(cnoCHAR(10),seconCHAR(2),snoCHAR(10),gradeINT,第7頁3。完成數(shù)據(jù)的錄入COURSE表錄入數(shù)據(jù)INSERTINTOCOURSEVALUES('450','WesternCivilization’,’History','3');INSERTINTOCOURSEVALUES('730','CalculusIv’,'Math’,'4');INSERTINTOCOURSEVALUES(’290’,'EnglishComposition’,'English',’3’);INSERTINTOCOURSEVALUES('480',’CompilerWriting',’ComputerScience’,’3’);SELECT*FROMCOURSESTUDENT表錄入數(shù)據(jù)INSERTINTOSTUDENTVALUES('148’,’Susanpowell','534EastRiverDr’,'19041',’Haverford’,'PA’,’F’);INSERTINTOSTUDENTVALUES(’210’,’BobDawson’,’120SouthJefferson','02891’,'Newport’,'RI’,’M’);INSERTINTOSTUDENTVALUES(’298',’HowardMansfield’,’290WynkoopDrive’,'22180','Vienna','VA’,’M');INSERTINTOSTUDENTVALUES(’348’,'SusanPugh',’534EastHamptonDr','06107’,'Hartford',’CN’,’F’);INSERTINTOSTUDENTVALUES('349',’JoeAdams',’73EmmersonStreet’,'19702',’Newark’,'DE’,’M’);INSERTINTOSTUDENTVALUES('354',’JanetLadd',’44110thStreet',’18073',’Pennsburg','PA','F’);INSERTINTOSTUDENTVALUES('410',’BillJone',’120SouthHarrison',’92660’,’Newport’,'CA’,第8頁

'M’);INSERTINTOSTUDENTVALUES('473’,'CarolDean','983ParkAvenue',’02169',’Boston',’MA',’F');INSERTINTOSTUDENTVALUES(’548’,'Allenthomas','238WestOxRoad',’60624',’Chicago’,’IL',’M’);INSERTINTOSTUDENTVALUES(’558’,’ValShipp’,’238WestportRoad','60556',’Chicago’,'IL’,'F');INSERTINTOSTUDENTVALUES('649','JohnAnderson’,'473EmmoryStreet','10008','NewYork’,’NY',’M');INSERTINTOSTUDENTVALUES('654’,'JanetYhomas',’4416thStreet',’16510',’Erie’,'PA',’F');SELECT*FROMSTUDENTTEACHER錄入數(shù)據(jù)INSERTINTOTEACHERVALUES(’303’,'Dr.Horn',’257—3049’,27540。00);INSERTINTOTEACHERVALUES('290',’Dr.Lowe',’257-2390',31450.00);INSERTINTOTEACHERVALUES('430',’Dr.Engle’,’56-4621',38200.00);INSERTINTOTEACHERVALUES(180,'Dr。Cooke',’257-8088’,29560.00);INSERTINTOTEACHERVALUES(560,’Dr.Olsen','257—8086',31778。00);INSERTINTOTEACHERVALUES(784,'Dr.Scango’,’257—3046’,32098.00);SELECT*FROMTEACHERSECTION表錄入數(shù)據(jù)INSERT第9頁

INTOSECTIONVALUES(’1',’303','450’,2);INSERTINTOSECTIONVALUES('1',’290’,'730’,6);INSERTINTOSECTIONVALUES(’1’,’430',’290’,3);INSERTINTOSECTIONVALUES(’1','180','480’,3);INSERTINTOSECTIONVALUES('2’,’560’,'450’,2);INSERTINTOSECTIONVALUES('2','784’,'480’,2);SELECT*FROMSECTIONENROLL表錄入數(shù)據(jù)INSERTINTOENROLLVALUES(’730',’1’,’148’,'3');INSERTINTOENROLLVALUES('450’,’2’,’210’,’3');INSERTINTOENROLLVALUES('730','1’,’210',’1');INSERTINTOENROLLVALUES('290’,’1’,’298’,’3');INSERTINTOENROLLVALUES('480’,'2’,'298','3');INSERTINTOENROLLVALUES('730','1’,'348',’2');INSERTINTOENROLLVALUES('290’,'1','349’,’4’);INSERTINTOENROLLVALUES(’480','1','348’,'4’);第10頁

VALUES(’730','1','473','3’);INSERTVALUES(’480’,’2',’473',’0');INSERTVALUES(’290',’1’,'548','2');INSERTVALUES(’730',’1’,’558’,'3');INSERTVALUES(’730','1’,'649',’4');INSERTVALUES(’480’,'1','649’,’4');INSERTSECTION5。按字母順序列出教師姓名和電話號碼SELECTtname,phoneFROMTEACHERORDERBYtnameWHEREcnoIN(SELECTcnoFROMENROLL8。檢索沒有選修任何課的學生姓名、學號SELECTsno,snameFROMENROLL9.檢索沒有選修課程“CalculusIv”的學生學號SELECTsnoFROMSTUDENTWHEREsnoNOTINFROMENROLLENROLLYWHEREcnoin(SELECTcnoWHEREtname=’Dr.Lowe’ANDTEACHER。tno=SECTION。tno)ANDNOTEXISTSFROMENROLLENROLLZ(修改數(shù)據(jù)驗證,該老師教授課程號為730和500,只有學號148的學生同時選擇了這兩門課)SECTION11。檢索每門課學生登記的人數(shù)、相應的課程名、課程號、分組號13。檢索只有男生選修的課程和學生名SELECTcname,snameFROMCOURSE,STUDENT,ENROLLWHERESTUDENT.sno=ENROLL.snoANDCOURSE.cno=ENROLL。cnoANDCOURSE.cnoin(SELECTcnoSELECTcname,sname,tname,grade15.刪去名為“JoeAdams"的所有記錄DELETEFROMSTUDENTWHEREsname='JoeAdams';SELECT*FROMSTUDENT16.把教師“Scango"的編號改為“666”WHEREtname=’Dr。Scango’SELECT*FROMTEACHERSELECTAVG(grade)AVGWHEREgradein(SELECTgradeFROMTEACHER,SECTION,ENROLL18。統(tǒng)計各門課程的選課人數(shù)SELECTCOURSE.cname,COUNT(ENROLL.sno)FROMENROLL,COURSEWHEREENROLL。cno=COURSE.cnoGROUPBYCOURSE.cname;19.輸出如下報表:學生名課程名教師名成績SELECTsname學生名,cname課程名,tname教師名,grade成績FROMENROLL,STUDENT,COURSE,TEACHER,SECTIONWHEREENROLL.sno=STUDENT.snoANDSECTION。cno=COURSE。cnoANDENROLL。secno=SECTION。secnoANDENROLL.cno=SECTION。cnoANDSECTION.tno=TEACHER.tno*20.定義并驗證觸發(fā)器,當?shù)怯洷碓黾右粭l新的記錄時,自動在分組表中更新相應屬性。CREATETRIGGERENROLL_1ONENROLLAFTERINSERTASFROMSECTION,insertedWHEREinserted.secno=SECTION.secnoANDo=SECTION.cnoVALUES(’450’,’2','354’,'1’)SELECT*在本次課設之前,我已經(jīng)在前段學習期間上機編寫過類似相關的SQL語句來完成對于-課程-選課的信息查詢,這次在原先實驗的基礎上添加了分組和教師表,創(chuàng)建數(shù)據(jù)庫、基本表和錄入數(shù)據(jù)的過程與上機實驗基本相同,因此很容易就完成了前三個步驟,在這個過程中對于數(shù)據(jù)庫、表的創(chuàng)建以及數(shù)據(jù)的輸入的操作都更加的熟練。題目4-19都是對于表中數(shù)據(jù)進行查詢、修改、刪除等操作,并且運用了ORDERBY、GROUPBY等功能短語以及COUNT、AVG等聚集函數(shù)。前兩題都是基本的查詢,比較簡單,但由于輸入數(shù)據(jù)時Dr。Engle中的‘?!喟戳艘粋€空格,結果在調(diào)試的時候出現(xiàn)的是錯誤的結果,結果不正確(見截圖最難的題目,自己也嘗試著去做理解的失誤以及數(shù)據(jù)的巧合性,錯誤的SQL語句得出的結果卻是正確的。這就導致了自己以為解決了這道難題,以至于在給老師檢查的時候被指出嚴重的錯誤,感到很羞愧。后來仔細分析題意,按照所有的關鍵字來編寫查詢語句,參照書上關于notexists語句以及嵌套循環(huán)的語句,用謂詞演算y,老師Dr。Lowe教授了這X選了課y”,等價于┐ョy(p∧┐所以在檢驗時修改了數(shù)據(jù),門課.然后再去第13題的題目10個,但照表檢查可以看出有些課程因此重新分析,發(fā)現(xiàn)可以使用嵌套查詢先用子查詢的外(notin)查詢,這樣就把女生選修的課程出去,這男、女生都選修的錯誤。(見截圖)剛開始理解的不透徹,所以直接查詢了仍是有女生選的,與題目“只有男生選修子查詢把女生選擇的課程選出來,然后父查詢在樣就避免出現(xiàn)選擇的男生選修的課程,得到的結果有”的條件不符,第15、16題是對于學生、教師表的修改和刪除.在執(zhí)行過程中程出問題所在.后來經(jīng)過詢問同學,發(fā)現(xiàn)SECTION和ENROLL表中引用了這兩個表中的sno和tno,由于其引用關系,所以無法對于這兩個表進行修改。因此需要先刪除外碼的引用關系,然后序一直報錯,始終找不才能對其進行修改和刪除。第20題定義觸發(fā)器這個比較陌生,在學習的時候就不是很掌握,因此對于這個題目第一印象就是不想去做,我不會.但是后來通過翻閱書本并且詢問同學,并且自己不斷的摸索,雖然起初一直報錯,但是我并沒有氣餒,在各種幫助和努力下終于實現(xiàn)了最后一個功能.不過在給老師檢查的過程中,發(fā)現(xiàn)UPDATE語句后面自己添加了FROM的語句,雖然對于整個執(zhí)行結果沒有太大的影響,但這是一個常識性的錯誤,不應該出現(xiàn)如此低級的錯誤,因為當時是想新表需要和SECTION、ENROLL表進行連接,所以在寫的過程中直接添加了o=SECTION.cnoANDinserted.secno=SECTION.secno的錯誤語句,而且還誤將其中的SECTION寫成了ENROLL表,以至于在老師詢問的時候,自己也被自己的代碼弄得不知所措.后來修改的時候索性把所有的條件語句都刪除了,并沒有進行臨時新表inserted與SECTION表的連接,以至于結果每一行的學生登記數(shù)量sqty都加一,得到錯誤的結果。過程比較艱辛但是最后完成的時候內(nèi)心的喜悅確實滿滿洋溢的。果然自己去努力實現(xiàn)的事情可以給自己帶來無限的快樂,自己從中收獲的經(jīng)驗和知識也是更多的。不要因為自己對于某方面不熟悉就直接放棄,而應該努力去嘗試一下。只有試過了,才知道自己到底可不可以完成這個看似困難的問題!第22頁

附表2課程(COURSE)課程號課程名系名學分(cno)(cname)450WesternCivilizationHistory730CalculusIv290EnglishCompositionEnglish(department)(credit)3433Math480CompilerWritingComputerScience學生(STUDENT)學號姓名地址郵政編碼市省性別(sno)(sname)(address)(zip)(city)(state)(sex)148Susanpowell534EastRiverDr19041HaverfordPAF210BobDawson120SouthJefferson02891NewportRIMMFMFMFMFMF298HowardMansfield290WynkoopDrive22180ViennaVA348SusanPugh349JoeAdams354JanetLadd410BillJone473CarolDean534EastHamptonDr06107HartfordCN473EmmersonStreet19702NewarkDE44110thStreet120SouthHarrison92660NewportCA0

溫馨提示

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

評論

0/150

提交評論