數(shù)據(jù)庫原理實驗指導(dǎo)書_第1頁
數(shù)據(jù)庫原理實驗指導(dǎo)書_第2頁
數(shù)據(jù)庫原理實驗指導(dǎo)書_第3頁
數(shù)據(jù)庫原理實驗指導(dǎo)書_第4頁
數(shù)據(jù)庫原理實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

10《數(shù)據(jù)庫原理》試驗指導(dǎo)書試驗1生疏SQLServer一、試驗?zāi)康纳钄?shù)據(jù)庫表的創(chuàng)立及治理方法。二、試驗內(nèi)容使用企業(yè)治理器創(chuàng)立數(shù)據(jù)庫。三、試驗過程首先通過【開頭】→【程序】→【MicrosoftSQLServers】→【企業(yè)治理1。1企業(yè)治理器StuCourse。Student、Course、SC,構(gòu)造如下:列名數(shù)據(jù)類型長度完整性約束snochar列名數(shù)據(jù)類型長度完整性約束snochar8主鍵snamechar4不為空ssexssexsagesdeptcharintchar1102課程信息表:course列名數(shù)據(jù)類型 長度完整性約束cnocnameccreditchar 2char 30int3學生選課表:sc主鍵列名數(shù)據(jù)類型 長度完整性約束snochar 8主屬性,外鍵cnogradechar 2int 是主屬性,外鍵點擊StuCourse。在表設(shè)計器〔如2〕中輸入學生表的各列及其數(shù)據(jù)類型,完畢后保存為“Student”表。2表設(shè)計器以同樣的方法創(chuàng)立其余表。建立主碼studentstudentSno,點擊右鍵,選擇設(shè)置主鍵。3Sno列不能輸入一樣的數(shù)據(jù),也不能取空值。用同樣的方法設(shè)置其他表的主碼.設(shè)定外碼scsnostudent選擇“關(guān)系”后會彈出“屬性”對話框,如圖4.4設(shè)置外碼student”外鍵表“ssnosccno。設(shè)定自定義完整性studentCHECKage>15andage<25”5所示,然后點擊關(guān)閉。5自定義完整性studentssex男orssex=’女’。輸入數(shù)據(jù)student表,在彈出菜單中選擇然后在表格中輸入相應(yīng)的記錄。Ssname王Ssname王sSagenosex0女201麗0李女182紅0王男173亮SdeptCSCSMACourse表CnoCnoCnameccredit1英語42數(shù)學43語文24物理1Sc表SnoCnoGrade0116501375021900328803460下面來驗證前面設(shè)置的外碼、自定義完整性:〔1〕在sc表中分別添加記錄“04 2 95”和“02 670”.看一下能否添加到表中?為什么?“04 2 95Sno屬性的值“04Student中找不到一個元組,其Sno屬性的值與之相等?!?2 670Cno屬性的值“6Course中找不到一個元組,其Cno2條記錄不能被添加。孫衛(wèi)男3520CS記錄“04孫衛(wèi)男35CS”不滿足約束條件“age>15andage<25”記錄“04孫衛(wèi)重20CSssex男orssex=女試驗2SQL定義語句一、試驗?zāi)康腟QL語言環(huán)境二、試驗內(nèi)容2drop語句的使用3alter語句的使用三、試驗過程利用create語句創(chuàng)立一個studentSnoSnameSsex、Sdept五個屬性組成。其中,學號是主碼,姓名取值唯一。CREATETABLEStudent(Sno CHAR(9)PRIMARYKEY,/*列級完整性約束條件*/Sname CHAR(20)UNIQUE, /*Sname取唯一值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));將創(chuàng)立具有如以以下圖1所示的表構(gòu)造的數(shù)據(jù)庫表。1表構(gòu)造CnoCpnoCcreditCno是主碼,CpnoCno屬性。CREATETABLE Course(Cno CHAR(4) Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGNKEY(Cpno)REFERENCES Course(Cno));建立一個“學生選課”表SC。主碼由Sno,Cno組成。Sno是外碼,被參Student,CnoCourse。CREATETABLE (Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno),FOREIGNKEY(Cno)REFERENCESCourse(Cno));SCOME列,其數(shù)據(jù)類型為日期型。AltertablestudentaddSCOMEDATE;2修改后的表構(gòu)造將年齡的數(shù)據(jù)類型由字符型改為整數(shù)。ALTERTABLEStudentALTERCOLUMNSageINT;增加課程名稱必需取唯一值的約束條件。ALTERTABLECourseADDUNIQUE(Cname);createstudent上按學號升序建立唯一索引。Createuniqueindexstusnoonstudent(SNO);8.Course表按課程號降序建唯一索引。CREATEUNIQUEINDEX CoucnoONCourse(CnoDESC);dropstudent表的按學號升序的唯一索引。Dropindexstusno;改索引的命令。。DroptableCourse自動刪除,故應(yīng)慎重。試驗3SQL查詢語句一、試驗?zāi)康膕elect語句實現(xiàn)簡潔的查詢二、試驗內(nèi)容三、試驗過程studentcourse和學生sc。其中:student(SNO,SNAME,SSEX,SAGE,SDEPT)課程表:course(CNO,CNAME,CPNO,CCREDIT)學生選課表:sc(SNO,CNO,GRADE)名及年齡。Select SNAME,SAGEFROMSTUDENTWHERESAGE<20;查詢名字中第2個為“立”的學生的姓名和學號。Select FromstudentWheresnamelike_立%’;績〔成績?yōu)榭罩怠车膶W生的學號和相應(yīng)的課程號。Select sno,cnoFrom courseWheregrade IS NULL;Selectsno,gradeFromscWherecno=’3’Orderbygradedesc;Select MAX(grade)From scWherecno=’1’;查詢選修了3門以上課程的學生的學號。Select snoFrom scGroupbysnoHaving COUNT(*)>3;Selectstudent.*,sc.*Fromstudent,scWherestudent.sno=sc.sno;Selectstudent.sno,snameFrom student,scWherestudent.sno=sc.sno andSc.Grade>85查詢其他系中比信息系全部學生年齡都小的學生姓名及年齡。Selectsname,sageFormstudentWheresage<all(selectsagefrom wheresdept=’IS’)andsdept<>’IS’;SelectsnameFromstudentWhereexists(select*fromscwheresno=student.snoandcno=’1’);的學生。SelectsnoFromscWherecno=’1’UnionSelectsnoFromscWherecno=’2’;此題也可用多重條件查詢實現(xiàn),主要是練習集合查詢。中只有數(shù)學系的學生。Createviewm_studentAsSelectsno,sname,sageFromstudentWithcheckoption;建立信息系選修了1號課程的學生的視圖。CreateviewIS_S1(sno,sname,grade)AsSelect*Fromstudent,scStudent.sno=sc.snoandSo=’1’;m_student視圖。Dropviewm_student;故也沒供給修改視圖的語句。轉(zhuǎn)換,然后在執(zhí)行修正了的查詢。試驗4SQL更語句一、試驗?zāi)康腟QL更語句的使用二、試驗內(nèi)容1update語句的使用2delete語句的使用3insert語句的使用4grant語句的使用試驗過程202315128;姓名:陳冬;性別:男;所在系:18歲〕Student表中。insertinto student(sno,sname,ssex,sdept,sage)values(”202315128”,”陳冬”,”男”,”IS”,18);表中。insertinto studentvalues(‘202315126’‘張成民’‘男’,18,”cs”);3.插入一條選課記錄”202315128”,”1”)。INSERTINTOSC(Sno,Cno)VALUES(‘202315128’,‘1’);第一步:建表CREATE TABLE Dept_age(Sdept CHAR(15) /*系名*/Avg_ageSMALLINT); 學生平均年齡*/其次步:插入數(shù)據(jù)INSERTINTO Dept_age(Sdept,Avg_age)SELECT FROM StudentGROUPBYSdept; 1號課程。UpdatescSetcno=’1’Wheresno202315122and 6.1歲UpdateStudentSetSage=Sage+1;UPDATESCSET Wheresnoin(selectsnoFromstudentWheresdept=’cs’)deletefromstudentwhereSno=202315128”;3的記錄。DeleteFromscWherecno=’3’;DeleteFrom courseWherecno=’3’;DELETEFROMSCWHERE (SELETESdeptFROMStudentWHEREStudent.Sno=SC.Sno);權(quán)限授予擁護張勇,并允許他再將此權(quán)限授予其他用戶。GrantinsertOn

溫馨提示

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

評論

0/150

提交評論