數(shù)據(jù)庫原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第1頁
數(shù)據(jù)庫原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第2頁
數(shù)據(jù)庫原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第3頁
數(shù)據(jù)庫原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第4頁
數(shù)據(jù)庫原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 / 100數(shù)據(jù)庫原理及應(yīng)用實(shí)驗(yàn)與課程設(shè)計(jì)指導(dǎo)書賴玉霞編2 / 100實(shí)驗(yàn)2 了解SQL SERVER 2008環(huán)境1015實(shí)驗(yàn)8視圖.索引的使用.44實(shí)驗(yàn)9觸發(fā)器和游標(biāo)的使用.50實(shí)驗(yàn)10存儲過程和用戶自定義函數(shù)的使用59目錄第一部分實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)1數(shù)據(jù)庫模型設(shè)計(jì).實(shí)驗(yàn)3數(shù)據(jù)庫的創(chuàng)建與管理實(shí)驗(yàn)4數(shù)據(jù)表的創(chuàng)建與管理 .23實(shí)驗(yàn)5數(shù)據(jù)簡單查詢 .28實(shí)驗(yàn)6 6數(shù)據(jù)連接查詢 .34實(shí)驗(yàn)7數(shù)據(jù)嵌套查詢 .39第二部分課程設(shè)計(jì)指導(dǎo)3 / 100 U1*廠-Vfiw rt uc*f 實(shí)驗(yàn)1數(shù)據(jù)庫模型設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.了解ER圖的概念2.掌握用PowerDesigner等ER設(shè)汁工具繪制ER圖。3.掌握

2、ER圖轉(zhuǎn)化為關(guān)系模式二、實(shí)驗(yàn)內(nèi)容已知銷售管理數(shù)據(jù)庫mySalcs涉及下列主要對象:產(chǎn)品、供應(yīng)商、客戶、員工、訂單、運(yùn)輸公司 等,其語義如下:1)產(chǎn)品按類別進(jìn)行分類管理,一個(gè)產(chǎn)品只屬于某一個(gè)類別,一個(gè)類別可以有多個(gè)產(chǎn)品;2) 一個(gè)產(chǎn)品只有一個(gè)供應(yīng)商供應(yīng),一個(gè)供應(yīng)商可以供應(yīng)多個(gè)產(chǎn)品:3)一個(gè)客戶可以購買多個(gè)產(chǎn)品,一個(gè)產(chǎn)品可以銷售給多個(gè)客戶:4) 一個(gè)客戶可以有多張訂單,一張訂單只對應(yīng)一個(gè)客戶;5) 一張訂單可以包含多個(gè)產(chǎn)品,一個(gè)產(chǎn)品可以出現(xiàn)在不同的訂單中,但同一張訂單同一個(gè)產(chǎn)品 只能出現(xiàn)一次:7) 一張訂單只由一個(gè)員工負(fù)責(zé),一個(gè)員工可以負(fù)責(zé)多張訂單。1.用PowerDesigner工具畫出該數(shù)據(jù)庫

3、的E-R圖。2.把ER圖轉(zhuǎn)化為關(guān)系模式三、實(shí)驗(yàn)步驟1.建立實(shí)體和屬性(1)運(yùn)行PowerDesigner程序,選擇File -nev model菜單項(xiàng),打開如圖1所示的窗口,在該窗口中選擇要建立的模型類型一一Conceptual Data Model (概念模型)。圖 1 1 new model 窗口do衛(wèi) QF P A *亠 /9 O E 1令刊辱*鼻B 禺/ A ACerceLI4 / 100皿e*:ljd、o pgurJI.2(2)單擊OK按鈕,打開如圖1.2所示的CDMI作區(qū)。工作區(qū)包括左側(cè)的瀏覽窗口,右側(cè)的設(shè) 計(jì)窗口,下側(cè)的輸出窗口和浮動(dòng)的工具窗口(Palette),可以利用工具窗口

4、的圖標(biāo)在設(shè)il窗口中設(shè)計(jì) ER圖o圖1.2CDM工作區(qū)工具窗口主要圖標(biāo)的用途如表l.l所示表ll工具窗口圖標(biāo)的用途圏形抿作圏形容稱操作指針聯(lián)方連摂插入聯(lián)合連揍符號區(qū)城的選擇符號回文件插入一-文件符號超體迭捋迭捋全郃符弓,一起 設(shè)氏大小注釋插入注釋符號畝大族穴視野范田連揍/曠 展依賴在國表中的符號之間畫-個(gè)圖形連按,在注程和 -個(gè)對聶之間畫一-、往 釋連摻,在兩個(gè)支持?jǐn)U展 依賴的對聖間畫一個(gè)擴(kuò) 辰依賴縮小縮小觀野矩圉主題插入主題符號打開包圏表呈:示選擇包的圖表文本插入文本愿性且示迭捋的符號屈性、插入一條絨刪除刪除符號O弧插入一個(gè)國弧I3fl包插入包符號O恢方形插入一個(gè)長方形曰實(shí)體插入實(shí)體符耳O橢

5、園插入一個(gè)瀚園%關(guān)系插入關(guān)系符號O園角矩形插入一個(gè)園角矩形&継爭疝入継爭符號zV折縷插入一條折縷O聯(lián)合插入貶臺符號iZ插入一個(gè)多邊形(3)選擇工具窗口中的實(shí)體圖標(biāo),光標(biāo)變?yōu)樵搱D標(biāo)的形狀,在設(shè)計(jì)窗口的適當(dāng)位置單擊鼠標(biāo). I * PovorPerUcnerCD CeptviftJPot ABcdc-I. J, Piacra*_ 1)曰固區(qū)1事 ni* X4it 歸“Ci4*l ystlpo八 匸.X7空為國4b M X AJSiJd 迥 NN| 曰 JU詔A 2|立止 巧巧0 rTG*founa/u:alb prequel lot Kdpail cirlkCwftaiai Aczx 03咲 Wga

