資源描述:
《數(shù)據(jù)庫實(shí)驗(yàn)2 創(chuàng)建數(shù)據(jù)庫表與索引》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實(shí)驗(yàn)2:創(chuàng)建數(shù)據(jù)庫表與索引----表的創(chuàng)建與管理1.實(shí)驗(yàn)?zāi)康呐c要求:1.1在已建立的數(shù)據(jù)庫中創(chuàng)建表:掌握表的建立方法,運(yùn)用企業(yè)管理器和Transact-SQL語句兩種方法建立“課程信息表”、“教學(xué)任務(wù)表”、“教師檔案表”、“學(xué)生檔案表”、“學(xué)生選課表”、“學(xué)生成績表”。1.2了解表與表之間的邏輯依賴關(guān)系:學(xué)會在企業(yè)管理器中,創(chuàng)建表之間的關(guān)聯(lián)關(guān)系。通過外鍵的拖曳建立表的基本依賴關(guān)系,從而直白地表達(dá)整個數(shù)據(jù)庫的表間聯(lián)系,但是,注意:建立過程中,主鍵和外鍵對應(yīng)的源數(shù)據(jù)表,并實(shí)踐數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)完整性功能
2、,加深對數(shù)據(jù)完成的理解,進(jìn)行數(shù)據(jù)完整性描述。1.3修改表結(jié)構(gòu)掌握表結(jié)構(gòu)的修改方法,修改數(shù)據(jù)類型,為表增加新字段,增加約束條件。1.4建立索引掌握索引的建立方法,學(xué)會使用Transact-SQL命令創(chuàng)建索引和使用SQL企業(yè)管理器創(chuàng)建索引。2.實(shí)驗(yàn)環(huán)境與實(shí)驗(yàn)器材:計(jì)算機(jī),網(wǎng)絡(luò)環(huán)境,投影設(shè)備。實(shí)驗(yàn)相關(guān)軟件:Windowxp、SQLServer2000。2*.實(shí)驗(yàn)預(yù)備知識2.1.1關(guān)系模型的完整性約束2.1.2索引2.1.3表的創(chuàng)建與修改3.實(shí)驗(yàn)內(nèi)容與步驟使用企業(yè)管理器和Transact-SQL語句創(chuàng)建“課程信息
3、表”、“教學(xué)任務(wù)表”、“教師檔案表”、“學(xué)生檔案表”、“學(xué)生選課表”、“學(xué)生成績表”6張表,各表的邏輯結(jié)構(gòu)如P36表3.1、表3.2、表3.3、表3.4、表3.5、表3.6。且各表之間的邏輯依賴關(guān)系如圖3.1。并對關(guān)系表進(jìn)行管理。具體內(nèi)容如下。3.1在“教學(xué)管理”數(shù)據(jù)庫中使用Transact-SQL命令創(chuàng)建表使用Transact-SQL命令創(chuàng)建“學(xué)生檔案表”、“課程信息表”、“教學(xué)任務(wù)表”。1)學(xué)生檔案表13編程代碼:createtable學(xué)生檔案表(學(xué)號char(8)primarykeycheck(學(xué)號
4、like('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')),姓名varchar(8)notnull,性別char(8),出生日期datetimecheck(出生日期>='1970'),籍貫char(8),專業(yè)char(8),班級char(8))實(shí)驗(yàn)結(jié)果:1)課程信息表:編程代碼:createtable課程信息表(課程IDchar(6)primarykeycheck(課程IDlike('[JZXR][BX][0-9][0-9][0-9][0-9]')),課程名稱var
5、char(40),課程類別char(8)check(課程類別IN('基礎(chǔ)必修','專業(yè)必修','限選','任選')),學(xué)分realcheck(0.5<=學(xué)分and學(xué)分<=5.0),學(xué)時(shí)intcheck(學(xué)時(shí)%8=0))實(shí)驗(yàn)結(jié)果:13實(shí)驗(yàn)情況調(diào)試分析:在編寫信息課程表代碼的過程中,我把“R”錯寫成“B”,如截圖所示,然后在企業(yè)管理器中修改回來。1)教學(xué)任務(wù)表:編程代碼:createtable教學(xué)任務(wù)表(課程IDchar(6)check(課程IDlike('[JZXB][BX][0-9][0-9][0-9][
6、0-9]')),任課教師IDchar(8)foreignkeyreferences教師檔案表check(任課教師IDlike('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])')),學(xué)期intcheck(學(xué)期IN('1','2')),年度char(10)check(1990<=年度and年度<=2010),primarykey(課程ID,年度,學(xué)期))實(shí)驗(yàn)結(jié)果:3.2在“教學(xué)管理”數(shù)據(jù)庫中使用企業(yè)管理器創(chuàng)建表使用SQL企業(yè)管理器創(chuàng)建“學(xué)生成績表”、“教師檔案表”、“學(xué)生
7、選課表”。1)學(xué)生成績表:131)教師檔案表:2)學(xué)生選課表:133.3修改表的結(jié)構(gòu)3.3.1修改數(shù)據(jù)類型1)將“學(xué)生檔案表”中的“姓名”字段的數(shù)據(jù)類型改為varchar(8)。編程代碼:altertable學(xué)生檔案表altercolumn姓名varchar(8)實(shí)驗(yàn)結(jié)果:2)將“課程信息表”中的“課程名稱”字段的數(shù)據(jù)類型改為varchar(50)。編程代碼:altertable課程信息表altercolumn課程名稱varchar(50)實(shí)驗(yàn)結(jié)果:133.3.2增加一個新字段1)為“學(xué)生成績表”增加一個
8、新字段“總成績”,類型為real,默認(rèn)是空值。編程代碼:altertable學(xué)生成績表add總成績r(jià)ealdefaultnull實(shí)驗(yàn)結(jié)果:2)為“教學(xué)任務(wù)表”增加一個新字段“教師姓名”,類型為varchar(8),默認(rèn)是空值。編程代碼:altertable教學(xué)任務(wù)表add教師姓名varchar(8)實(shí)驗(yàn)結(jié)果:3.3.3增加約束條件1)為“學(xué)生成績表”增加一個約束,“平時(shí)成績”字段的取值為大于等于0小于等于100的正數(shù)。13編程