春數(shù)據(jù)庫(kù)實(shí)驗(yàn)6_T-SQL語(yǔ)句的程序設(shè)計(jì)和關(guān)系完整性操作_第1頁(yè)
春數(shù)據(jù)庫(kù)實(shí)驗(yàn)6_T-SQL語(yǔ)句的程序設(shè)計(jì)和關(guān)系完整性操作_第2頁(yè)
春數(shù)據(jù)庫(kù)實(shí)驗(yàn)6_T-SQL語(yǔ)句的程序設(shè)計(jì)和關(guān)系完整性操作_第3頁(yè)
春數(shù)據(jù)庫(kù)實(shí)驗(yàn)6_T-SQL語(yǔ)句的程序設(shè)計(jì)和關(guān)系完整性操作_第4頁(yè)
春數(shù)據(jù)庫(kù)實(shí)驗(yàn)6_T-SQL語(yǔ)句的程序設(shè)計(jì)和關(guān)系完整性操作_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、.PAGE ;PAGE 6實(shí)驗(yàn)六 T-SQL的程序設(shè)計(jì)和關(guān)系完整性操作(6學(xué)時(shí))【實(shí)驗(yàn)?zāi)康摹?. 了解T-SQL編程的基礎(chǔ)知識(shí)。2. 理解數(shù)據(jù)庫(kù)中的關(guān)系數(shù)據(jù)完整性。【實(shí)驗(yàn)要求】1.掌握各類型常量的表示;局部變量的聲明和賦值;各類運(yùn)算符的使用。2.掌握批處理的含義;腳本的含義、注釋的使用及流程控制語(yǔ)句的使用。3.了解局部變量的作用域;部分內(nèi)置函數(shù)的使用。4. 掌握使用T-SQL語(yǔ)句來(lái)創(chuàng)建各種約束和默認(rèn)值、規(guī)則等數(shù)據(jù)庫(kù)對(duì)象,從而保證數(shù)據(jù)的完整性。【實(shí)驗(yàn)內(nèi)容】 一、T-SQL程序設(shè)計(jì)基礎(chǔ)1.設(shè)計(jì)一段程序,能在屏幕上輸出“歡迎使用選課管理信息系統(tǒng)”。2.在查詢分析器窗口中利用declare分別定義bi

2、t、int型變量n、m ,再利用set命令分別給n、m 賦值為7、123,利用select命令看結(jié)果。3. 在查詢分析器窗口中利用declare分別定義變量n1、n2、n3、n4為 Real型、 float型 、decimal型及numeric型,再利用set命令賦值為10.9999988888888899,利用select命令看結(jié)果。4. 在查詢分析器窗口中利用declare分別定義變量n1、n2、n3、n4為 char型、 varchar型 、 nchar型 、nvarchar型的長(zhǎng)度為5的字符串變量 ,再利用set命令賦值為abcef,利用select命令看結(jié)果并利用datalength

3、函數(shù)查看各變量所占用的內(nèi)存空間。5.設(shè)計(jì)一段程序,功能是統(tǒng)計(jì)隨機(jī)產(chǎn)生的1000個(gè)0到1之間小數(shù)以0.5為分界出現(xiàn)的次數(shù),用以說(shuō)明隨機(jī)數(shù)的均勻性。6.設(shè)計(jì)程序完成如下功能,將該程序保存為lab6-6.SQL。(1)打開(kāi)“student”數(shù)據(jù)庫(kù)。(2)創(chuàng)建一個(gè)名為“score”的表,該表包含如下字段:sname,cname,grade。(3)利用SELECT語(yǔ)句為“score”插入正確數(shù)據(jù)。(4)顯示“score”的所有記錄。7.在查詢分析器中分別調(diào)試如下程序,先修正錯(cuò)誤再將結(jié)果以注釋語(yǔ)句的形式寫(xiě)在相應(yīng)程序的下方。(1) declare n decimal(5,2),m varchar(10)n=

4、99.995m=n 的值為print m+ ngo(2) exec sp_addtype , cy1 , varchar(24)declare a cy1a=abcdselect a, datalength(a) (3) select sno 學(xué)號(hào), grade 成績(jī), 等級(jí)=casewhen grade =100 then Awhen grade90 then Bwhen grade80 then Cwhen grade70 then Dwhen grade60 then Eelse 成績(jī)輸入有誤!endfrom sc(4)-本題的功能是求100以內(nèi)的自然數(shù)之和declare i int,s