6、on 入Rozr“ J5 / 100在單擊的位置上岀現(xiàn)一個(gè)實(shí)體符號,如圖13所示。6 / 1003C0K 二 Rccd mv-J0rD fq o丄U QI, lAr I、E*i* X * *!ri*x.i 50|O & 小力33 F/kA ) )* S3 31 o3 JI 21 口 RCU圖1.3CDM工作區(qū)(4)在設(shè)計(jì)窗口的空白區(qū)域,單擊右鍵使得光標(biāo)變?yōu)榧^形狀,然后選中該實(shí)體并雙擊,打開 如圖1.4所示的實(shí)體屬性窗口。圖1.4實(shí)體屬性窗口其中General頁中主要選項(xiàng)的含義:Name:實(shí)體的名字Code:實(shí)體代碼Comment:注釋(5)在name欄中輸入實(shí)體名稱產(chǎn)品,在code欄中輸入實(shí)

7、體代碼“product”,單擊Attributes 7 / 100頁,在該頁中楚義實(shí)體的屬性,如圖15所示8 / 100I空Mji g 顯 ggAXL*bU CUTAXUCC (.) O 辭取人RiciabU claroct fiM) 於天.A.并*HrixbU ALahU CIATAUCC (W) /KflE越仃*Ric mbkclaroct-c*( (13)以龍cUrxcuc. Il3) 月i$tS杲TasbSeUrUccllS)ME.條文actabkcknrtuV-o( (10)&天勺備TirahUcUr&cunIZ-1)laciAbU el*rUcc 20 TwvibS clar-t

8、(WO)MOM勺( (40)oirr 】atiku(kuRsS絕 v iabU cjorcicrs Ihu ixbU( (kuiM:1TC *.Vu iobk ckuDdera axiabU comers Suixbl.( (40) OS CW) (60) ( ( 倆 (他 Q6 (20QttDST(0OTJoWe :barocRr tZO) ) :ox&cicrs I.3D) (uuthsTB7: HC :fiv:icrs I.50) CiaCUUMC.TC (3( (0 arsoWe :baroclerw (Z0 IODIfetvaHc cuoclcr* 120) ) BO*FTAX La

9、bU cX*x:Urc l?2.建立實(shí)體之間的聯(lián)系(1)選擇工具窗口中的Relationship圖標(biāo),單擊實(shí)體產(chǎn)品,保持左鍵按下的同時(shí)把光標(biāo)拖拽到 產(chǎn)品類別實(shí)體上然后釋放左鍵,一個(gè)默認(rèn)的聯(lián)系就建立了,如圖17所示。圖1.7 CDM工作區(qū)(2)選中圖1.7的聯(lián)系,雙擊將打開圖1.8所示的聯(lián)系的屬性對話框。General頁中立義聯(lián)系 的常規(guī)屬性,幷中name欄立義聯(lián)系的爼稱,code欄泄義聯(lián)系的代碼,Entity 1和EnMy2欄泄義有 聯(lián)系的兩個(gè)實(shí)體名稱。兩個(gè)實(shí)體具體有什么類型的聯(lián)系在Cardinalities頁中泄義,一個(gè)產(chǎn)品只屬于 某一個(gè)類別,一個(gè)類別可以有多個(gè)產(chǎn)品,所以產(chǎn)品和產(chǎn)品類別之間是

10、多對一的關(guān)系。如圖18所示圖1.8聯(lián)系屬性窗口flayer leJTAXLabU cXu:Urc T* L*Ll |x LabU cu:Ura TAXiAbU cXai:trc *LaLl HrtubU eoio? Ur T*xL*bU clu: t*rc T* L*Ll Hrt*bU elar”4r “心 SKC ”】亠31. .J. | lr ubU XkUHrtubU J3l |?410 / 100產(chǎn)ftfiHb ciaatztrn 143)13t辭*人毎 壯加S 3AL*hU C1*M:UIC |( (0州住&巾arizLbk ckuo:Rf 1)9斯任堆SSFortobk cJaro

11、:Ur U5J.他帥hLfftxbU CJOXA: trs 1 沏uxbU ciax:trc |)C0Feuvxbk cleuo: UTattahk ckuo:T IMTixixbU cxr:trs llttrrrre列 lm rI Z7&36ja?匕CUTAXUCC |aft) ar aoH claract oyjoW: ckarocS 115) fwiiH* VKBH ebaaUcc |&V : cloractc IZ4) arioHc claractc I1M)出衣日口rteaixe話Gre,c: c H)亦bl4 4rS5( (20) ) riabU cuscicrs ( (30) b

12、k1Ja1ctu ioW*: cieuoclerw (ftO) 7iabU c3or*clcrs (10) hu ijibk c3Lrc (2CHECK MODEL菜單項(xiàng),打開模型檢查參數(shù)設(shè)置窗口,單擊 確定,開始檢査CDN4模型。如發(fā)現(xiàn)錯(cuò)誤或警告,系統(tǒng)將顯示提示信息,按提示信息修正即可,有 些警告可以忽略,不去理會。3.把ER圖轉(zhuǎn)化為關(guān)系模式(1 )打開 CDM 模型,選擇 tools generate physical data model,打開如圖 1.10 所示的生成 PDM 設(shè)置窗口,在General頁中選擇生成PDM的方式及其參數(shù)。選擇generation new physical

13、 data model 表示生成新的PDM,選擇update existing physical data model則與已經(jīng)存在的PDM介并生成新的 PDM.圖 1.10 PDM Generation Options 窗口卽莊更里* pO皿心S3&2 ZgJICiakahU cUxAfUrc1arxLbk claractr 13ftKrdanxuxs 1255)e11 / 100廠產(chǎn)晁ill垃產(chǎn)幾乂背s巧 產(chǎn)晁$必*1 .wcJarf) .WCJOLr D3)1*冷冷007gdzss)性燈站?ME丿楓訃 恥浙桜KM再冥MR.ruvlm IE) rrdarl 期 wclja|lS xx elm

