數據庫原理與技術實驗報告_第1頁
數據庫原理與技術實驗報告_第2頁
數據庫原理與技術實驗報告_第3頁
數據庫原理與技術實驗報告_第4頁
數據庫原理與技術實驗報告_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

./南華大學計算機科學與技術學院實驗報告〔2011~2012學年度第二學期課程名稱數據庫原理與技術實驗名稱數據庫實驗志興學號專業(yè)電氣信息類班級1003班地點8—209教師征海實驗 1 認識 DBMS一、利用管理工具創(chuàng)建數據庫、表和表間關系實驗目的和注意事項實驗目的:熟悉SQLServerManagementStudio的基本操作,進一步理解數據庫、表、表間關系的概念。注意事項:創(chuàng)建數據庫和數據表時應認真,如果出現(xiàn)錯誤,應相應地修改結構或刪除?!捕嶒炄?lt;1> 利用SQLServerManagementStudio 創(chuàng)建數據庫,名稱為[學生選課XXXX]。XXXX為各位同學的學號中的最后四位<2> 在[學生選課XXXX]中建立數據表,表的定義如下所示。學生XXXX<學號,,性別,出生日期,院系名稱,備注>;課程XXXX<課程號,課程名,選修課,學分>;選修XXXX<學號,課程號,分數>。要求定義每表的主碼,為屬性選擇合適的數據類型,決定是否允許為空,為[性別]和[學分]屬性定義默認值。<3> 定義表之間的關系。<4> 分別為表錄入幾行數據記錄,同時練習數據的修改和刪除操作。〔三實驗步驟<1>SQLServerManagementStudio,連接數據庫服務器,進入SQLServerManagementStudio 主界面。<2> 右擊[對象資源管理器]|[數據庫],選擇快捷菜單中的[新建數據庫]命令,彈出[新建數據庫]窗口,在各屬性頁中設置新建數據庫的屬性,包括設置數據庫邏輯名、所有者、文件的邏輯名、文件的物理名、文件類型、文件增長方式、文件的路徑、文件組等屬性,如圖下所示。<3>保存新建的數據庫,該數據庫的邏輯名為[學生選課XXXX]。<4>在[對象資源管理器]中,右擊[學生選課XXXX] |[表],選擇快捷菜單中的[新建表]命令,彈出表設計器對話框,新建"學生XXXX、課程XXXX、選修XXXX"3個表,如圖所示。<5>通過設計關系圖,設置數據庫的數據完整性。在[對象資源管理器]中,右擊[學生選課XXXX]|[數據庫關系圖],選擇快捷菜單中[新建數據庫關系圖]命令,彈出[添加表]對話框。將這 3個表添加到關系圖設計器中,設置數據完整性,如圖所示<6>右擊要操作的表,選擇快捷菜單中的[打開表]命令,彈出表窗口。直接在表數據窗口中對表數據進行操作,包括插入、刪除、修改記錄,如圖所示。<7> 如果數據庫和表需要修改、刪除,還可以在SQLServerManagementStudio 中進行修改、刪除操作。二、利用SQL語句創(chuàng)建數據庫、表和表間關系〔一實驗目的和注意事項實驗目的:熟悉創(chuàng)建數據庫和數據表的SQL語句。注意事項:輸入SQL語句時應注意,語句中均使用西文操作符號?!捕嶒炄菰赟QLServerManagementStudio中新建查詢,實現(xiàn)以下操作。<1>用SQL語句創(chuàng)建數據庫,名稱為"StudentCourseXXXX"。其中XXXX為各位同學的學號中的最后四位。<2>用SQL語句創(chuàng)建StudentCourseXXXX中的3表,同時指定主碼、外碼、默認值等。<3>比較"學生選課XXXX"和StudentCourseXXXX兩個數據庫是否一致。〔三實驗步驟<1>選擇數據庫master,右擊[新建查詢],或者選擇系統(tǒng)菜單中的[文件]|[新建]|[使用當前連接查詢]命令,或者單擊標準工具欄中的[新建查詢]按鈕,即可新建一個查詢窗口。如果查詢數據庫不是master,則可在可用數據庫下拉列表中進行選擇,或用USE語句調用。在查詢窗口中輸入對應的創(chuàng)建數據庫和表的語句。<2>創(chuàng)建數據庫StudentCourseXXXX。<3>創(chuàng)建3個表。StudentsXXXX、CoursesXXXX、SCXXXX<4>直接在表數據窗口中錄入表數據記錄。實驗一完成后,數據庫結構應該和下圖類似:〔四實驗小結通過這個實驗熟悉了SQLServerManagementStudio的基本操作,進一步理解了數據庫、表、表間關系的概念。熟悉了創(chuàng)建數據庫和數據表的SQL語句實驗 2 交互式 SQL〔1數據庫單表查詢實驗目的:掌握單表查詢SELECT、FROM、WHERE的用法,特別要掌握比較運算符、邏輯運算符的使用。注意事項:子句WHERE<條件>表示元組篩選條件;子句HAVING<條件>表示元組選擇條件;子句HAVING<條件>必須和GROUPBY子句配合使用;注意輸入SQL語句時均應使用西文操作符號。實驗容:<1>創(chuàng)建查詢窗口,設置查詢環(huán)境。<2>單表查詢。實驗步驟選擇要查詢的數據庫,右擊[新建查詢],或者選擇系統(tǒng)菜單中的[文件]|[新建]|[使用當前連接查詢]命令,或者單擊標準工具欄中的[新建查詢]按鈕,即可新建一個查詢窗口。如果查詢數據庫不是StudentCourseXXXX,則可在可用數據庫下拉列表中進行選擇,或用USE語句調用。<2>在查詢窗口中輸入SELECT查詢語句,對StudentCourseXXXX數據庫進行查詢操作。查詢計算機系全體學生的信息②查詢姓""的學生的學號和。③查詢課程表中先行課為空的課程名。④查詢考試成績有不及格的學生的學號。⑤求選修了C1課程或C2課程的學生的學號及成績。⑥查詢全體計算機系學生的及其年齡。⑦查詢計算機系在1986-1987年之間出生的學生的。⑧查詢姓""的前兩個學生的學號和。⑨查詢選修了兩門以上課程的學生學號與課程數。⑩查詢選修課程數大于等于2的學生的學號、平均成績和選課門數,并按平均成績降序排列。二、數據庫多表連接查詢實驗目的和注意事項實驗目的:理解多表查詢的概念;掌握多表查詢的SELECT、FROM、WHERE、JOIN子句的用法,特別要求比較連接、外連接的結果。注意事項:連接、左外連接和右外連接的含義及表達方法;注意輸入SQL語句時均應使用西文操作符號。實驗容<1>創(chuàng)建查詢窗口,設置查詢環(huán)境。<2>多表復雜查詢。實驗步驟新建查詢窗口,選擇StudentCourseXXXX為當前數據庫,輸入如下SELECT查詢語句并執(zhí)行,對數據庫進行多表連接查詢操作。查詢選修了[數據庫原理]的計算機系的學生學號和。查詢每一門課的間接先行課<即先行課的先行課>。查詢學生的學號、、選修課程的名稱和成績。<4>查詢選修了課程的學生。<5>查詢所有學生的信息和所選修的課程。<6>查詢已被選修的課程的情況和所有課程的名字。<7>列出學生所有可能的選修情況。<8>查找計算機系的學生選修課程數大于2的學生的、平均成績和選課門數,并按平均成績降序排列。實驗總結通過這個實驗掌握了單表查詢select、from、where的用法,和比較運算符、邏輯運算符的使用。理解了多表查詢的概念,掌握了多表查詢的select、from、where、join子句的用法。熟練了group,orderby和聚合函數COUNT〔,AVG〔的操作,以及嵌套操作,連接操作的應用。實驗 3 交互式 SQL〔2數據庫嵌套查詢和組合查詢實驗目的和注意事項實驗目的:掌握查詢中嵌套查詢和組合查詢的操作方法,進一步加深對SELECT語句的理解。注意事項:子句的使用;注意語句的層次嵌套關系和括號的配對使用問題;注意輸入SQL語句時均應使用西文操作符號。實驗容<1>創(chuàng)建查詢窗口,設置查詢環(huán)境。<2>分組查詢。<3>統(tǒng)計查詢。<4>嵌套查詢。實驗步驟新建查詢窗口,選擇StudentCourseXXXX為當前數據庫,輸入如下SELECT查詢語句并執(zhí)行,對數據庫進行嵌套查詢和組合查詢操作。<1>統(tǒng)計選修了[數據庫原理]課程的學生人數。<2>查詢沒有選修[數據庫原理]課程的學生信息。<3>查詢其他系中比計算機系學生年齡都小的學生。查詢被0602001學生或0602002學生所選修的課程的課程號<用UNION組合查詢與IN條件查詢兩種方法實現(xiàn)>。<5>查詢0602001學生和0602002學生同時選修的課程的課程號<用INTERSECT組合查詢與EXISTS嵌套子查詢兩種方法實現(xiàn)>。<6>查詢被0602001學生選修,但沒有被0602002學生所選修的課程的課程號<用EXCEPT組合查詢與NOTEXISTS嵌套子查詢兩種方法實現(xiàn)>。實驗小結通過這個實驗掌握了查詢中嵌套查詢和組合查詢的操作方法,比如exists、any、intersectunionexcept的基本用法進一步加深了對SELECT語句的理解。實驗 4 交互式 SQL〔3數據的更新實驗目的和注意事項實驗目的:熟悉插入、修改和刪除SQL語句的用法。注意事項:對于INSERT語句,要求理解默認值約束、空值約束在插入時所起的作用。實驗容<1>使用INSERT語句在數據庫的表中插入幾行記錄。<2>使用UPDATA語句修改某個數據。<3>使用DELETE語句刪除某行記錄。實驗步驟<1>新建查詢窗口,選擇StudentCourseXXXX為當前數據庫。<2>在已建立StudentCourseXXXX數據庫和StudentsXXXX、CoursesXXXX、SCXXXX3個表的基礎上,向StudentCourseXXXX數據庫中的表更新數據。向表StudentsXXXX中插入<0601001,林,男,1985-09-08,計算機>的記錄。②向SCXXXX表中添加一個學生的選課記錄,學號為0601001,所選的課程號為C2。SC表中有Sno、Cno、Grade這3個列。這里只知道學號和課程號,不知道成績值。③向表StudentsXXXX中插入<0601002,修雨,default>記錄,該記錄的數據中default表示默認值‘男’,其他數據表示空值。④用CREATE語句建立表StudentBAK1XXXX,包含<與Students的Sno、Sname、Sdept相同>3個字段,然后用INSERTSELECT語句實現(xiàn)向StudentBAK1XXXX添加StudentsXXXX表中的計算機系學生的學號、、所在系的信息。⑤用SELECT...INTO語句實現(xiàn)把StudentsXXXX表中1986年后<包含1986年>出生的學生的學號、存儲到一個新表StudentBAK2XXX

溫馨提示

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

評論

0/150

提交評論