5、 intset i=1set s=0while i=100begin s=s+i i=i+1 endprint 100以內(nèi)的自然數(shù)之和為: +ltrim( s)二、關(guān)系完整性操作1.對(duì)本實(shí)驗(yàn)第一大項(xiàng)第6題的score表增加以下約束。(1)非空約束:sname,cname。(2)主鍵約束(sname,cname)。2.對(duì)表student增加以下約束:Sdept的默認(rèn)值定義為“計(jì)算機(jī)學(xué)院”3.對(duì)表score增加以下約束:grade值的范圍在0-100之間。4.參照上述要求,自行設(shè)計(jì)約束(不少于10個(gè))?!緦?shí)驗(yàn)步驟】一、T-SQL程序設(shè)計(jì)基礎(chǔ)1在查詢分析器中輸入?yún)⒖即a如下,該段程序的功能是在屏幕上

6、輸出“歡迎使用選課管理信息系統(tǒng)”。declare str char(30)set str= 歡迎使用選課管理信息系統(tǒng)print print strgo【運(yùn)行結(jié)果】 2在查詢分析器中輸入?yún)⒖即a如下。declare n bit, m intset n=8set m=256select n+m【思考】(1) n+m運(yùn)算結(jié)果是否如你預(yù)期?(2)如果使用print n+m 替代 select n+m,觀察輸出結(jié)果的形式有何不同?3在查詢分析器中輸入?yún)⒖即a如下。declare n1 real,n2 float,n3 decimal,n4 numericset n1=10.999998888888889

7、9set n2=10.9999988888888899set n3=10.9999988888888899set n4=10.9999988888888899select n1 as n1_real,n2 as n2_float ,n3 n3_decimal,n4 n4_numeric【運(yùn)行結(jié)果】【思考】如果 定義n3 decimal(19,16),觀察 n3的輸出結(jié)果有何不同?4在查詢分析器中輸入?yún)⒖即a如下。declare n1 char(5),n2 varchar(5),n3 nchar(5),n4 nvarchar(5)set n1=abcdefset n2=abcdefset n3=

8、abcdefset n4=abcdefselect n1 as n1_char,n2 as n2_varchar ,n3 n3_nchar, n4 n4_nvarcharselect datalength(n1) as n1_char,datalength(n2) as n2_varchar ,datalength(n3) n3_nchar, datalength(n4) n4_nvarchar【運(yùn)行結(jié)果】5在查詢分析器中輸入?yún)⒖即a如下。/*本程序的功能是統(tǒng)計(jì)隨機(jī)產(chǎn)生的1000個(gè)0到1之間小數(shù)以0.5為分界出現(xiàn)的次數(shù),用以說(shuō)明隨機(jī)數(shù)的均勻性*/declare r numeric(10,2),

9、 m intdeclare n1 int, n2 intset m=1set n1=0set n2=0while m=1000begin set r=rand() if r=0.5 set n1=n1+1 else set n2=n2+1 set m=m+1end print 小于等于0.5的隨機(jī)數(shù)出現(xiàn)了+ str(n1)+次print 大于0.5的隨機(jī)數(shù)出現(xiàn)了+str(n2)+次【運(yùn)行結(jié)果】6.程序編碼建立在本課程已經(jīng)完成的實(shí)驗(yàn)基礎(chǔ)上,即已經(jīng)建立了stu_DB數(shù)據(jù)庫(kù)和表student、sc和course,參考代碼如下。use stu_DBgocreate table score( sname

10、 CHAR(20) , cname CHAR(30) , grade SMALLINT DEFAULT NULL, -primary key(sname,cname) )insert into score (sname,cname,grade)select sname,cname,gradefrom student,sc,coursewhere student.sno=sc.sno and o=oselect * from score7正確代碼參考如下。(1)declare n decimal(5,2),m varchar(10)set n=99.995set m=n 的值為print mprint ngo(2)exec sp_addtype cy1,varchar(24)declare a cy1 set a=abcdselect a,datalength(a) (3)select sno 學(xué)號(hào),grade 成績(jī),等級(jí)=casewhen grade =60 then Ewhen grade70

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論