14、 ilS)vckja|10 XIVLorl?4) rrdxrlM rir:lja|103).j蘭歲殳Trir)其匚$:巧cku ujVTMB414aV:lirr詢iaMtirc粒嫂日VK*i5Ul 農(nóng)dnlirr3滯莊HZ 席$呂貳 “硼殆=nET41D) ) x*reUx(3C0 xuclmCJO)MMXCUxO xuclar()5) )*rcba(3C0 xuclmCiO H4(24) ttrcbaOCO4貯竺MXCU(2C0名xueUrGO)祁日“xueUrfoO)icwwwcUrl.W)-orcUx 02 0(2) 選擇detail頁,進(jìn)行細(xì)節(jié)選項(xiàng)設(shè)置。(3) 選擇selection頁

15、,選擇要轉(zhuǎn)換為PDM表的實(shí)體。(4)單擊確立按鈕,開始生成PDM,在result list窗口中顯示處理過程中出現(xiàn)的警告、錯(cuò)誤和提示信息。(5)根據(jù)提示對出現(xiàn)的警告和錯(cuò)誤進(jìn)行修改。(6)生成的PDM如圖1.11所示。圖1.11生成的PDM模型四、思考題1. 什么是數(shù)據(jù)庫的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)?2. ER圖轉(zhuǎn)化為關(guān)系模式的規(guī)則?實(shí)驗(yàn)2 了解SQL SERVER 2008環(huán)境一、 實(shí)驗(yàn)?zāi)康? 了 解 SQL Server2008 的安裝。久只15玄i-t!BHrswap:ST12 / 1002了解SQL Server2008服務(wù)的啟動(dòng)和停止。二、 實(shí)驗(yàn)內(nèi)容1. SQL Server2OO8 的安裝。

