資源描述:
《實驗3數據庫完整性約束》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、實驗3數據庫完整性約束實驗目的:掌握六種完整性約束(primarykey,foreignkey,unique,Null,check,default)的定義、命名與刪除實驗準備:創(chuàng)建數據庫ch5db,并在其中創(chuàng)建如下兩張表student和course:createdatabasech5dbgousech5dbCREATETABLEstudent(snoCHAR(9)PRIMARYKEY,/*列級完整性約束,設置sno屬性為主碼*/snameCHAR(20)UNIQUE,/*列級完整性約束,要求sname屬性的值唯一*/ssexCHAR(2)DEFAULT'
2、男'CHECK(ssexIN('男','女')),/*DEFAULT默認值約束,CHECK約束限制ssex屬性的取值范圍*/sageSMALLINTCHECK(sage>=15ANDsage<=45),/*檢查約束的實現*/sdeptCHAR(20))CREATETABLEcourse(cnoCHAR(4),cnameCHAR(40),cpnoCHAR(4),ccreditSMALLINT,PRIMARYKEY(cno),/*也可以在表級約束上設置主碼*/)/*下列語句向student表插入記錄*/INSERTINTOstudentVALUES('200
3、215121','李勇','男',20,'CS')INSERTINTOstudentVALUES('200215122','劉晨','女',19,'CS')INSERTINTOstudentVALUES('200215123','王敏','女',18,'MA')INSERTINTOstudentVALUES('200215125','張立','男',19,'IS')/*下列語句向course表插入記錄*/INSERTINTOcourseVALUES('1','數據庫','5',4)INSERTINTOcourseVALUES('2','數學',null,
4、2)INSERTINTOcourseVALUES('3','信息系統(tǒng)','1',4)INSERTINTOcourseVALUES('4','操作系統(tǒng)','6',3)INSERTINTOcourseVALUES('5','數據結構','7',4)INSERTINTOcourseVALUES('6','數據處理',null,2)INSERTINTOcourseVALUES('7','PASCAL語言','6',4)實驗內容:一、創(chuàng)建SC表,并顯式說明違約處理規(guī)則CREATETABLEscc(snoCHAR(9),cnoCHAR(4),gradeSMALLIN
5、TCHECK((gradeISNULL)OR(gradeBETWEEN0AND100)),PRIMARYKEY(sno,cno),/*主碼約束的實現*/FOREIGNKEY(sno)REFERENCESstudent(sno)ondeletecascadeonupdatecascade,FOREIGNKEY(cno)REFERENCEScourse(cno)ondeletenoactiononupdatecascade)INSERTINTOsccVALUES('200215121','1',92)INSERTINTOsccVALUES('20021512
6、1','2',85)INSERTINTOsccVALUES('200215121','3',88)INSERTINTOsccVALUES('200215122','2',90)INSERTINTOsccVALUES('200215122','3',80)輸入如下命令進行測試,觀察結果一、為約束起名創(chuàng)建表student_e10,并為相應的約束起名。二、刪除約束刪除約束c4,代碼如下:三、管理其他約束準備工作:創(chuàng)建沒有任何約束的表dept1、增加刪除空值非空值約束,并觀察結果2、增加刪除主碼約束,并觀察約束在哪個文件夾里3、增加刪除唯一約束,并觀察約
7、束在哪個文件夾里4、增加刪除默認值約束,并觀察約束在哪個文件夾里5、增加刪除檢查約束,并觀察約束在哪個文件夾里1、增加刪除外碼約束,并觀察約束在哪個文件夾里