




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本資料由-大學生創業|創業|創業網/提供資料PAGE在線代理|網頁代理|代理網頁|
減肥藥排行榜|淘寶最好的減肥藥|什么減肥藥效果最好|減肥瘦身藥|數據庫原理與應用綜合性實驗指導書數據庫理論及應用教研室2009.8
目錄實驗1DDL語言的應用 1實驗2DML語言的應用 5實驗3數據庫查詢語言的應用(一) 7實驗4數據庫查詢語言的應用(二) 8實驗5DCL語言的應用、備份和恢復 10實驗6存儲過程與觸發器的應用 11PAGE2實驗1DDL語言的應用實驗目的:本次實驗,要求學生在SQLServer2000中創建學生信息管理數據庫;創建學生基本信息表、課程基本信息表以及學生_課程表。要求學生為學生信息管理數據庫的學生基本信息表、課程基本信息表以及學生_課程表根據已經確定的主碼,為這三個表之間建立關聯。根據需求,建立必要的索引、視圖等數據庫對象。實驗內容:1)創建學生信息管理數據庫,創建student庫,數據文件初始為10MB,最大空間為20MB,文件自動增長為10%,日志文件初始大小為2MB,最大空間10MB,文件的增長率為10MB。2)創建表、確定表的主碼和約束條件,表的數據字典如下諸表所示。SUDENT表的結構列名說明數據類型約束Sno學號字符串,長度7主碼Sname姓名字符串,長度10非空Ssex性別長度,字符串2取”男”或”女”Sage年齡整數取值15~45Sdept所在系字符串默認值”計算機系”COURSE表的結構列名說明數據類型約束Cno課程號字符串,長度10主碼Cname課程名字符串,長度20非空Ccredit學分整數取值>0Semster開課學期整數取值>0Period學時整數取值>0SC表的結構列名說明數據類型約束Sno學號字符串,長度7主碼,引用Student的外碼Cno課程號字符串,長度10主碼,引用Course的外碼Grade成績整數取值0~1003)熟悉SQLServerEnterpriserManager工具的使用方法。4)為基本表STUDENT、COURSE、SC建立基于主碼的聚簇索引。5)為基本表STUDENT、COURSE、SC建立非聚簇索引,索引字段自由確定。6)建立符合要求的數據庫視圖。7)為基本表建立關系圖。(本部分實驗內容可以補寫入實驗報告)實驗步驟:第一步啟動SQLServer2000QueryAnalyzer,輸入如下代碼:CREATEDATABASESTUDENTON(NAME=STUDENT_DATA,FILENAME='C:\programfiles\MicrosoftSQLServer\Mssql\Data\STUDENT.mdf',SIZE=10,MAXSIZE=20,FILEGROWTH=10%)LOGON(NAME=STUDENT_LOG,FILENAME='C:\programfiles\MicrosoftSQLServer\Mssql\Data\STUDENT.ldf',SIZE=2,MAXSIZE=10,FILEGROWTH=1)執行以上代碼之后,完成了創建學生信息管理數據庫。第二步啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOCREATETABLEStudent(Snochar(7)PRIMARYKEY,Snamechar(10)NOTNULL,Ssexchar(2)CHECK(Ssex='男'ORSsex='女'),SagetinyintCHECK(Sage>=15ANDSage<=45),Sdeptchar(20)DEFAULT'計算機系')執行以上代碼之后,完成了創建STUDENT表。第三步啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOCREATETABLECourse(Cnochar(10)NOTNULL,Cnamechar(20)NOTNULL, CcredittinyintCHECK(Ccredit>0), SemestertinyintCHECK(Semester>0), PeriodintCHECK(Period>0), PRIMARYKEY(Cno))執行以上代碼之后,完成了創建COURSE表。第四步啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOCREATETABLESC(Snochar(7)NOTNULL,Cnochar(10)NOTNULL,Gradetinyint,CHECK(Grade>=0andGrade<=100),PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno),FOREIGNKEY(Cno)REFERENCESCourse(Cno))執行以上代碼之后,完成了創建SC表。在企業管理器中實現以上操作,實驗過程中注意避免數據庫和基本表的命名沖突的問題。本部分試驗內容可不寫入實驗報告。第五步為基本表建立基于主碼的聚簇索引。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOCREATECLUSTEREDINDEXSNO_CLUONSTUDENT(SNODESC)CREATECLUSTEREDINDEXCNO_CLUONCOURSE(CNODESC)CREATECLUSTEREDINDEXSNOCNO_CLUONSC(SNOCNO)分別執行以上代碼,基本表STUDENT、COURSE、SC中便被創建了聚簇索引數據庫對象。第六步為基本表STUDENT、COURSE、SC創建非聚簇索引。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOCREATEINDEXSAGE_INXONSTUDENT(SAGEDESC)CREATEINDEXCNAME_INXONCOURSE(CNODESC)CREATEINDEXGRADE_INXONSC(GRADE)分別執行以上代碼,基本表STUDENT、COURSE、SC中便被創建了索引數據庫對象。第七步為基本表STUDENT、COURSE、SC創建符合條件的數據庫視圖,題目自擬。舉例:為數學系學生建立基本信息視圖。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOCREATEVIEWMATH_VIEWASSELECT*FROMSTUDENTWHERESDEPT=‘數學‘2)為數學系中全體女同學建立基本信息視圖。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOCREATEVIEWMATHNV_VIEWASSELECT*FROMMATH_VIEWWHERESSEX=‘女第八步在企業管理器中完成該實驗內容,注意分析表之間的關系圖與主碼和外碼概念的聯系。實驗2DML語言的應用實驗目的:本次實驗,要求學生在學生信息管理數據庫的學生基本信息表、課程基本信息表以及學生_課程表中根據要求進行數據的插入、刪除和更新。操作時,要考慮到表之間的級聯關系。實驗內容:向基本表STUDENT、COURSE、SC中插入適量備用數據。刪除基本表STUDENT、COURSE、SC中符合要求的數據。更新基本表STUDENT、COURSE、SC中符合要求的記錄。多表之間的級聯數據刪除。實驗步驟:第一步向基本表STUDENT中插入數據。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOINSERTINTOSTUDENT(SNO,SNAME,SAGE,SSEX,SDEPT)VALUES(‘2004080201’,’王剛’,20,’男’,’計算機’)執行該代碼后,在STUDENT表中增加了一條記錄。其它數據的插入請參照上述操作。注意:在為基本表SC插入數據時必須遵照參照完整性規則。第二步刪除基本表STUDENT中滿足條件的數據。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGODELETEFROMSTUDENTWHERESDEPT=’數學’執行該代碼后,在STUDENT表中刪除了一條記錄。其它數據的刪除請參照上述操作。第三步更新基本表STUDENT中滿足條件的記錄。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOUPDATESTUDENTSETSAGE=SAGE+1執行該代碼后,在STUDENT表中的SAGE數據進行了加1的更新。其它數據的更新請參照上述操作。第四步級聯刪除示例1)刪除辛國年同學的成績。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGODELETEFROMSCWHERES#IN(SELECTS#FROMSWHERESN=‘辛國年’)2)在STUDENT表中,假設已經增加了獎學金列BONUS(INT),凡總分超過500分學生的發獎金100元。啟動SQLServer2000QueryAnalyzer,輸入如下代碼:USESTUDENTGOUPDATESTUDENTSETBONUS=100UPDAWHERES#IN(SELECTS#FROMSCGROUPBYS#HAVINGSUM(GRADE)>=500)實驗3數據庫查詢語言的應用(一)實驗目的:本次實驗,要求學生在學生信息管理數據庫的基本表中,適當利用集函數檢索滿足條件的數據,并根據要求輸出檢索結果。(單表數據檢索,實驗時要求分別使用SQL語言和T-SQL語言實現自定的題目)實驗內容:1)檢索學生的姓名,年齡和性別2)檢索學生選修課程的課程號3)檢索學習課程號為C2的所有學生的學號和成績4)檢索課程號為C2且成績高于85分以上的學生學號和成績5)檢索選修C1或C2的學生學號6)檢索成績在70分至80分之間的學生學號,課程號和成績7)檢索選修C1的學生學號和成績,并按成績的降序和學號的升序排列8)檢索學號為S1,S3,S4的姓名,年齡(年齡按升序排列)實驗步驟:啟動SQLServer2000QueryAnalyzer,輸入如下代碼:(查詢結果在此不做描述,操作的方式相似,不贅述)USESTUDENTGOSELECTSN,AGE,SEXFROMS;(SELECT*FROMS;)SELECTDISTINCTC#FROMSCSELECTS#,GRADEFROMSCWHEREC#=‘C2’;S#,GRADEFROMSCWHEREC#=‘C2’ANDGRADE>85;SELECTS#FROMSCWHEREC#=‘C1’ORC#=‘C2;SELECT*FROMSCWHEREGRADEBETWEEN70AND80;SELECTS#,GRADEFROMSCWHEREC#=‘C1’ORDERBYGRADEDESC,S#;SELECTSN,AGEFROMSWHERES#IN(‘S1’,’S3’,’S4’)ORDERBYAGE;執行以上代碼,運行的結果分別對應實驗內容中的8個題目。根據實驗過程中的實際情況,同學們可以自行命題實現數據的檢索。實驗4數據庫查詢語言的應用(二)實驗目的:本次實驗,要求學生在學生信息管理數據庫的多個基本表中,適當利用集函數檢索滿足條件的數據,并根據要求輸出檢索結果。(多表數據檢索,可以使用的多表連接關鍵詞包括:IN、ALL、ANY、EXISTS、INNERJOINON以及關系運算符等等,實驗時要求分別使用SQL語言和T-SQL語言實現自定的題目)實驗內容:1)檢索辛國年同學所學課程的課程號及成績2)查詢每一門課程的間接先修課的課號和課名。(參照給定的數據表)3)檢索所有學生的姓名、選課名稱和成績。4)檢索和辛國年同學同歲的學生姓名。5)檢索選修C2課程號的學生姓名6)檢索選修課程C2的學生中成績最高的學生的學號。7)檢索沒有選修C2的學生姓名8)檢索選修C2課程號的學生姓名(用EXISTS)9)檢索沒有選修C2的學生姓名(用NOTEXIST)10)檢索出選修課程至少等于三門的學生學號和選課門數11)檢索缺少學習成績的學生學號和課程號實驗步驟:啟動SQLServer2000QueryAnalyzer,輸入如下代碼:(查詢結果在此不做描述,操作的方式相似,不贅述)USESTUDENTGOSELECTSN,C#,GRADEFROMS,SCWHERES.S#=SC.S#ANDSN=‘辛國年’;SELECTFIRST.C#,SECOND.CP#FROMCFIRST,CSECONDWHEREFIRST.CP#=SECOND.C#SELECTSN,CN,GRADEFROMS,SC,CWHERES.S#=SC.S#ANDSC.C#=C.C#;SELECTSNFROMSWHEREAGE=(SELECTAGEFROMSWHERESN=‘辛國年’);SELECTSNFROMSWHERES#=ANY(SELECTS#FROMSCWHEREC#=‘C2’);(SELECTSNFROMS,SCWHERES.S#=SC.S#ANDC#=‘C2’);WHEREC#=‘C2’ANDGRADE>=ALL(SELECTGRADEFROMSCWHEREC#=‘C2’);WHERE‘C2’NOTIN(SELECTC#FROMSCWHERES#=S.S#);SELECTSNFROMSWHEREEXISTS(SELECT*FROMSCWHERES#=S.S#ANDC#=‘C2’);SELECTSNFROMSWHERENOTEXISTS(SELECT*FROMSCWHERES#=S.S#ANDC#=‘C2’);SELECTS#,COUNT(*)FROMSCGROUPBYS#HAVINGCOUNT(*)>=3;SELECTS#,C#FROMSCWHEREGRADEISNULL;執行以上代碼,運行的結果分別對應實驗內容中的8個題目。根據實驗過程中的實際情況,同學們可以自行命題實現數據的檢索。實驗5DCL語言的應用、備份和恢復實驗目的:本次實驗,要求學生對學生信息管理數據庫、學生基本信息表、課程基本信息表以及學生_課程表根據要求進行插入、刪除、更新、檢索等權限的授予和收回。并根據所得到的權限進行相應的操作;要求學生對數據庫和基本表進行數據的備份和恢復。實驗內容:1、權限的授予與收回(1)授予(收回)SCOTT用戶創建基本表的權限(2)把STUDENT表上的插入和修改Sno列的特權授予LI和WANG用戶(3)把Course表上的所有權力授予用戶WANG,而WANG還可以把權限授予其它用戶(4)從WANG用戶手中收回修改SCOTT表的權限2、數據庫的備份與恢復本實驗的實驗方法參照相關SQLServer書籍中數據備份和恢復機制的內容和步驟進行,本指導書將省略操作步驟。用EnterpriseManager創建一個備份設備,自命名。為學生信息管理數據庫設置一個備份計劃,要求每星期一進行備份。在EnterpriseManager中恢復學生選課數據庫。本部分實驗過程可以不寫入實驗報告,但要求將實驗內容和結果寫在實驗報告中。2、利用查詢分析器啟動SQLServer2000QueryAnalyzer,輸入如下代碼:(查詢結果在此不做描述,操作的方式相似,不贅述)/*授予(收回)SCOTT用戶創建基本表的權限*/GRANTCREATETABLETOSCOTT;REVOKECREATETABLEFROMSCOTT;/*把STUDENT表上的插入和修改Sno列的特權授予LI和WANG用戶*/GRANTINSERT,UPDATE(Sno)ONStudentTOLI,WANG;/*把Course表上的所有權力授予用戶WANG,而WANG還可以把權限授予其它用戶*/GRANTALLONCourseTOWANGWITHGRNATOPTION/*從WANG用戶手中收回修改SCOTT表的權限*/REVOKEUPDATEONStudentFROMWANG分別在查詢分析器中執行上述語句,查看執行結果。實驗6存儲過程與觸發器的應用實驗目的:本次實驗,要求學生在學生基本信息表中創建插入數據觸發器、在課程基本信息表中創建刪除數據和更新數據觸發器。在該數據庫中創建檢索滿足條件的數據的存儲過程。學生可以根據實際情況,自行設計實驗題目。實驗內容:基于PUBS數據庫建立AU_INFO存儲過程,該存儲過程利用表間連接的方式返回指定的作者的姓名、該作者所寫的書籍的出版商。基于student數據庫創建觸發器。在Student表中存儲了學號和姓名信息。在COURSE表中存儲了課程的編號、學號和成績等信息。在刪除STUDENT表中某些學生的信息時,應該同時刪除COURSE表中相關的數據行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫療實驗室的智能管理系統設計與實施
- 醫療AI的倫理審查機制國際經驗與本土實踐
- 競選小組長發言稿模版
- Axure RP 互聯網產品原型設計課件 第7章 變量與表達式
- 以患者為中心用數字技術提高醫院服務質量與患者滿意度
- 大學生校園生活總結模版
- 司機班長年終總結工作總結模版
- 2025年第三季度年應急管理工作總結模版
- 信息安全管理在企業的核心地位
- 公眾號委托代理合同范例
- 70歲以上老人考駕照,三力測試題庫答案
- 2023年副主任醫師(副高)-中醫婦科學(副高)考試上岸歷年考點真題演練含答案
- 醫院預算業務流程圖
- ALeader 阿立得 ALD515使用手冊
- 政教主任國旗下的講話稿-講話稿
- 國學文化古典中國風模板
- 傷口評估與護理記錄
- 國民經濟核算司精講GDP核算
- 畢業論文PLC在機械手控制系統中的應用
- 國家開放大學《人文英語4》邊學邊練參考答案
- HY/T 0331-2022綠潮生態調查與監測技術規范
評論
0/150
提交評論