16、2. SQLServer2OO8服務(wù)的啟動(dòng)和停止。三、 實(shí)驗(yàn)步驟L SQL Server2OO8的安裝步驟(1)雙擊SQLServer2008的安裝文件,選擇全新安裝,如圖2所示圖2.1 SQLServer安裝中心(2)選擇具有髙級服務(wù)的express版本,如圖2.2所示; SOL Server 2008 安跌&燈13回13/100產(chǎn)asw支氽?洋支捋文件荒定SQL SerTAf的町用版左,衣捋供SQL Sr L品溯逓證憾SSL Server 20便實(shí)創(chuàng)。/入 PI icrovof t證書1(2產(chǎn)*5s色皴上的25個(gè)子符的藝tfl 聲怎捋定Eairpri % Ev*lu(i w J Fiji歹

17、空曲在琢,合捋貝衣300天的有處期若歪從一吩加水升級砂另一個(gè)熾* , E龐行恿*升總向2 Hi定可用馬3: 取的圖 2.2 SQL Server2OO8 安裝程序(3)全選功能項(xiàng),如圖2.3所示圖2.3 SQL Scrvcr2008功能選擇窗口(4)選擇默認(rèn)實(shí)例.如圖2.4所示V SQL S*trvr 2008 立泉巒”區(qū)回(X14 / 100增定XfL 5.r 少何的名XCR尖例XI-s*w 序立 waj 勒毗&掲勺fitE傾賽或5Rtt引樹力JU”rt&x冋LZMpr gC:ProD5 Pil/li cr0ot ML $rvrSijL Srvac 日錄:C Wroxr MI FileaXV

18、icravoft SJjL S*T7rASS(L30. SALEcjex%JUp6r*ta Sw94J4t 目$ CFJtXVseriafl SI)L S*rvrJR$aS10 SQLXrpretc已安缺的妄例lk:D*v*lc*r圖2.4 SQL Scrvcr2008實(shí)例配置窗口(5)選擇用戶賬戶名,如圖15所示圖2.5 SQL Server2008服務(wù)器配置窗口(6)選擇身份驗(yàn)證模式,如圖2.6所示功IfcS*rvb* Cccocrt*.15 / 100圖2.6 SQL Scrvcr2008數(shù)據(jù)庫引擎配置窗口(7)系統(tǒng)配置驗(yàn)證正確標(biāo)志(不能有失敗項(xiàng)),如圖2.7所示圖2.7 SQL Ser

19、ver2OO8安裝規(guī)則窗口(8)開始安裝,直到安裝結(jié)束為止。2. SQLServer2OO8服務(wù)的停止或啟動(dòng)16 / 100&*jf:JV比金,%QcG BSVPAccess ccass . Oasktop. Pracadu Procdu需 ESNQ 綣hen TM SRiMec AntiV %Synggc AaliV. 2rgQ c E7ai STmtC lTctO 嗨SyrglQC Eg*. 嚴(yán)gl c SeKi 電企iMec SPBBCSvcSyUt Evgl S.5 5跑啟存曲免為W W充s.rttis.rttifuBttufuBttu己呂動(dòng) 巳8動(dòng) 已啟動(dòng) 已B勃已B動(dòng) 己葩 巳8動(dòng)

20、 已B動(dòng)販韻動(dòng)動(dòng)動(dòng)韻動(dòng)前韻喲前韻動(dòng)動(dòng)矽韻動(dòng)票騎動(dòng) 啟手手手手自手手手己手手目包自UD手已己目本地磁本地磁本地舷(1)選擇控制面板一一管理工具一一服務(wù),打開服務(wù)窗口,雙擊SQLServer打開SQLServer屬性窗口,在服務(wù)狀態(tài)中點(diǎn)擊停止按鈕,可以停止SQLsener服務(wù),如圖2.8所示。%司|x圖 2.8 SQL Server 屬性窗口(2)雙擊SQLServer打開SQLServer屬性窗口,在服務(wù)狀態(tài)中點(diǎn)擊啟動(dòng)按鈕,可以啟動(dòng)SQLServer 服務(wù)。四、思考題1.在SQL Server中連接到服務(wù)器有哪幾種登錄方式?2.如何啟動(dòng)或停止SQL Serve的服務(wù)?實(shí)驗(yàn)3數(shù)據(jù)庫的創(chuàng)建與管理一、

21、實(shí)驗(yàn)?zāi)康?. 理解SQL Server 2008數(shù)據(jù)庫的數(shù)據(jù)文件及日志文件。2. 熟練掌握和使用 SQL Serxer Management Studentsdio、Transact-SQL in句創(chuàng)建和管理數(shù)據(jù) 庫。3. 學(xué)會使用SQLServer査詢分析器接收Transact-SQL語句和進(jìn)行結(jié)果分析。二、實(shí)驗(yàn)內(nèi)容1. 創(chuàng)建數(shù)據(jù)庫。.;xprt rv * SQL Server Management Studentsdio 在“對象資源管理器”窗格中展開服務(wù)器,選擇“數(shù)據(jù)庫”節(jié)點(diǎn),右擊,在彈出的快捷菜單中選 擇“新建數(shù)據(jù)庫”選項(xiàng),如圖3.1所示。圖3.1選擇新建數(shù)據(jù)庫命令 此時(shí)彈出“新建數(shù)據(jù)

22、庫”對話框,如圖3.2所示。在數(shù)據(jù)庫名稱文本框中輸入數(shù)據(jù)庫名稱 “mysalcs”,輸入數(shù)據(jù)庫的所有者,這里使用默認(rèn)值。在數(shù)據(jù)庫文件列表中,包括數(shù)據(jù)庫文件和日 志文件。該列表中的邏輯名稱、文件類型、文件組、初始大小,自動(dòng)增長保留默認(rèn)值不變,把文件 路徑該為數(shù)據(jù)庫存放位置e:mydbmysales ”18 / 100圖3.2新建數(shù)據(jù)庫對話框 單擊確立按鈕,就可以創(chuàng)建mysalcs數(shù)據(jù)庫。在SQL Server Management Studentsdio窗口中 岀現(xiàn)mysalcs數(shù)據(jù)庫標(biāo)志,就表明創(chuàng)建數(shù)據(jù)庫成功。提示:數(shù)據(jù)庫和事務(wù)日志文件的初始大小與model數(shù)據(jù)庫指定的默認(rèn)大小相同,主文件中包

23、含數(shù)據(jù) 庫的系統(tǒng)表。(2)使用Transact-SQL語句創(chuàng)建數(shù)據(jù)庫 在SQL Sender Management Studentsdio窗口中單擊常用工具欄的“新建查詢”按鈕,創(chuàng)建一 個(gè)查詢文檔,如圖3.3所示。 在查詢文檔中輸入如下代碼:USE masterCREATE DATABASE mysalesON primary(NAME = mysales. = e:1nyDB1nysales.mdf. SIZE = 10.MAXSIZE = 500, =5)LOG ON(NAME = mysales_log. = *e:inyDBinysalesJog.ldf. SIZE = 5MB.MAX

24、SIZE = 250MB. =5%)提示:SQL語句不區(qū)分大小寫,每一項(xiàng)的分隔符是逗號,最后一項(xiàng)沒逗號,代碼中的符號須是 英文狀態(tài)下的符號。正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,創(chuàng)建指圮數(shù)據(jù)庫文件位置的數(shù) 據(jù)庫。19 / 100行1宛I6 1Ins圖3.3新建查詢窗口1.查看和修改數(shù)據(jù)庫的屬性。(1)使用SQL Server Management Studcntsdio查看和修改數(shù)據(jù)庫屈性。 在SQL Server Management Studentsdio窗口中選中需要修改或查看的數(shù)據(jù)庫節(jié)點(diǎn),右擊,在彈 岀的快捷菜單中選擇“屬性”選項(xiàng),彈出數(shù)據(jù)庫屬性對話框,如圖3.4所

25、示。 在該對話框中選擇文件”項(xiàng),就可以對數(shù)據(jù)庫文件進(jìn)行修改??梢栽黾訑?shù)據(jù)文件,也可以 刪除數(shù)據(jù)文件,還可以修改數(shù)據(jù)庫文件的邏借需、大小、增長率。提示不可以修改數(shù)據(jù)庫文件的類型、所在的文件組、路徑及文件名。20 / 100 選擇文件組項(xiàng).可以查看當(dāng)前數(shù)據(jù)庫的文件組情況,并且可以增加.刪除文件組,修改文件 組信息。 在這里還可以對選項(xiàng),權(quán)限等項(xiàng)進(jìn)行設(shè)置“1 ftWffMfl -.yxMl-r_:八: _a ASM圖3.4數(shù)據(jù)庫屬性窗口(2) 使用Transact-SQL語句修改數(shù)據(jù)庫屬性 增加數(shù)據(jù)文件。如在數(shù)據(jù)庫mysales中增加一個(gè)數(shù)據(jù)文件,任査詢文檔中輸入以下代碼:USE masterALT

26、ER DATABASE mysalesADD FILE /在E盤MYDB文件夾中瑁加一個(gè)數(shù)據(jù)文件*/(NAME = myDBDatl. = E:inydbmyDBDatl.ndl SIZE = 10MB, MAXSIZE = 1GB.=2MB)GO在增加數(shù)據(jù)文件前,要先獲得修改權(quán)限,即alter database mysales,然后再添加數(shù)據(jù)文件。在正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句。 增加日志文件。如在數(shù)據(jù)庫mysales中增加一個(gè)日志文件,在査詢文檔中輸入以下代碼:USE masterALTER DATABASE mysalesADD LOG FILE(NAME =

27、 myDB_Da(2. = E:inydbmyDBDat2.1dt SIZE = 10MB. MAXSIZE = 1GB,= 2MB)GO在正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句。修改數(shù)據(jù)庫文件。例如,修改數(shù)據(jù)庫mysales中的數(shù)據(jù)文件的初始大小和最大擴(kuò)展空間。在 查詢文檔中輸入以下代碼:USE masterALTER DATABASE mysalesMODIFY FILE /*修改數(shù)據(jù)文件的初始大小SIZE和最大擴(kuò)晨空間MAXSIZE. */(NAME = myDB.datl, SIZE =15MB, MAXSIZE = 2GB. = 10%)ISSJH3Y-1D50?F

28、WF9A4rr QSTKi7fWF9LZ(flSS羽童.衛(wèi)阪怪Wtt21 / 100在正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句。提示:修改數(shù)據(jù)庫文件的大小時(shí),文件大小只能變大,不能變小。刪除數(shù)據(jù)文件。例如,刪除數(shù)據(jù)庫mysales中的日志文件,需要在查詢文檔中輸入以下代碼:USE masterALTER DATABASE mysalesREMOVE正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句。査看數(shù)據(jù)庫用戶創(chuàng)建或修改數(shù)據(jù)庫后,可以使用系統(tǒng)存儲過程sp_helpdb查看數(shù)據(jù)庫的各項(xiàng)參數(shù)設(shè)置值, 包括數(shù)據(jù)文件和日志文件的邏輯名、物理名及英路徑、各個(gè)文件的初始大小、最大文

29、件大小以及數(shù) 據(jù)庫當(dāng)前狀態(tài)等。例如,査看數(shù)據(jù)庫mysales的齊項(xiàng)參數(shù)值,可在查詢文檔中輸入以下代碼:EXEC sp_helpdb ,mySales,正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句。3.修改數(shù)據(jù)庫的劃稱。(1) 使用 SQL Server Management Studentsdio 修改數(shù)據(jù)庫名稱。在SQL Server Management Studentsdio窗口中選中需要修改的數(shù)據(jù)庫肖點(diǎn),右擊,在彈出的快捷 菜單中選擇“重命名”選項(xiàng)。當(dāng)數(shù)據(jù)庫名稱處于可編輯狀態(tài)時(shí),輸入新爼即可。(2) 使用Transact-SQL語句修改數(shù)據(jù)庫名稱。在查詢文檔中輸入代碼,EX

30、EC sp_renamedb mysales1, mydb,按F5鍵或單擊執(zhí)行按鈕,就可 以執(zhí)行SQL語句。4.刪除數(shù)據(jù)庫。(1)使用 SQL Server Management Studentsdio 刪除數(shù)據(jù)庫。在SQL Server Management Studentsdio窗口中選中需要?jiǎng)h除的數(shù)據(jù)庫節(jié)點(diǎn),右擊,在彈岀的快捷菜單中選擇刪除”選項(xiàng),彈出刪除對象對話框,點(diǎn)擊確左按鈕即可。(2)使用Transact-SQL語句刪除數(shù)據(jù)庫。在査詢文檔中輸入代碼,/*刪除一個(gè)數(shù)據(jù)庫*/IF EXISTS(SELECT NAME FROM SYSDATABASES WHERE NAME=MYDB)

31、DROP DATABASE MYDBGO/*刪除多個(gè)數(shù)據(jù)庫*/DROP DATABASE MYDBI. MYDB222 / 100正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句。5.數(shù)據(jù)庫的備份與恢復(fù)。(1)備份數(shù)據(jù)庫文件1)使用 SQL Server Management Studentsdio 備份數(shù)據(jù)庫文件。 在SQL Server Management Studentsdio窗口中選中需要備份的數(shù)據(jù)庫節(jié)點(diǎn),右擊,在彈出的快捷菜單中選擇“任務(wù)”一一備份,彈出備份數(shù)據(jù)庫對話框,如圖3.5所所示。圖3.5數(shù)據(jù)庫備份窗口在該對話框點(diǎn)擊添加,添加備份的路徑,添加成功后,按確左按鈕。2)

