資源描述:
《實驗三sql語言的ddl實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實驗三SQL語言的DDL實驗報告實驗任務(wù)1.打開數(shù)據(jù)庫SQLServer2008的查詢分析器,用CreateTable建表Student,course,sc。數(shù)據(jù)庫的名稱為“學(xué)生選課”,各個表結(jié)構(gòu)如教材P85頁所示。以下要求用T-SQL來實現(xiàn):創(chuàng)建student表:CREATEtableStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)UNIQUE,SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));創(chuàng)建course表:CREATETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCH
2、AR(40),CpnoCHAR(4),CreditSMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno));創(chuàng)建sc表:CREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno),FOREIGNKEY(Cno)REFERENcesCourse(Cno));2.向表中填入教材P82數(shù)據(jù)。3.向Student表增加“入學(xué)時間”列(列名為Scome,日期型)ALTERTABLEStude
3、ntADDScomeDATE;4.將年齡的數(shù)據(jù)類型改為整型。ALTERTABLEStudentALTERCOLUMNSageINT;5.為Student中Sname添加列級完整性約束,不能為空。為Student中Sno添加列級完整性約束,取值唯一,不能為空。Sname添加列級完整性約束,不能為空ALTERTABLEStudentADDCONSTRAINTc1CHECK(SnameISNOTNULL);圖示為插入元組時Sname列內(nèi)為空時數(shù)據(jù)輸入失?。篠no添加列級完整性約束,取值唯一,不能為空ALTERTABLEStudentADDCONSTRAINTc2UNIQUE(S
4、no)ALTERTABLEStudentADDCONSTRAINTc3CHECK(SnoISNOTNULL);6.刪除Student中Sname列級完整性。ALTERTABLEStudentDROPCONSTRAINTc1;7.為SC按學(xué)號升序和課程號降序建立唯一索引。CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC);8.建立Student、Course及SC的主碼約束。在建立Student、Course、SC表的主碼約束時出現(xiàn)錯誤,原因是在創(chuàng)建各個表時已經(jīng)定義了主碼約束,因此再次建立時失敗。(1)Student表主碼約束建立失?。?)C
5、ourse表主碼約束建立失敗(3)SC表主碼約束建立失敗9.建立Student與SC、Course與SC之間的外碼約束。ALTERTABLESCADDCONSTRAINTC5FOREIGNKEY(Sno)REFERENCESStudent(Sno)ALTERTABLESCADDCONSTRAINTC6FOREIGNKEY(Cno)REFERENCESCourse(Cno);10.實現(xiàn)學(xué)生性別只能是“男”或“女”的Check(檢查)約束。ALTERTABLEStudentADDCONSTRAINTC7CHECK(SsexIN('男','女'))11.實現(xiàn)學(xué)生年齡只能小于等于
6、30大于17的語義約束。ALTERTABLEStudentADDCONSTRAINTC8CHECK(Sage>17ANDSage<=30)12.用CreateIndex對表student的Sname字段建立一個升序索引,索引名Indexs。CREATEUNIQUEINDEXIndexsONStudent(Sname)13.用DropIndex刪除索引Indexs。DROPINDEXStudent.Indexs實驗報告完畢!