![數(shù)據(jù)庫原理實驗指導書_第1頁](http://file4.renrendoc.com/view10/M03/19/05/wKhkGWWdftSASJE2AAF0K6m-Sd4263.jpg)
![數(shù)據(jù)庫原理實驗指導書_第2頁](http://file4.renrendoc.com/view10/M03/19/05/wKhkGWWdftSASJE2AAF0K6m-Sd42632.jpg)
![數(shù)據(jù)庫原理實驗指導書_第3頁](http://file4.renrendoc.com/view10/M03/19/05/wKhkGWWdftSASJE2AAF0K6m-Sd42633.jpg)
![數(shù)據(jù)庫原理實驗指導書_第4頁](http://file4.renrendoc.com/view10/M03/19/05/wKhkGWWdftSASJE2AAF0K6m-Sd42634.jpg)
![數(shù)據(jù)庫原理實驗指導書_第5頁](http://file4.renrendoc.com/view10/M03/19/05/wKhkGWWdftSASJE2AAF0K6m-Sd42635.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《數(shù)據(jù)庫原理》實驗指導書實驗1熟悉SQLServer一、實驗目的熟悉數(shù)據(jù)庫表的創(chuàng)建及管理方法。熟悉SQLServer的運行環(huán)境。二、實驗內(nèi)容1.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫。使用企業(yè)管理器創(chuàng)建基本表。三、實驗過程1.首先通過【開始】一【程序】一【MicrosoftSQLServers]一【企業(yè)管理器】,打開企業(yè)管理器界面,如圖1。-1口同SQLServerEnterpriseMana苦遷-[控制臺根目錄-1口同雀]控制臺(£)窗口地)幫助QI)操作(A)操作(A)查看(Y)工具(I)_i控制臺根目錄白??副_i控制臺根目錄白??副MicrosoftSQLServers
白句SQLServer組白??奧-」數(shù)據(jù)庫GUOLH(WindowsBT)畝…E-S-畝,E-S-囹|mastermodelImsdbNorthwind9pubsytempdbGUOLH(WindowsNT)6個項目數(shù)蛔庫數(shù)蛔轉換服務管理復制安全性支持服務_MetaDataServi>:es+」數(shù)據(jù)轉換服務+」管理+」復制+」安全性+」支持服務企業(yè)管理器2.在“數(shù)據(jù)庫”上按鼠標右鍵選擇“新建數(shù)據(jù)庫”,出現(xiàn)數(shù)據(jù)庫屬性窗口,+」數(shù)據(jù)轉換服務+」管理+」復制+」安全性+」支持服務企業(yè)管理器2.在“數(shù)據(jù)庫”上按鼠標右鍵選擇“新建數(shù)據(jù)庫”,出現(xiàn)數(shù)據(jù)庫屬性窗口,在常規(guī)選項頁的名稱欄中輸入數(shù)據(jù)庫名稱StuCourse。3.利用“企業(yè)管理器”在數(shù)據(jù)庫StuCourse中建立三個表Student、Course>SC,結構如下:表1學生信息表:student列名數(shù)據(jù)類型長度完整性約束snochar8主鍵snamechar4不為空
ssexchar1sageintsdeptchar10表2課程信息表:course列名數(shù)據(jù)類型長度完整性約束cnochar2主鍵cnamechar30ccreditint表3學生選課表:sc列名數(shù)據(jù)類型長度完整性約束snochar8主屬性,外鍵cnochar2主屬性,外鍵gradeint是點擊StuCourse數(shù)據(jù)庫下“表”對象,右鍵選擇“新建密。在表設計器(如圖2)中輸入學生表的各列及其數(shù)據(jù)類型,完畢后保存為“Student”表。圖2表設計器以同樣的方法創(chuàng)建其余表。4.建立主碼(1)給學生表student建立主碼。在student表上單擊右鍵選擇“設計表”,選中Sno,點擊右鍵,選擇設置主鍵。選定的關系底):FIC_Ei:_EtiiderLt關系名(Kj:FIC_sc_5tiidHrLt/對復制強制關系⑥圖4設置外碼環(huán)對IHSERT和UPDATE強制賣系。⑶點擊“新建”按鈕!,并在其中選擇主鍵表“student選定的關系底):FIC_Ei:_EtiiderLt關系名(Kj:FIC_sc_5tiidHrLt/對復制強制關系⑥圖4設置外碼環(huán)對IHSERT和UPDATE強制賣系。⑶點擊“新建”按鈕!,并在其中選擇主鍵表“student”外鍵表“
后模閉相關啜可創(chuàng)建好外碼。都選擇“sno,。然后(4)采用同樣的方法給sc表設定外碼cno。6.設定自定義完整性關閉c”,屬性⑵打開student表,則發(fā)現(xiàn)向其中輸入數(shù)據(jù)時,在Sno列不能輸入相同的數(shù)據(jù),也不能取空值。(3)用同樣的方法設置其他表的主碼.5.設定外碼⑴給sc表設定外碼sno。打開student表的設計器,點擊右鍵,選擇“關系”。⑵選擇“關系”后會彈出“屬性”對話框,如圖4.關系 索引/麋CHECK約束EtudeiLt表名:
EtudeiLt打開“student”表設計器,點擊右鍵,選擇'CHECK約束”,在彈出的窗口中,點擊“新建”按鈕,并在“約束表達式”文本框中輸入條件“age>15andage<25”如圖5所示,然后點擊關閉。性性age>15:hldage<50際創(chuàng)建中檢查現(xiàn)存數(shù)據(jù)?17對復制強制約束[7對INSERT和UPDATE強制約束堡)圖5自定義完整性以同樣的方式再在“student”上創(chuàng)建一個約束,約束條件是sse女’。女’。關閉幫助7.輸入數(shù)據(jù)用鼠標右鍵單擊student表,在彈出菜單中選擇:“打開表”,“返回所有行”,然后在表格中輸入相應的記錄。Student表noSsnamesex8Sagedept0麗王女匚 20C0李紅女匚 18C0亮王男號 17MCourse表CnoCnameccredit1英語42數(shù)學43語文24物理1Sc表SnoCnoGrade01165013750219003288034608.下面來驗證前面設置的外碼、自定義完整性:(1)在sc表中分別添加記錄“04295”和“02670”.看一下能否添加到表中?為什么?“04295”的Sno屬性的值“04”在表Student中找不到一個元組,其Sno屬性的值與之相等。“02670”的Cno屬性的值“6”在表Course中找不到一個元組,其Cno屬性的值與之相等。因此以上2條記錄不能被添加。(2)在student表中分別嘗試添加以下記錄“04孫衛(wèi)男35CS”和“04孫衛(wèi)重20CS”??紤]不能添加的原因是什么?記錄“04孫衛(wèi)男35CS”不滿足約束條件“age>15andage<25”記錄“04孫衛(wèi)重20CS”不滿足約束條件“ssex=’男’orssex=’女’”。實驗2SQL定義語句一、實驗目的熟悉SQL語言環(huán)境熟練使用SQL語言所提供的定義功能二、 實驗內(nèi)容練習creat語句的使用練習drop語句的使用3.練習alter語句的使用三、 實驗過程1.利用create語句創(chuàng)建一個student表,它由學號Sno、姓名Sname、性別Ssex、年齡Sage、系別Sdept五個屬性組成。其中,學號是主碼,姓名取值唯一。CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY/*列級完整性約束條件*/SnameCHAR(20)UNIQUE, /*Sname取唯一值*/SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));將創(chuàng)建具有如下圖1所示的表結構的數(shù)據(jù)庫表。圖1表結構2.建立一個"課程”表Courseo包含Cno、Cname、Cpno、Ccredit四個屬性。其中Cno是主碼,Cpno是外碼,參照Cno屬性。CREATETABLECourse(CnoCHAR(4)PRIMARYKEYCnameCHAR(40),Cpno CHAR(4),CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno));建立一個“學生選課”表SC。主碼由Sno,Cno組成。Sno是外碼,被參照表是Student,Cno是外碼,被參照表是CourseoCREATETABLESC(SnoCHAR⑼,CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno),FOREIGNKEY(Cno)REFERENCESCourse(Cno));利用alter語句向student表增加入學時間SCOME列,其數(shù)據(jù)類型為日期型。AltertablestudentaddSCOMEDATE;圖2修改后的表結構將年齡的數(shù)據(jù)類型由字符型改為整數(shù)。ALTERTABLEStudentALTERCOLUMNSageINT增加課程名稱必須取唯一值的約束條件。ALTERTABLECourseADDUNIQUE(Cname);利用create命令在表student上按學號升序建立唯一索引。Createuniqueindexstusnoonstudent(SNO);注意:在創(chuàng)建了索引后需先打開才能生效。Course表按課程號降序建唯一索引。CREATEUNIQUEINDEXCoucnoONCourse(CnoDESC);利用drop命令刪除在student表的按學號升序的唯一索引。Dropindexstusno;因為索引是依附于基本表的,基本表的修改將直接影響到索引,故沒提供修改索引的命令。利用drop命令刪除基本表CourseoDroptableCourse注意;基本表定義一旦刪除,表中的數(shù)據(jù)、在此表上創(chuàng)建的索引和試圖都將自動刪除,故應慎重。一、 實驗目的掌握用select語句實現(xiàn)簡單的查詢掌握用select語句實現(xiàn)帶有各種查詢條件的查詢二、 實驗內(nèi)容用select語句實現(xiàn)單表查詢用select語句實現(xiàn)連接查詢用select語句實現(xiàn)嵌套查詢用select語句實現(xiàn)集合查詢?nèi)?實驗過程假設數(shù)據(jù)庫中已存在三個基本表學生信息表student、課程表course和學生選課表sc。其中:學生信息表:student(SNO,SNAME,SSEX,SAGE,SDEPT)課程表:course(CNO,CNAME,CPNO,CCREDIT)學生選課表:sc(SNO,CNO,GRADE)查詢所有年齡在20歲以下的學生的姓名及年齡。SelectSNAME,SAGEFROMSTUDENTWHERESAGE<20;查詢名字中第2個為“立”的學生的姓名和學號。Selectsname,snoFromstudentWheresnamelike’_立%’;查詢?nèi)鄙俪煽?成績?yōu)榭罩?的學生的學號和相應的課程號。Selectsno,cnoFromcourseWheregradeISNULL;查詢選修了3號課程的學生的學號及其成績,查詢結果按成績降序排序。Selectsno,gradeFromscWherecno=’3’Orderbygradedesc;查詢選修1號課程的學生的最高分數(shù)。SelectMAX(grade)FromscWherecno=’T;查詢選修了3門以上課程的學生的學號。SelectsnoFromscGroupbysnoHavingCOUNT(*)>3;查詢每個學生及其選課情況。Selectstudent.*,sc.*Fromstudent,scWherestudent.sno=sc.sno;查詢選修2號課程且成績在85分以上的所有學生。Selectstudent.sno,snameFromstudent,scWherestudent.sno=sc.snoandSo=’2’andSc.Grade>85查詢其他系中比信息系所有學生年齡都小的學生姓名及年齡。Selectsname,sageFormstudentWheresage<all(selectsagefromstudentwheresdept=’IS’)andsdept<>’IS’;查詢所有選修了1號課程的學生姓名。SelectsnameFromstudentWhereexists(select*fromscwheresno=student.snoandcno=T);查詢選修了課程1或課程2的學生。SelectsnoFromscWherecno=’1’UnionSelectsnoFromscWherecno=’2’;本題也可用多重條件查詢實現(xiàn),主要是練習集合查詢。建立數(shù)學系學生的視圖,并要求進行修改和插入操作時仍需保證該視圖中只有數(shù)學系的學生。Createviewm_studentAsSelectsno,sname,sageFromstudentWheresdept=’MA’Withcheckoption;建立信息系選修了1號課程的學生的視圖。CreateviewIS_S1(sno,sname,grade)AsSelect*Fromstudent,scWheresdept=’IS’andStudent.sno=sc.snoandSo=T;14.刪除m_student視圖。Dropviewm_student;因為視圖跟索引一樣也依附于基本表,多基本表的修改同樣可影射到視圖,故也沒提供修改視圖的語句。在建立了視圖后可象查詢基本表一樣對視圖進行各種查詢,但要求能進行轉換,然后在執(zhí)行修正了的查詢。實驗4SQL更新語句一、 實驗目的掌握SQL更新語句的使用掌握SQL控制功能的實現(xiàn)二、 實驗內(nèi)容.練習update語句的使用.練習delete語句的使用.練習insert語句的使用.練習grant語句的使用.練習revoke語句的使用實驗過程1.將一個新學生元組(學號:200215128;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。insertintostudent(sno,sname,ssex,sdept,sage)values('200215128','陳冬','男','IS',18);2將學生張成民的信息插入到Student表中。insertintostudentvalues(‘200215126’,‘張成民’,‘男’,18,'cs');插入一條選課記錄('200215128','1')。INSERTINTOSC(Sno,Cno)VALUES(‘200215128’,‘1’);對每一個系,求學生的平均年齡,并把結果存入數(shù)據(jù)庫。第一步:建表CREATETABLEDept_age/*系名/*系名*//*學生平均年齡*/Avg_ageSMALLINT);第二步:插入數(shù)據(jù)INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;將學生200215122選修2號課程改為選修1號課程。UpdatescSetcno=TWheresno=’200215122’andCno=’
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車租賃合同范本
- 2025年競業(yè)禁止合同協(xié)議范本
- 地鐵租賃合同
- 比賽用品租賃合同
- 垃圾壓縮站運輸合同
- 別墅室內(nèi)設計施工合同
- 住宅裝修智能家居系統(tǒng)合同
- 礦石運輸質(zhì)量保證合同
- 咖啡館翻新設計合同
- 建設工程項目總承包合同
- 2024年同等學力人員申請碩士學位英語試卷與參考答案
- 臨床用血管理培訓
- 介入手術室護理風險
- 小學一年級數(shù)學20以內(nèi)的口算題(可直接打印A4)
- 春季安全行車教育培訓
- 2024年6月第3套英語六級真題
- 2024年江蘇省公務員錄用考試《行測》題(A類)
- 2024年10月時政100題(附答案)
- 江蘇省無錫市2024年中考數(shù)學試卷(含答案)
- 2024年保密知識測試試題及答案(奪冠)
- 北師大版八年級下冊因式分解(分組分解法)100題及答案
評論
0/150
提交評論