32、使用Transact-SQL語句備份數(shù)據(jù)庫文件。新建查詢文檔,在文檔中輸入代碼USE MASTERBACKUP DATABASE MYSALES TO DISK = E:BACKUPMYSALES.BAK WITH FORMAT正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,成功備份數(shù)據(jù)庫mysaleso(2)恢復(fù)數(shù)據(jù)庫文件1)使用 SQL Server Management Studentsdio 恢復(fù)數(shù)據(jù)庫文件。 在SQL Server Management Studentsdio窗口中選中需要備份的數(shù)據(jù)庫節(jié)點(diǎn),右擊,在彈出的快捷菜單中選擇“任務(wù)” 一一還原一一數(shù)據(jù)庫,彈出還原數(shù)

33、據(jù)庫對話框,如圖3.6所所示。23 / 100圖3.6數(shù)據(jù)庫還原窗口在該對話框點(diǎn)擊源設(shè)備,添加備份好的文件路徑,添加成功后,按確沱按鈕,還原成功。2)使用Transact-SQL語句恢復(fù)數(shù)據(jù)庫文件。新建查詢文檔,在文檔中輸入代碼USE MASTERRESTORE DATABASE MYSALES FROM DISK=E:BACKUPMYSALES.BAK*正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,成功還原數(shù)據(jù)庫mysaleso(3)附加數(shù)據(jù)庫文件1)使用 SQL Servrer Management Studentsdio 附加數(shù)據(jù)庫文件。 關(guān)閉SQL Server服務(wù),把E:

