資源描述:
《攀枝花學(xué)院數(shù)據(jù)庫完整性約束數(shù)據(jù)庫實(shí)驗(yàn)2》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、攀枝花學(xué)院PanzhihuaUniversity實(shí)驗(yàn)報告冊實(shí)驗(yàn)二數(shù)據(jù)庫完整性約束實(shí)驗(yàn)2013~2014學(xué)年度第2學(xué)期課程名稱數(shù)據(jù)庫原理與應(yīng)用授課教師劉繼光教師職務(wù)副教授學(xué)生姓名學(xué)號教學(xué)單位數(shù)學(xué)與計算機(jī)學(xué)院課題(項(xiàng)目)名稱:數(shù)據(jù)庫完整性約束實(shí)驗(yàn)計劃學(xué)時:實(shí)驗(yàn)類型:1.演示性□2.驗(yàn)證性□3.綜合性□4.設(shè)計性□5.其它□授課日期:年月日第周星期第節(jié)實(shí)驗(yàn)二實(shí)驗(yàn)名稱:數(shù)據(jù)庫完整性約束實(shí)驗(yàn)實(shí)驗(yàn)學(xué)時:2實(shí)驗(yàn)?zāi)康模簲?shù)據(jù)庫完整性是保證數(shù)據(jù)庫中數(shù)據(jù)正確性的重要手段,通過實(shí)驗(yàn),使學(xué)生加深對數(shù)據(jù)庫完整性的基本概念的理解與掌握
2、,并能夠熟練創(chuàng)建、修改、刪除各類完整性約束,從而達(dá)到靈活應(yīng)用的目的。?實(shí)體完整性約束驗(yàn)證;?引用完整性驗(yàn)證;?唯一約束;?非空約束;?缺省值;?檢查約束;實(shí)驗(yàn)內(nèi)容及要求:一、數(shù)據(jù)庫完整性約束試驗(yàn)。試驗(yàn)所使用的數(shù)據(jù)庫表結(jié)構(gòu)如下:Student(學(xué)生記錄表)SNO(學(xué)號)CHAR(10)PRIMARYKEYSNAME(姓名)VARCHAR(16)SEX(性別)VARCHAR(2)DEPT(專業(yè)號)VARCHAR()AGE(年齡)SMALLINTCourse(課程表)CNO(課程號)CHAR(4)PRIMARY
3、KEYCNAME(課程名)VARCHAR(32)SCORE(學(xué)分)SMALLINTSC(學(xué)生選課成績表)SNO(學(xué)號)CHAR(7)PRIMARYKEYCNO(課程號)CHAR(4)PRIMARYKEYGRADE(成績)INT使用查詢分析器,建立數(shù)據(jù)庫SC,數(shù)據(jù)庫參數(shù)默認(rèn)。建立Student、Course、SC數(shù)據(jù)庫表,并完成下面題目:1、“課程名”屬性必須取唯一值。2、“課程名”也不能取空值。3、“學(xué)分”屬性只能取值{1,2,3,4},如果沒有輸入學(xué)分信息,學(xué)分的缺省值為3。4、“學(xué)號”的前兩位為“20
4、”,第三位與第四位為數(shù)字。5、“GRADE”大于等于0并且小于等于100。6、SC中,SNO、CNO為外鍵,請建立外鍵約束。createtablestudent(snochar(10)primarykey,snamevarchar(16),sexvarchar(2),deptvarchar(20),agesmallint)createtablecourse(cnochar(4)primarykey,cnamevarchar(32)notnull,scoresmallintnotnull)createtab
5、lesc(snochar(10)primarykey,cnochar(4),gradeintcheck(grade>=0andgrade<=100),)1、“課程名”屬性必須取唯一值。法一altertablecourseaddunique(cname)或者altertablecourseaddconstraintununique(cname)2、“課程名”也不能取空值。altertablecoursealtercolumncnamevarchar(32)notnull3、“學(xué)分”屬性只能取值{1,2,3,
6、4},如果沒有輸入學(xué)分信息,學(xué)分的缺省值為3。法一altertablecourseaddconstraintrecheck(scorein(1,2,3,4))altertablecourseadddefault3forscore法二droptablecoursecreatetablecourse(cnochar(4)primarykey,cnamevarchar(32)notnull,scoresmallintnotnulldefault3check(scorein(1,2,3,4)))法三droptab
7、lecoursecreatetablecourse(cnochar(4)primarykey,cnamevarchar(32)notnull,scoresmallintcheck(score>=1andscore<=4)default3)4、“學(xué)號”的前兩位為“20”,第三位與第四位為數(shù)字。法一altertablestudentaddconstraintchk_snocheck(snolike'20[1-9][1-9]%')法二altertableStudentaddconstraintxxxcheck(
8、(left(SNO,2)='20'))或者createtablestudent(SNOCHAR(10)PRIMARYKEYcheck(left(sno,8)='20073210'),SNAMEVARCHAR(16)notnull,SEXVARCHAR(2)notnull,DEPTVARCHAR(16)notnull,AGESMALLINTnotnull)5、“GRADE”大于等于0并且小于等于100。法一altertables