數(shù)據(jù)庫SQL實驗題目_第1頁
數(shù)據(jù)庫SQL實驗題目_第2頁
數(shù)據(jù)庫SQL實驗題目_第3頁
數(shù)據(jù)庫SQL實驗題目_第4頁
數(shù)據(jù)庫SQL實驗題目_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗一數(shù)據(jù)庫和表的建立實驗?zāi)康恼莆諗?shù)據(jù)庫和表的基礎(chǔ)知識掌握使用創(chuàng)建數(shù)據(jù)庫和表的方法掌握數(shù)據(jù)庫和表的修改、查看、刪除等基本操作方法實驗內(nèi)容和要求一、數(shù)據(jù)庫的創(chuàng)建在開始菜單中,啟動SQIServer程序中的"SQLServerManagementStudio”,在對象資源管理器窗口中,右鍵單擊〃數(shù)據(jù)庫”,選擇〃新建數(shù)據(jù)庫”,創(chuàng)建成績管理數(shù)據(jù)庫Grademanager,要求如下表所示:Grademanager數(shù)據(jù)庫參數(shù)表參數(shù)參數(shù)值參數(shù)參數(shù)值存儲的數(shù)據(jù)文件路徑D:\db\grademanager_data.mdf存儲的日志文件路徑D:\db\grademanager_log.ldf數(shù)據(jù)文件初始大小5MB日志文件初始大小2MB數(shù)據(jù)文件最大值20MB日志文件最大值15MB數(shù)據(jù)文件增長量原來10%日志文件增長量2MB二、表的創(chuàng)建、查看、修改和刪除1.表的創(chuàng)建在Grademanager數(shù)據(jù)庫中,右鍵單擊〃表”,選擇〃新建表”命令,創(chuàng)建如下表所示的表:(1)Student表的表結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度字段名稱數(shù)據(jù)類型長度精度小數(shù)位數(shù)是否允許Null值說明SnoChar1000否學(xué)號,主碼SnameVarchar800是姓名SsexChar200是性別,取值:男或女SbirthdayDate800是出生日期SdeptChar1600是系名SpecialityVarchar2000是專業(yè)名特別注意:為屬性Ssex設(shè)置約束,需選中屬性Ssex行,然后單擊菜單中的“表設(shè)計器”,選擇“CHECK約束”命令,然后按照圖1進(jìn)行設(shè)置。⑵Course表(課程名稱表)的表結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度精度小數(shù)位數(shù)是否允許Null值說明CnoChar500否課程號,主碼CnameVarchar2000否課程名性的束圖置別設(shè)約字段名稱數(shù)據(jù)類型長度精度性的束圖置別設(shè)約字段名稱數(shù)據(jù)類型長度精度小數(shù)位數(shù)是否允許Null值說明SnoChar1000否學(xué)號,外碼CnoChar500否課程號,外碼DegreeDecimal551是成績,0100之間(3)SC表(成績表)的表結(jié)構(gòu)特別注意:為屬性Degree約束,可參照屬性Ssex進(jìn)行設(shè)置,“CHECK約束對話框”中的表達(dá)式為Degree>=1AndDegree<=100為SC表設(shè)置外鍵Sno和Cno的方法:右鍵單擊表SC,選擇“設(shè)計”命令,然后選擇菜單“表設(shè)計器”中的“關(guān)系”命令,打開“外鍵關(guān)系”窗口,選擇“添加”按鈕,然后單擊“表和列規(guī)范”后的按鈕,按照圖 2進(jìn)行設(shè)置,即可將SC表中的Cno屬性設(shè)置為外鍵。按照相同的方法,將屬性 Sno也設(shè)置為外鍵。圖2為SC表設(shè)置外鍵CnoSnoSnameSsexSbirthdaySdeptSpeciality20050101李勇男1987-01-12CS計算機應(yīng)用20050201劉晨女1988-06-04IS電子商務(wù)20050301王敏女1989-12-23MA數(shù)學(xué)20050202張立男1988-08-25IS電子商務(wù)2SnoSnameSsexSbirthdaySdeptSpeciality20050101李勇男1987-01-12CS計算機應(yīng)用20050201劉晨女1988-06-04IS電子商務(wù)20050301王敏女1989-12-23MA數(shù)學(xué)20050202張立男1988-08-25IS電子商務(wù)2?向上述表中輸入如下數(shù)據(jù)記錄學(xué)生關(guān)系表Student(右鍵單擊表Student,選擇〃編輯前200行〃)成績表SC課程關(guān)系表CourseCnoCnameC01數(shù)據(jù)庫C02數(shù)學(xué)C03信息系統(tǒng)C04操作系統(tǒng)SnoCnoDegree20050101C019220050101C0285200501012005020120050201200503012005030120050202C03C02C03C01C02C01889080917587?修改表結(jié)構(gòu)(找到操作的方法即可,不需要真正地修改表中的屬性)(1)向student表中增加“入學(xué)時間〃列,其數(shù)據(jù)類型為日期型將student表中的sdept字段長度改為20將student表中的Speciality字段刪除思考題?SQLServer的數(shù)據(jù)庫文件有幾種?擴展名分別是什么??如何實現(xiàn)數(shù)據(jù)庫的備份和還原?2.在定義基本表語句時, NOTNULL參數(shù)的作用是什么?3.主碼可以建立在“值可以為NULL”的列上嗎?實驗二單表查詢實驗?zāi)康恼莆誗ELECT語句的基本用法使用WHERE子句進(jìn)行有條件的查詢掌握使用IN禾口NOTIN,BETWEEN-AND禾口NOTBETWEEN,AND來縮小查詢范圍的方法掌握聚集函數(shù)的使用方法利用LIKE子句實現(xiàn)字符串匹配查詢利用ORDERBY子句對查詢結(jié)果排序利用GROUPBY子句對查詢結(jié)果分組實驗內(nèi)容和要求3.向上述兩表中輸入如下數(shù)據(jù)記錄教師表Student授課表TeachingCnoTnoCtermTnoTnameTsexTbirthdayTdeptC011012101李新男1977-01-12CSC021021102錢軍女1968-06-04CSC032013201王小花女1979-12-23ISC042024202張小青男1968-08-25IS、完成下面查詢一、表結(jié)構(gòu)修改1?在實驗一的所建立的數(shù)據(jù)庫中增加 Teacher表,結(jié)構(gòu)如下:字段名稱數(shù)據(jù)類型長度精度小數(shù)位數(shù)是否允許Null值說明TnoChar300否教師號,主碼TnameVarchar800是教師名TsexChar200是性別,取值:男或女TbirthdayDate800是出生日期TdeptChar1600是所在系2?在實驗一的所建立的數(shù)據(jù)庫中增加 Teaching表,表結(jié)構(gòu)如下:Teaching表(授課表)的表結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度精度小數(shù)位數(shù)是否允許Null值說明CnoChar500否課程號,外碼TnoChar300否教師號,外碼CtermTinyint100是1-8之間?查詢所有男生信息.查詢年齡大于24歲的女生學(xué)號和姓名.查詢所有教師的Tname、Tdept.查詢“電子商務(wù)”專業(yè)的學(xué)生姓名、性別和出生日期.查詢成績低于90分的學(xué)生學(xué)號及課號,并按成績降序排列.查詢Student表中所有的系名.查詢“C01”課程的開課學(xué)期&查詢成績在80分至90之間的學(xué)生學(xué)號及課號.統(tǒng)計有學(xué)生選修的課程門數(shù).查詢成績?yōu)?7,88或99的記錄計算“C02”課程的平均成績輸出有成績的學(xué)生學(xué)號查詢所有姓“劉”的學(xué)生信息統(tǒng)計輸出各系學(xué)生的人數(shù)查詢選修了“C03'課程和學(xué)生的學(xué)號及其成績,查詢結(jié)果按分?jǐn)?shù)的降序排列查詢各個課程號及相應(yīng)的選課人數(shù),并為選課人數(shù)取別名為“人數(shù)”統(tǒng)計每門課程的選課人數(shù)和最高分,并為選課人數(shù)和最高分分別取別名為“人數(shù)” 、“最高分”統(tǒng)計每個學(xué)生的選課門數(shù)和考試總成績,并為選課門數(shù)和總成績分別取別名為“門數(shù)” 、“總成績”,并按選課門數(shù)降序排列。思考題1. 聚集函數(shù)能否直接使用在:SELECT?句、HAVING子句、WHERE子句、GROUPBY子句中?2.關(guān)鍵字ALL和DISTINCT有什么不同的含義?SELECT語句中的通配符有幾種?含義分別是什么?4.利用BETWEEN???AND運算符表示數(shù)據(jù)的范圍能否與其他方法表示?怎樣表示?實驗三多表查詢及數(shù)據(jù)更新實驗?zāi)康恼莆誗ELECT語句在多表查詢中的應(yīng)用掌握多表連接的幾種連接方式及應(yīng)用掌握利用INSERT命令實現(xiàn)對表數(shù)據(jù)的插入操作掌握利用UPDATE命令實現(xiàn)對表數(shù)據(jù)的修改操作掌握利用DELETE命令實現(xiàn)對表數(shù)據(jù)的刪除操作實驗內(nèi)容和要求一、 連接查詢查詢女學(xué)生的學(xué)生學(xué)號及總成績查詢李勇同學(xué)所選的課程號及成績查詢李新老師所授課程的課程名稱查詢女教師所授課程的課程號及課程名稱查詢姓“王”的學(xué)生所學(xué)的課程名稱查詢選修“數(shù)據(jù)庫”課程且成績在 80到90之間的學(xué)生學(xué)號及成績查詢選修“C02”課程的學(xué)生的平均年齡查詢學(xué)習(xí)課程名為“數(shù)學(xué)”的學(xué)生學(xué)號和姓名查詢“錢軍”教師任課的課程號,選修其課程的學(xué)生的學(xué)號和成績查詢在第3學(xué)期所開課程的課程名稱,選修其課程的學(xué)生學(xué)號和成績二、 嵌套查詢查詢至少選修兩門課程的男學(xué)生姓名查詢與李勇同一個系的同學(xué)姓名;查詢學(xué)號比劉晨同學(xué)大,而年齡比他小的學(xué)生姓名查詢出生日期大于所有女同學(xué)出生日期的男同學(xué)的姓名及系別查詢成績比該課程平均成績高的學(xué)生的學(xué)號、課程號及成績查詢不講授“C01”課的教師姓名查詢沒有選修“C02”課程的學(xué)生學(xué)號及姓名查詢選修了“數(shù)據(jù)庫”課程的學(xué)生學(xué)號、姓名及系別查詢選修了全部課程的學(xué)生姓名分別用子查詢和連接查詢,求“ C02'號課程在80分以上的學(xué)生信息三、 數(shù)據(jù)更新1.向Student表中插入記錄('20050203','張靜','女','1981-3-21','CS',' 電子商務(wù)’)2.插入學(xué)號為20050302,姓名為李四學(xué)生信息把男學(xué)生記錄保存到表TS中(提示:利用selectinto命令可備份數(shù)據(jù)庫中的表格式:select*into新表名from原表名where子句;)將學(xué)號為20050202的學(xué)生姓名改為張華,系別改為“ CS',專業(yè)改為“多媒體技術(shù)”將20050201學(xué)生選修“C03”號課程的成績改為該課的平均成績把女同學(xué)的成績提高5%把選修了“數(shù)據(jù)庫”課程學(xué)生的成績?nèi)臑榭罩担?NULL)刪除學(xué)號為20050302的學(xué)生記錄把“劉晨”同學(xué)的選課記錄全部刪除刪除電子商務(wù)專業(yè)所有學(xué)生的選課記錄思考題1.使用存在量詞[NOT]EXISTS勺嵌套查詢時,何時外層查詢的 WHERE條件為真,何時為假?DROP命令和DELETE命令的本質(zhì)區(qū)別是什么?利用INSERTUPDATE和DELETE命令可以同時對多個表操作嗎?實驗四索引與視圖的創(chuàng)建實驗?zāi)康恼莆账饕膭?chuàng)建和使用掌握視圖的創(chuàng)建和刪除實驗內(nèi)容和要求一、索引的創(chuàng)建與使用1.用索引管理器創(chuàng)建SC表的索引IX_XS_KC選擇要創(chuàng)建索引的數(shù)據(jù)庫文件夾,并在右邊的對象窗口中選擇并打開其中的“表”對象。選擇所要創(chuàng)建索引的SC表,右鍵單擊該表,在彈出的快捷菜單中選擇“設(shè)計”命令,然后在工具欄中單擊“管理索引和鍵”按鈕,打開“索引和鍵”窗口。單擊其中的“添加”按鈕,創(chuàng)建新的索引,并為其設(shè)置相應(yīng)的屬性。為SC表創(chuàng)建一個基于“課程號”列和“成績”列的索引 IX_XS_KC其中課程號列按升序排列,成績列按降序排列。 設(shè)置完成后,如圖3所示。圖3創(chuàng)建索引IX_XS_KC2?強制使用剛才創(chuàng)建的索引查詢數(shù)據(jù)。在查詢命令窗口中輸入以下SQL查詢命令并執(zhí)行:SELECTSNO,CNO,DEGREEFROMSCWITH(INDEX(IX_XS_KC)WHEREDEGREE>=60觀察一下顯示出來的數(shù)據(jù)是否有序。3.利用SQL命令實現(xiàn)下列操作:⑴為Studen

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論