34、mydbmysales.mdf和mysalesjog.ldf文件拷貝到其他存儲設(shè)備 中。 打開SQLServer Management Suidcntsdio,選中數(shù)據(jù)庫-附加,彈岀附加數(shù)據(jù)庫對話框,點(diǎn)擊添加按鈕添加備份設(shè)備中的mysales.mdf,按確宦按鈕即可附加數(shù)據(jù)庫。提示:在拷貝數(shù)據(jù)庫文件時(shí),SQLServer服務(wù)一定要停止,否則拷貝不成功。2)使用Traiisact-SQL語句附加數(shù)據(jù)庫文件。新建査詢文檔,在文檔中輸入代碼24 / 100EXEC SP ATTACH DB N1YSALESTE:BACKUPMYSALES.1V1DFTE:BACKUPMYSALES_LOG LDFM

35、M正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,成功附加數(shù)據(jù)庫mysales,四、思考題1.SQL Server 2008物理數(shù)據(jù)庫包含了哪幾種類型的文件?2.數(shù)據(jù)庫移植有哪幾種方法?25 / 100實(shí)驗(yàn)4數(shù)據(jù)表的創(chuàng)建與管理一.實(shí)驗(yàn)?zāi)康?熟練掌握和使用SQL Scrxer Management Studentsdio、Transact-SQL語句創(chuàng)建和管理數(shù)據(jù) 表。2. 熟練掌握數(shù)據(jù)表的數(shù)據(jù)完整性約束。3. 熟練掌握數(shù)據(jù)表的數(shù)據(jù)維護(hù)操作。4. 學(xué)會使用SQLServer査詢分析器接收Transact-SQL語句和進(jìn)行結(jié)果分析。二、實(shí)驗(yàn)內(nèi)容1分別使用SQL Server Manage

36、ment Studentsdio和Transact-SQL語句創(chuàng)建和維護(hù)表結(jié)構(gòu)2.使用Transact-SQL語句創(chuàng)建數(shù)據(jù)完整性約束。3.使用Transact-SQL語句輸入和維護(hù)數(shù)據(jù)記錄。三. 實(shí)驗(yàn)步驟1.創(chuàng)建Products (產(chǎn)品)表,Orders (訂單)表,Orderitems (訂單明細(xì))表,表結(jié)構(gòu)如表4,4.2,43 所示1)使用SQL Server Management Studentsdio創(chuàng)建表結(jié)構(gòu)4.1 Products (產(chǎn)品)表序號列名類型長度完整性約束與規(guī)則描述1ProductIDInt4主鍵產(chǎn)品編碼2ProductNamenvarchar40非空產(chǎn)品名稱3Quan

37、tityPerUnitnvarchar2()規(guī)格型號4UnitPricemoney30UnitPricoO成本單價(jià)5Category IDInt產(chǎn)品類別編碼6SupplierlDInt供應(yīng)商編碼7Photopathnvarchar255圖片路徑4.2 Orders (訂單)表序號列名類型長度完整性約束與規(guī)則描述1Order IDInt4主鍵訂單編號2OrderDatedatetime1()非空訂單日期3Requireddatedatetime1()要貨日期4ShippedDatedatetime10發(fā)貨日期5InvoiceDatedatetime1()開發(fā)票日期6Freightmoney1()

38、運(yùn)費(fèi)7CustonwrlDnvarchar5客戶編碼8EmployeelDInt4員工編碼9ShipperlDInt4運(yùn)輸公司編碼4.3 Orderitems (訂單明細(xì))表序號列名類型長度完整性約束與規(guī)則描述1OrderlDInt4組合主鍵,外6L參照0rders(OrderlD)訂單編號2ProductIDInt4組合主鍵.外6L 參照 Products(ProductID)產(chǎn)品編碼3QuantityInt4不等于0銷省數(shù)駅4UnitPricemoney1()大干0銷售單價(jià)26 / 100.m對昨朋 Q XiKCT-nWrryeQLEXPBESS (SQL Serr3 -I參拓注I Lu京

39、畑砂二( (J nr*MlxCJG ?Fb 疾僦d dbo. ProductsS Q 出匸同義詞 te LJ町綁?性S 口 Service Brotosr&LJ安全巻* J R4P0rtSrvw$SQLKCmSS _J Rpor SrvwJSlJLIIJ7KETeripl 必二4安全性a _j蜃劣器利直封一115理總左克型九詳P“l(fā)5PQIKHDImt口PcaxtHarre Quantit淪rUM J価Ys S43piDfr、y( (ter(40)gr(Ter(20)0moneymt0aUoorylDPhjfxPMCeccrtroedint0nvbdw= 0) GOCREATE TABLE O

40、rders (OrderlD int IDENTITY( 10248.1) PRIMARY KEY CLUSTERED. CustomerlD nchar (5) NOT NULL ,EmployeelD nchar(7) NOT NULL, OrderDate datetime NULL,RequiredDaie datelime NULL,InvoiceDate datetime NULL,ShippedDate daletime NULL,ShipperlD int null.Freight money NULL CONSTRAINT DF_Orders_Freighl DEFAULT

41、(0) GOCREATE TABLE Orderitems (OrderlD int NOT NULL,ProduclID int NOT NULL.UnitPrice money NOT NULL CONSTRAINT DF_OrderItems_UnilPrice DEFAULT (0),Quantity int NOT NULL CONSTRAINT DF_OrderItems_Quantity DEFAULT( 1),Discount decimal(6.2) NOT NULL CONSTRAINT DF_OrderItems_Discount DEFAULT (0), Amount

42、as CAST(Quaiitity*UnitPrice*(l-discount) as decimal 12.2),CONSTRAINT PK_OrderIns PRIMARY KEY (OrderlD.ProductID).CONSTRAINT CK_OrderItems_Discount CHECK (Discount = 0 and (Discount 0),CONSTRAINT CK.Orderltems.UnitPrice CHECK (UnitPrice = 0)GO正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,成功創(chuàng)建表結(jié)構(gòu)。2修改表結(jié)構(gòu),創(chuàng)建外碼在數(shù)拯庫查詢文檔中輸

43、入以下代碼:ALTER TABLE Orderltems ADDCONSTRAINT FK_OrderItems_OrderID FOREIGN KEY (OrderlD) REFERENCES dbo.Orders(OrderlD),CONSTRAINT FK.Orderllems.ProduclID FOREIGN KEY (ProduclID) REFERENCES dbo.Products(ProduclID) GO正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,成功創(chuàng)建外碼。3數(shù)據(jù)輸入1)使用Transact-SQL語句向數(shù)據(jù)表中輸入表4.4,表4.5 ,表4.6所示的數(shù)拯

44、。表 4.4 Products (產(chǎn)品)表productid produclnameQuantityPerUnitUnitPrice SupplierlDCategorylDPhotoPath1Chai10 boxes x 2018.00112Chang24 12oz19.00113Aniseed Syrup12-550 ml10.00124Chef Antons Cajun Seasoning48-6ozjars22.00295Chef Anions Gumbo Mix36 boxes213522表4.5 Orders (訂單)表orderidorderdaterequireddateshi

45、ppeddateinvoicedatefreightcustomeriemployeeidshipperi102482008-01-042008-02-012008-01-162008-01-311181.2500VINETMFS523M84102492008-01-052008-02-162008-01-102008-01-31196.4300TOMSPENL442F78102502008-01-082008-02-052008-01-122008-01-191303.6900HANARM-L528F34102512008-01-082008-02-052008-01-152008-01-3

46、11260.4400VICTEPXH222M83102522008-01-092008-02-062OO8-OM12008-01-31456.7100SUPRDPTC119M7528 / 100表4.6 Orderitems (訂單明細(xì))表orderidproduclidquantityunilpricediscountamount10248115.55009000.2011196.0010248310.800012000.0012960.0010248522.95001600.003672.0010249119.4400239().004646.1610249220.52002660.005

47、458321024942138009000.1017317.8010250116.520010490.1514730.0610250423.7600800.001900.8010251119.44001050().0020412.0010252116.5200997().1513999.87 在査詢文檔中輸入以下代碼:-Products-INSERT INTO Producls(ProductName.SupplierID,CategoryID.QuantityPerUnit.UnitPrice.Photopath)VALUES CChaiVlVlVlO boxes x 20 bags8)IN

48、SERT INTO Products(ProductName,SupplierID,CategoryID,QuantityPerUnit,UnitPrice,Photopath)VALUES (,Chang,;r;l,24 - Roz bottles*,19;r)INSERT INTO Producls(ProductName.SupplierID,CategoryID.QuantityPerUnit.UnitPrice.Photopath)VALUES CAniseed Syrup? 1*2V 12 550 ml bottles*.IO:*)INSERT INTO Products(Prod

49、uctName,SupplierID,CategoryID,QuantityPerUnit,UnitPrice,Photopath)VALUES CChef Antons Cajun Seasoning*;272V48 6 ozjars22?)INSERT INTO Producls(ProductName.SupplierID,CategoryID.QuantityPerUnit.UnitPrice.Photopath)VALUES CChef Antoifs Gumbo Mix,;2V236 boxes;2135)正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,成功插入產(chǎn)品表記錄

50、。 在査詢文檔中輸入以下代碼:.Orders-INSERT INTO Orders(CuslomerID.EmployeeID.OrderDate.RequiredDateJnvoiceDate.ShippcdDate,ShipperID.Freighl)VALUES (,VINET,.,MFS523M,:2OO8-1 -4*2008-2-1V2008-1-3172008-1 -16T84: 1181.25)INSERT INTO Orders(CusloinerlD.EmployeelD.OrderDate.RequiredDateJnvoiceDale.ShippedDate.Shippe

51、rlD.Freight)VALUES(TOMSPTENL442FT2008亠 5T2008216T2008小 31T2OO8 亠 10T78J96.43)INSERT INTO Orders(CuslomerID.EinployeeID.OrderDate.RequiredDate.InvoiceDate.ShippedDate,ShipperID.Freight)VALUES (*HANAR M-L528F:2008-1 -872008-2-5*:2008- i-192008-l-12T34: 1303.69)INSERT INTO Orders(CusloinerlD.EmployeelD

52、.OrderDate.RequiredDateJnvoiceDale.ShippedDate.ShipperlD.Freighl)VALUES (VICTETPXH222MT2008-1 8T200825T2008 1 3172008-1 15:83; 1260.44)INSERT INTO Orders(CuslomerID.EmployeeID.OrderDate.RequiredDateJnvoiceDate.ShippcdDate,ShipperID.Freighl)VALUES (SUPRDTPTC119IVIT2008l9T200826T2008亠3172008亠 11T75:45

53、6.71)正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,成功插入訂單表記錄。 在査詢文檔中輸入以下代碼:.orderitems -INSERT INTO orderilems(OrderID.ProduclID,UnitPrice.Quantity.Discount)VALUES Cl0248,l15.55:9000.2)INSERT INTO orderitems(OrderID.ProductID,UnitPrice.Quantity.Discount)VALUES C10248310.8:12000)INSERT INTO orderitems(OrderIDTroductI

54、D,UnitPrice,Quantity,Discount)VALUES C10248V522.95:1600)INSERT INTO ordentenis(OrderID.ProduclID,UnilPrice.Quantily.Discounl)VALUES (,10249,:l19.44:2390)INSERT INTO orderilems(OrderID.ProduclID,UnitPrice.Quantity.Discount)VALUES C10249,220.52:2660)INSERT INTO orderitems(OrderID.ProductID,UnitPrice.Q

55、uantity.Discount)VALUES (,10249,421.38:9000.1)INSERT INTO orderitenis(OrderID.ProductID,UnitPrice.Quantity.Discount)VALUES (,10250,423.76:80,.0)INSERT INTO orderitems(OrderID.ProductID,UnitPrice.Quantity.Discount)values (U02507116.52/10490.15)INSERT INTO orderilems(OrderID.ProductID.UnilPrice.Quanti

56、ly.Discounl)VALUES Cl0251V119.44J0500)INSERT INTO orderitems(OrderID.ProductID,UnitPrice.Quantity.Discount)VALUES C10252Vl16.52:9970.15)29 / 100正確輸入后,按F5鍵或單擊執(zhí)行按鈕,就可以執(zhí)行SQL語句,成功插入訂單明細(xì)表記錄。提示:1. 使用插入語句時(shí),字段名的個(gè)數(shù)要和字段值的個(gè)數(shù)相同,字段值的數(shù)據(jù)類型要和字段名的數(shù)據(jù)類型相同。2. 插入日期時(shí)間型的值時(shí),需要用單引號將該值引起來四、思考題1.數(shù)拯庫中一般不允許更改主鍵數(shù)據(jù)。如果需要更改主鍵數(shù)據(jù)時(shí),應(yīng)怎

57、樣處理?2.為什么不能隨意刪除被參照表中的主鍵?30 / 100實(shí)驗(yàn)5數(shù)據(jù)簡單查詢一、 實(shí)驗(yàn)?zāi)康?. 熟練掌握SELECT語句的基本用法。2.使用WHERE子句進(jìn)行有條件的査詢。3. 熟練掌握聚合函數(shù)和常用函數(shù)的使用。4.利用ORDER BY子句對査詢結(jié)果排序。5.利用GROUP BY子句對查詢結(jié)果分組。6.掌握SQL Server查詢分析器的使用,加深對Transact-SQL語言查詢語句的理解。二、 實(shí)驗(yàn)內(nèi)容1. 檢索所有產(chǎn)品的信息。2.檢索所有有銷售記錄的產(chǎn)品編號。3. 檢索單價(jià)在1520之間的產(chǎn)品的產(chǎn)品編號、產(chǎn)品劃稱和單價(jià)。4.檢索所有產(chǎn)品劃稱以字符串ng結(jié)尾的產(chǎn)品信息,并按單價(jià)降序排

58、序。5.檢索客戶編號為VICTE .SUPRD的訂單信息。6.檢索產(chǎn)品編號為1的產(chǎn)品的平均銷售單價(jià)。7.檢索產(chǎn)品中單價(jià)最低的前3個(gè)產(chǎn)品的信息。8. 在訂單表(Orders)中檢索所有在2009年6月30日之前需要發(fā)貨(RequiredDate)但還沒 有發(fā)貨(ShippedDate列)的訂單信息。9.檢索每個(gè)訂單的訂單號和銷售額。10. 按產(chǎn)品類別編碼對產(chǎn)品表進(jìn)行分組,檢索平均單價(jià)$18元以上的所有產(chǎn)品類別。11. 檢索每個(gè)產(chǎn)品的銷售額。12. 列出客戶編號為VINET的這個(gè)客戶2009年度的訂單數(shù)。13. 統(tǒng)計(jì)2008年度每個(gè)客戶的訂單數(shù)目。14. 按照產(chǎn)品類別列出每類產(chǎn)品中每個(gè)產(chǎn)品的單價(jià)排

59、名。三、 實(shí)驗(yàn)步驟1.SQL Sender Management Studentsdio窗口中新建査詢,打開査詢文檔窗口,在查詢文檔窗 口中輸入select * from products ,輸入完后,點(diǎn)擊執(zhí)行按鈕,即可完成檢索所有產(chǎn)品的信息操作,如 圖5.1所示。31 / 100r*nitimer)IXIInKciJSBIHBWqp G , 一 4 二 Q r圖5檢索所有產(chǎn)品信息的查詢窗口2.在査詢文檔中輸入如圖5.2所示的代碼,就可完成第二題的操作。IlCKOXOf t SQL SBKTKr BMAMKCBRnt $t42 Ifi|圖5.2檢索所有有銷售記錄的產(chǎn)品編號的查詢窗口3在查詢文檔

60、中輸入如圖5.3所示的代碼,就可完成第三題的操作。W_3/ 216 Jn-iwin454LDrty5 catL sr j _j“ j JOU*S “ WTQSSS OrW ir o rr*?51_ RXo) L r?慢3 Svje*,xi.lt _v, J Kt*e,3 rrt11226切24 Ucubjib;MCO11a?3從3 y12 UOnltteineo12a44DtMSS22(022a&i6MS5、GuWxJI22inor-7wrrFWW5U2 co co 5 OwaxbyWetrvllr.fr (Sl) Xait M2? 2 / ,; -J4select 1iiKt iuAUa*

溫馨提示

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

評論

0/150

提交評論