數(shù)據(jù)庫實驗第二部分1,2綜述_第1頁
數(shù)據(jù)庫實驗第二部分1,2綜述_第2頁
數(shù)據(jù)庫實驗第二部分1,2綜述_第3頁
數(shù)據(jù)庫實驗第二部分1,2綜述_第4頁
數(shù)據(jù)庫實驗第二部分1,2綜述_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、徐州工程學院管理學院實驗報告實驗課程名稱: 數(shù)據(jù)庫原理及應用實驗地 點: 經(jīng)濟管理實驗教學中心2013 2014學年(一)學期2013年_9月至2013年12月專業(yè)信息管理與信息系統(tǒng)班級11信管1班學生姓名 學 號指導老師蔣秀蓮數(shù)據(jù)庫課程實驗第二部分實驗1建立數(shù)據(jù)庫實驗名稱:建立數(shù)據(jù)庫。實驗內(nèi)容:在SQL Server環(huán)境下建立數(shù)據(jù)庫和維護數(shù)據(jù)庫。實驗目的:理解SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu),掌握 SQLServer數(shù)據(jù)庫的建立 方法和維護方法。實驗方法:在SQL Server環(huán)境下用CREATE DATABASE令建立數(shù)據(jù)庫(注意: 需要是系統(tǒng)管理員用戶,或者被指定dbcreator固定

2、服務器角色的成員,或者被 顯式地授予 CREATE DATABASES)實驗要求:1. 根據(jù)具體要求創(chuàng)建如下3個數(shù)據(jù)庫:(1)創(chuàng)建數(shù)據(jù)庫test1 (使用一個數(shù)據(jù)文件和一個日志文件),要求指定一個 數(shù)據(jù)文件,一個事務日志文件,并把它們安排在不同的硬盤上。(2)創(chuàng)建數(shù)據(jù)庫test2 (使用多個數(shù)據(jù)文件和多個日志文件),要求使用3個 數(shù)據(jù)文件和兩個事務日志文件,主數(shù)據(jù)文件是列表中的第一個文件或者用關(guān)鍵字PRIMARY指定(文件擴展名:主數(shù)據(jù)文件使用.mdf,次數(shù)據(jù)文 件使用.ndf,事務日志文件使用df )。(3) 創(chuàng)建數(shù)據(jù)庫test3 (使用文件組),要求使用3個文件組(含主文件組, 即默認的文

3、件組),每個文件組包含兩個數(shù)據(jù)文件,并且每個文件組要安 排在不同的硬盤上。2修改建立的test1數(shù)據(jù)庫,為之添加一個5MB大小的新數(shù)據(jù)文件。3修改建立的test2數(shù)據(jù)庫,將其中的主數(shù)據(jù)文件增加 5MB的存儲空間。4.刪除建立的數(shù)據(jù)庫test1。答題如下:testl第1題第1小題文件類型目動堵長test!n 3増塑為ME*不眼制増長和t a-s:tl_log日志不IS用1二阿鑒聲暉名稱:麗有WW:P便用全丈索弓第1題第2小題所有耆0)-熾認值工親引Q1)敝據(jù)庠文件電.目動増萇跆徑文件名t*si2Hr.PEIIART3増呈対1 NE,.Flest.不用1増呈力IOVj不G.一1*51.ldf白志和

4、E用増雖為10$,不.G.J l.ldf疔,.PKIIART3増呈為1曲.F.| dt22.nJ行PEIHART3増呈為1 NEi .F; dit33. Jtdf數(shù)據(jù)庫呂稱.t32第1題第3小題:o第2題數(shù)據(jù)廂&稱tesd所有者趣:T4MWHF YMWLE9U&i ini * W 肛竺怏用全更案引(31) 數(shù)據(jù)庫文件広).庭輯名稱丈件類型文仲追初妁犬小1靦;自動申按閒徑testl行數(shù)據(jù)FHIMA1Y増量為1 IB,祁艮制閒長 口 燼垢庫tit2行戲捋FKIMtRY5題量為1 HE神艮制増按 匚二|心燼據(jù)庫testl Jg?日志不培用陽雖為10U増枚的竜.口處數(shù)據(jù)庫14 硼HF7 刖 LEQAd

5、ni ni itrtor數(shù)希庫文件址):邏拇君稱立件類型文脫初垢丈小自動増繪貉徑tests行數(shù)據(jù)FRIHWITP1斶不跟需時氏,J F: sh-Qjukutst3FEHIfl辟3兩呈為帥.TPEtitfc&KF: Vskujiikutt4PRIIrtKRI3増呈為1 MEJ,不限帶懈檢|1test2_log不適用1期呈為low ,増長炳.1取汽數(shù)左庫l6S t3. ldg日志車適用1曬基為1血*沔牧的民.rn和數(shù)毎庫第4題SQLQuerjL 占.r ator (54)*DROP DATABASE testl實驗2 建立表和定義完整性約束實驗名稱:建立模式,表和定義完整性約束。實驗內(nèi)容:在實驗1

6、建立數(shù)據(jù)庫的基礎上,參照下圖和下表建立數(shù)據(jù)表并定義完 整性約束。炭3 10訂貨數(shù)據(jù)庫字段和約束說明手段類型關(guān)犍案卓約栄說閉倉庫號衛(wèi)個宇符心是門m2位為英文大寫宇璋后斗位曲數(shù)宇宇符門10個手苻心唯一,不允詐空值面#天于等于,2職工號2g個宇符*是*甫百位螯照倉庫裁倉庫號,后 位為數(shù)宇宇符衛(wèi)徑躱職工號說明該職工的婭遐是譴,光許空俺*貨幣心丸于等于1000,小于等于1Q0MP慳應商*心個享符Q是*首位為天寫孝母春后*位拘數(shù)字詡心哄應商備P1個宇符門地址衛(wèi)30個寧符心P訂購單d工克的職工號不亢許空值“供應商號衛(wèi)參聘供應商夷的供應商號,運行空值-訂早號討甫2儻芮寞文夫?qū)懴砦鉕恥 后4儻芮數(shù)字享符*訂購日

7、期*日躺默認是當前日期*金額貨和匙認空值。輛據(jù)訂購勒蘭的卑怕和教量計宜Q訂購單明刪Q訂敗單號*是盧養(yǎng)席訂碗單襲的訂期單號,不允許空值心序號門2位數(shù)丸是二產(chǎn)品客稱a單伽貨幣門4夫于E默認空值大于乩不允許空值*實驗目的:熟練掌握表的建立和數(shù)據(jù)完整性約束的定義方法,實踐DBMS1供的數(shù)據(jù)完整性功能,加深對數(shù)據(jù)完整性的理解。實驗方法:在實驗1建立數(shù)據(jù)庫的基礎上用 CREATE SCHEMA令建立模式,用 CREATTABLE命令建立表并定義數(shù)據(jù)完整性約束(注意:需要有 CREATSCHEMA 和CREATTABLE的權(quán)限,或者其他具有相應權(quán)限的身份),用ALTERTABLE命令 修改表結(jié)構(gòu)。實驗要求:

8、1. 用CREATE SCHEMA令建立模式(自己命名模式名稱)。I 伽 YHP附ALE9 IMnin; ztratarIZ數(shù)據(jù)庫立件疋)選輯名稱衛(wèi)件凳型文件爼韌跆丸dNB.目訥増氏KilItll丘數(shù)據(jù)FKIWMtYI 3-ta岳旳1 ns不跟制増圧二| E:wfy呂志1tfl晝対10M p眺的艮.二| F 如 fyL2. 在定義的模式下參照圖 3-4和表3-10使用CREATE TABL命令建立表并定義 完整性約束。倉庫劉名數(shù)據(jù)類型允許前值禰|倉庫號| ndw城市nchar(lO)面積int訂購單列名數(shù)據(jù)類型允許Null值職工號ncharflO)供應商號nchar(UO)0空訂單號nchar

9、(6)訂購日期datetime0金頷money0訂購單明細列名網(wǎng)譙里號?序號產(chǎn)品名稱數(shù)據(jù)類81允許側(cè)値nchgrflG) int ncb-ar2i morev int供應商數(shù)括類型允許Null 悔供應商號nchar換矗商若ndiar(16回地址ncharSO回職工北訐rjui ffindiarfS)盪理rchy(30工資money3. 使用ALTER TABLED令按如下要求修改表結(jié)構(gòu):(1) 為訂購單表增加一個新的字段“完成日期”,類型為日期時間型,默認是 空值。列名數(shù)據(jù)類型允許Nul值職工號n d-iar(lQ)供應商號ncharLQ)0帝訂單號nchartS;訂購日期datetime0m

10、oney0卜?歳冃麗c1 dattirre0(2) 為訂單明細表的“數(shù)量”字段重新定義約束:大于 0,小于等于1000的 正整數(shù),不允許為空值。(3) 將供應商表的供應商名字段的類型修改為varchar (30)數(shù)據(jù)類型允許Null值供應商號ndiar(4J拱應商名nchar16)地址nctiar(K)28實驗3數(shù)據(jù)操作和完整性約束的作用實驗名稱:數(shù)據(jù)操作和完整性約束的作用。實驗內(nèi)容:在實驗2的基礎上完成數(shù)據(jù)的插入操作,然后進行部分修改和刪除操 作,在這些操作中體會數(shù)據(jù)完整性約束的作用。實驗目的:熟練掌握SQL的INSERT UPDATE口 DELETE令,深刻理解數(shù)據(jù)完整 性約束的作用以及約

11、束時機。實驗方法:在實驗2的基礎上首先用INSERT命令插入各個表的記錄,然后使用 UPDATE口 DELETER令對部分記錄進行修改和刪除操作。實驗要求:1. 自行設計各個表的記錄,其中倉庫表至少 5條記錄,職工表至少10條 記錄,供應商表至少5條記錄、訂購單表至少20條記錄、訂購單名細 表至少50條記錄。2. 使用INSERT命令完成記錄的插入操作,要求分別設計若干違反實體完 整性、參照完整性和用戶自定義完整性約束的插入操作,并分析原因。i 丄INTO倉庫i倉陣號,城市面積)J-VALUESC 2266-,湘西原因:INSERT語句與 CHECK勺束CK_倉庫”沖突。該沖突發(fā)生于數(shù)據(jù)庫 t

12、est,表 dbo.倉庫, column 倉庫號。3. 設計若干刪除操作,體會執(zhí)行刪除操作時檢查參照完整性規(guī)則的效果(要求涉及拒絕刪除、空值刪除和級聯(lián)刪除等不同的處理方式)。違反外鍵約束,訂購單表中找到子記錄 1 DELETE FROM 職工-WHERE 職工號?CZ22220r 空值刪除DELETE FEON 職工WERE 經(jīng)理 IS NULL4. 設計若干更新操作,體會執(zhí)行更新操作時檢查實體完整性規(guī)則、參照完 整性規(guī)則和用戶自定義完整性規(guī)則的效果。違反檢查約束UPDATE訂購單SET 職工號=J lllliirWHERE 職工號=MH658913違反外鍵約束UPDATE訂購單SET職工號二

13、于WHERE 職工號二陰giF5. 將x城市倉庫的職工的工資提高10%UPDATE職工SET工資二!工費十(工資* CL 10)WHERE 職工號 LIKE P MH6589T6. 用UPDATE語句完成訂購單表金額字段的計算(提示:某張訂購單的金 額為該訂購單所有訂購項目(訂購單明細)單價乘以數(shù)量的總和)。update 1卿卑set(select sunU.價樂數(shù)量from訂購單明細where 訂單號=:*0R1111*!/where 訂-甲號T0R111T7. 設計23個刪除操作,它需要另一個表中的數(shù)據(jù)作為刪除條件(例如, 按指定的供應商名稱刪除訂購單記錄)。根據(jù)指定的供應商名稱刪除訂購單

14、記錄Delete訂購單where供應裔號in select供應商號from.洪直商where 債應商qer1 )根據(jù)指定的員工號刪除訂購單記錄Delete訂購單where職工號 m select職工號 frojh職工where 職工號=X712351 ? 71234大連60XZ1235湖南65XZ1236匱門70表二訂購單職工號供應商號訂卑號訂的日朋金甌;mfi365115100OR1U1ZO10-0543100:,.3000 .WOOmf2K512101OR1112劄山占&訂飼3500.UQOMH650913S10ZOR 1113201015 OT:.P4500.0OT3X212M14泅0R

15、11H10-06-2300.5000.00MMH6Sa915smiOlllS2010*06-10 OOr.SOO.QOMS1Q2R1U62010-07-ClOT.r3000 .CO123.25416$1030RU17JOI0-C7-O3 00:2500.0009MHfi5B9L7S3JQ30R111320107-06 C0.n3 500 .GOODMH6=5a917SW1Ring3010-07-14 00:,4000 .WOOMH6S09171020112020UMJ74S 00:4500 .GOTOMH65S9L7S1Q40R11212010-0746 00:6000 .U12351S$10

16、1onus:2010-07-30 00:-,.5 500.0000XZ12351BS3O2R11232010-07-21 OTr.5DQO.COOOXZ123513S1Q3R112 斗2010-07-22 00:4500 ,wmXZ1235185KJ4Ofl.112510-07-31 Ml4000.MMxz 123619S3D1OR 11262010-034)6 ODf.seoo.oooDXT 123619S10ZOR 1127JO 10-0&-09 OCr,.49QO.OOQOKZ12-&619sm3Oail2B20 山 W2100:5000.0M0X21Z3619S1Q4OR 112920

17、10-08-24OT::.r5200 .(XX)Q510+OR.U30MtO-W-35 M-,.6000 .WW表三訂購單明細訂購單號產(chǎn)品名稱單怕SSOFllllt101Q15.0000600OR 1112102w16-0000580ORinj103XZOOOOT550ORllM104D30.0000gooOR 1115105F25.QOOO4900R1116106G36.OTOT500QR1117107J5S.DOOO500OR 111010BVE50,0000冏ORlll109DE45,00005M0520110SW48.00M9MOR 1121111.WQ41.MM2MOR 122112

18、DW61DOOO500OR 1123113GH45.00OT700OR 1124114AS63.D0M750QR1U5115TY46.QQ0QsmQR1I26Il石更29-QQW5S0Oft 1127117HU30,00005000R112S118Kt58.0000456OR 1129119RS90.0000100OR 1130120KILM.OOOO20OFtim121KL150.000025Oft 1132122DJ121.000026OR 1133123GJ150.000010OR 1134124XD50.0000450OR 1135125SJ56-D0D0456OH 12361托UB9

19、-OODO100OR 1137127UI90,0000900OR1138123DJ100,0000100OR 1139129KO120.0000200Rl:401305.0150.000012OR1141m=0L5LQ0M12OR 1142132HY100.000020133av120.000020OR1144134KP10G.000010OR 1145135zx120.000010OR 1146136NJ110.000011QR1M7137JHszoooo13OR 1148138XM90.0000100眉1】書139KE95.0000100OR 1150:40ZDE96.000(120OR

20、1151HlGHYU50.0000300ORU52W2SDV;58.00001530QRU53143SWDQ強 eooo3000OR 1154DWQO79,0000160QR1155i45WFT4350,00002000OR 1156詵SFEG69.0000200OR1157147OM150.00005&eQiisa148SDQV/&50.00004560OR 1159曲FERV;LDO.ODM100ORllfiO150DQV;R15Q.0D0020表四供應商供包兩號快匝商名號倔慄州工世學喘城由S101oer恰M市1T衣商湖S102承北京幣三車屯S103sdf5101 -1UO職工雨京幣新請口

21、表五肥工號經(jīng)理工資倉庫號-.:WFY2000.0000mg 5mf236512LUHAN3500X000mf2365mf236515CHEN2500.0000mf236SMH653913LAY3916.0000MH6589MH65B91斗KRIS4400X000MH65B9MH658920SY2750.0000MH6589XZ123S17KAI3500.0000XZ1235XZ123518DO4000X000XZ1235XZ123519TAO2000.0000XZ123SXZ123616X3UMIN3000.000QXZ1236實驗4數(shù)據(jù)查詢實驗名稱:使用SQL SECLECT句的數(shù)據(jù)查詢操作

22、。實驗內(nèi)容:在實驗2和3的基礎上完成規(guī)定的查詢操作。實驗目的:熟練掌握SQL SECLEC命令。實驗方法:在實驗2和3的基礎上使用SQLSECLEC命令完成實驗要求中所規(guī)定 的各種查詢。實驗要求:用SQLSECLEC命令完成以下查詢(在完成查詢時將題目中的 X, 丫等根據(jù) 實驗3產(chǎn)生的數(shù)據(jù)變化):(1)至(12)是一般簡單查詢(1)從職工表中查詢所有工資值(考慮去掉和不去掉重復值兩種情況)。select di st inct 工丫裔from 口二+ 譏需旨心皿丄瓷;z瓠亠-查詢所有(2)查詢倉庫表中的全部信息。Select + froa 倉庫(3)查詢工資多于x元的職工號。VUt UC y-.

23、 M LUI UrJ JJL III. -ULIIJ.Select W!工號 from JR工 where X=1000(4)查詢哪些倉庫有工資多于y元的職工。3 select * Iron 倉庫 where ftS# in (selectf roa BHTwhere 工資 -5000(5) 給出在倉庫m或n(m,n是倉庫號)工作,并且工資少于z元的職工號 W V select 職工號from 職J2wherem (select 倉庫號 from 倉,莊where= ? mf2365? or 倉庫號=J XZ1235?) and y)。3 select t from 職工-where 工資 1

24、230(14) 查詢工作在面積大于s的倉庫的職工號以及這些職工工作所在的城 市?!癊LECT咀工號,城市FROM倉庫 JOIN 職工ON職工危庫呂尢庫倉庫號)-WHERE I:面積(15)根據(jù)職工表列出上一級經(jīng)理及其職工(被其領導)的清單(即列出誰 領導誰的清單)。3 select職工號”纟圣理fH曲職工 匸工:二匸 2 cm select 經(jīng)理 as matrorr,時h亡工亡 經(jīng)理g 11) z on 經(jīng)理 =匸 ma-group by職工號經(jīng)F里(16)列出倉庫表和職工表的廣義笛卡爾積的運算結(jié)果。select *from 倉庫 as whr 職工 -where嘰倉產(chǎn)號*念摩景|(17)根

25、據(jù)倉庫表和職工表的廣義笛卡爾積得到倉庫表和職工表進行自然連 接的結(jié)果。3 select *-f roir. 倉庫 as 嘰職工|w(18)( 21)分別用內(nèi)連接、左連接、右連接和全連接完成,分析它們的效果(18)查詢供應商-訂購單信息,查詢結(jié)果中包括供應商號、供應商名、訂購 單號和訂購日期這4個字段。41拄奧供應商號供血商名,肝單號訂購日期from 井應齊 as 3 工二ght ju二n select ”from訂購單)匸on 1=1|(19) 查詢供應商-訂購單信息,查詢結(jié)果中包括供應商號、供應商名、訂購 單號和訂購日期這4個字段,要求結(jié)果中列出所有供應商信息(包括目前沒有訂 購單的)。3

26、select凸供應商號,供血商名尙單號訂購日期 f工口兀供應商 as s right join ael&cc *-from 訂購必匸on s.供血商號=匸供應商號(20)查詢供應商-訂購單信息,查詢結(jié)果中包括供應商號、供應商名、訂購 單號和訂購日期這4個字段,要求結(jié)果中能夠反映目前沒有確定供應商的訂購單 情況。(21)查詢供應商-訂購單信息,查詢結(jié)果中包括供應商號、供應商名、訂購 單號和訂購日期這4個字段,要求結(jié)果中既能反應目前沒有訂購單的供應商信 息,又能反映目前沒有確定供應商的訂購單情況。(22)( 31)使用嵌套查詢(注意使用 ANY All,EXISTS(22) 查詢哪些城市至少有一個

27、倉庫的職工的工資為x元。select 城市from倉庫whwhere軸h*倉庫號ir (select倉庫號froir-職工where 工資 =3(000-group by倉庫號)(23)查詢所有職工的工資都多于x元的倉庫的信息。T tfselect *f roif. 倉庫 A3 Whwhere exists(select 1from耳己工as w-where w .工資=3000 and *倉席號nh.倉庫號J(24)查詢和職工a同樣工資的所有職工信息。3 select f rem 職工wlwhereselec匸討2 T資frcim 職工w2-where 坤2 .職工號= and wl 工資=

28、w/ 工資)(25)查詢哪些城市的倉庫向地址為 d的供應商發(fā)出了訂購單。select k f roir,占;庫 whwhere xz.5t5 select ”from職工wwhere existsiselect ”from 訂購單owhere -xiscsiselect 1f roic 供應商弭where si石址北京日s供應商號Fl供應商號! and肌職工號=s職工號-)and wh.倉庫號=w.倉產(chǎn)11(26) 查詢地址為x的供應商目前有y城市倉庫的訂購單的供應商的名稱 (分別用嵌套查詢和連接查詢完成,分析各自的效率)。(27) 查詢有職工的工資大于或等于x倉庫中任何一名職工的工資的倉庫

29、號。SELECT DISTINCTFROM職工WHERE 土資 =SELECT irin (工資FROM職工-WHEREmf2365 * |(28)查詢有職工的工資大于或等于 X倉庫中所有職工的工資的倉庫號。| SELECT DI5TINCTFROM HTWHERE J2= SELECT irax (工資 IFROM職工-WHERE2365*)1(29)列出每個職工經(jīng)手的具有最高金額的訂購單信息。select *仕OID訂購單Q1where exists (select ir.ax i o.金額i6職工號from訂購單owhere 工號職工號 group by Q職工號 |(30)查詢目前還沒

30、有職工的倉庫的信息。Mip日 select rfzrom倉庫 as whwhere 知h.-倉庫號 naz in (select 討*倉庫杲-from 職工明(31)查詢目前至少已經(jīng)有一個職工的倉庫的信息。 * V*J* XJJselec匸 from 倉.庫 as whwhere exists (count 1) a彳 ccf r cir. 職工-where汕.倉庫號 =W-group by 如* 倉庫杲 having cont (1 - =1(32) ( 42)匯總和分組查詢(32)查詢目前倉庫所在城市的數(shù)目。SELECT COUNT (DISTINCT 城市;FROM 倉庫(33)查詢目前

31、需要支付的職工工資的總數(shù)。嗎t(yī) 匸 I ruinroEL - uuu.auucry =2000 )(36)查詢工資大于x元的職工所經(jīng)手的訂購單的最高金額select m&x金額卜”職工號fE5l訂購單Owhere existsselect 1from職工wwhere ZE=1000 ind e. 職工號w.職工號)group by職工號(37)查詢每個倉庫的職工的平均工資。select 倉廃gev輕工資)fromgroup職工I砂僉庫號(38)查詢每個倉庫的訂購單的最咼金額、最低金額和平均金額。select rr.ax 金額 i . nu.n (金額i f avg (金額】充產(chǎn)貳frorr,訂

32、購單 a left join select from碗工)w on破.職工號=亠職工號-9X0UP by念庫號(39)查詢至少有5個訂購單項目的每張訂購單的平均金額。select avg (o.金頷兒口.訂單號 from訂購單owhere exists (select count 八: 丁購單號from訂購單明細od汕皀6訂單號=乩訂購單號group by 訂購單號 Having count ( I X5 :-gioup by 口 .訂單(40) 列出職工全部記錄并計算各倉庫的平均工資和工資小計,最后給出全 體職工的平均工資和工資總和(使用 COMPUT田丫和COMPUTE(41) 列出全部訂

33、購單明細并計算各訂購單的金額,最后給出所有訂購單的 平均金額和金額總計(使用 COMPUTEBY和COMPUTE(42) 列出全部訂購單記錄并計算所有訂購單的平均金額和金額總計(使用COMPUTE實驗5視圖的應用實驗名稱:視圖的建立和應用。實驗內(nèi)容:在實驗2和3的基礎上定義視圖,并在視圖上完成查詢、插入、更新 和刪除操作。實驗目的:掌握視圖定義和應用的方法,體會視圖和基本表的異同之處。實驗方法:在實驗2和3的基礎上用CREATVIEW命令定義視圖,然后使用SELECT 命令完成查詢,使用INSERT UPDATE口 DELETE命令分別完成插入,更新和刪除 操作。實驗要求:1. 在實驗2建立的

34、基本表的基礎上,按如下要求進行設計和建立視圖:(1)基于單個表按投影操作定義視圖。m 匚reate view 倉.庫己w as select *from倉庫(2)基于單個表按選擇操作定義視圖。u| Create view 倉庫 view ab select * from令庫-where 面積(3)基于單個表按選擇和投影操作定義視圖。| Createas select 倉庫號城市積from倉庫 where 面積)-100(4)基于多個表根據(jù)連接操作定義視圖。i Create viev mult i_viev as select 職工號邀市 from眼工right joiti (select倉癢號

35、as啦心城市 from倉庫-where 商積=300 - t an 倉庫號-t. vid(5) 基于多個表根據(jù)嵌套查詢定義視圖。Crsste viav nsstedviev as select + firm倉陣whurhere exist s (select *from職工wwhere eLtists (select ffrom訂肚單owhere exists select 1from供應商siwhere si. 址土北京arid o*供應商號供應商號: and憶職工號r顛工號)and帖h.倉庫號二倉庫號)倉庫號(6)定義含有虛字段的視圖。3Create viewview as select址

36、id,城市毘噬窗稅辭a from.倉庫-where 面積-1002. 分別在定義的視圖上設計一些查詢(包括基于視圖和基本表的連接或嵌 套查詢)。3. 在不同的視圖上分別設計一些插入、更新和刪除操作,分情況討論哪些 操作可以成功完成,哪些操作不能完成,并分析原因。4. 在實驗報告中要給出具體的視圖定義要求和操作要求,并針對各種情況 做出具體的分析和討論。實驗 6 游標實驗名稱: 游標的設計和使用。實驗內(nèi)容:在SQL Server環(huán)境下使用T-SQL的游標功能完成指定的操作。實驗目的: 理解和掌握游標的使用方法。實驗方法: 在 SQL Server 環(huán)境下使用游標完成指定的操作。 實驗要求:1.

37、定義一個游標,其內(nèi)容是按單價升序列出的全部訂購單以及其明細信息 (基于實驗 2建立的表和實驗 3 插入的數(shù)據(jù))。2. 逐一讀出游標中的記錄,并顯示。實驗 7 存儲過程實驗名稱: 存儲過程的設計和使用。實驗內(nèi)容: 在 SQL Server 環(huán)境下設計、創(chuàng)建并執(zhí)行存儲過程。實驗目的: 理解和掌握數(shù)據(jù)庫存儲過程的創(chuàng)建和調(diào)用方法。實驗方法: 在 SQLServer 環(huán)境下,按要求創(chuàng)建和調(diào)用存儲過程完成指定的操作。 實驗要求:1. 建立如下存儲過程(基于實驗 2建立的表和實驗 3 插入的數(shù)據(jù))。(1)查詢工資范圍在 x 元到 y 元范圍內(nèi)的職工信息。說明: 該存儲過程有兩個參數(shù); 要求查詢的職工信息包括

38、倉庫號、所在城市、職工號和工資。(2)查詢在某年某月某日之后簽訂的訂購單的有關(guān)供應商信息。 說明:以訂購單中的訂購日期作為參數(shù); 分別按訂購單號顯示有關(guān)供應商信息。(3)更新操作,將某個倉庫的訂購單的訂購日期統(tǒng)一修改為一個指定日期 (參數(shù)為倉庫號和新的訂購日期) 。2. 在客戶端以存儲過程和輸入 SQL 語句的方式分別執(zhí)行相同的查詢或操 作,比較使用和不使用存儲過程的區(qū)別。實驗 8 觸發(fā)器實驗名稱:DML觸發(fā)器的設計和應用。實驗內(nèi)容:在SQL Server環(huán)境下設計,創(chuàng)建DML觸發(fā)器,并設定相關(guān)操作使觸 發(fā)器運行。實驗目的: 理解和掌握數(shù)據(jù)庫中觸發(fā)器的創(chuàng)建方法, 體會觸發(fā)器執(zhí)行的條件和作 用。

39、實驗方法:在SQL Server環(huán)境下,按要求設計DMLtt發(fā)器,并使用相關(guān)操作使 觸發(fā)器運行。實驗要求:1. 為職工表建立一個更新觸發(fā)器,當修改工資值超過6%時給出警示信息。2. 為訂購單表建立一個插入和更新觸發(fā)器,約束規(guī)則是:當訂購單金額小于 3000 時必須使用本地供應商 (發(fā)出訂購單的倉庫和供應商在同一個城市) ,如 果不滿足要求,則拒絕操作,并給出錯誤信息。3. 設計并執(zhí)行相關(guān)的插入操作和更新操作,體會DMLtt發(fā)器的效果和作用。實驗 9 用戶管理和權(quán)限管理實驗名稱: 用戶管理和權(quán)限管理。實驗內(nèi)容: 在 SQL Server 環(huán)境下完成數(shù)據(jù)庫的用戶管理、角色管理和操作權(quán)限 管理。實驗

40、目的: 理解和體會數(shù)據(jù)庫安全性的內(nèi)容, 加強對數(shù)據(jù)庫管理系統(tǒng)的安全管理 功能的認識。實驗方法: 在 SQL Server 環(huán)境下分別以系統(tǒng)管理員、數(shù)據(jù)庫管理員、對象擁有 者和普通用戶的身份完成所要求的各項操作。實驗要求:1. 以系統(tǒng)管理員身份完成如下實驗:(1) 建立 3 個不同名稱的注冊用戶。(2) 使用ALTER LOGIN命令對建立的注冊用戶作不同的修改。( 3)建立一個數(shù)據(jù)庫管理員用戶。2. 以數(shù)據(jù)庫管理員身份完成如下實驗:(1) 根據(jù)已有的注冊用戶建立幾個當前數(shù)據(jù)庫的用戶(部分用戶可以指 定默認模式等)。(2) 使用ALTER USE命令修改部分用戶設置。( 3)建立若干角色,部分角

41、色指定其他用戶管理。( 4)授權(quán)一些用戶可以創(chuàng)建表等數(shù)據(jù)庫對象。( 5 )完成角色管理及其他授權(quán)管理。3. 以下實驗由若干學生組成一組共同完成:(1) 每個用戶有建立對象的權(quán)限, 各自建立自己的對象 (如表和視圖等) 。(2) 各用戶名之間就表或視圖的查詢、修改、刪除、插入等互相授權(quán), 在授權(quán)過程中體會GRAN命令中WITH GRANT OPTlO短語的作用。(3) 分情況收回權(quán)限,并體會REVOK命令中GRANOPTIONFOF和CASCADE 短語的作用。4. 在實驗報告中要給出具體的操作要求和過程, 并針對各種情況做出具體 的分析和討論。實驗 10 事務管理和災難恢復實驗名稱:事務管理及備份與恢復實驗內(nèi)容:在 SQL Server 環(huán)境下完成事務管理的基本實驗,完成數(shù)據(jù)庫的備份和恢復操作。實驗目的: 理解和體會數(shù)據(jù)庫事務管理的內(nèi)容, 掌握數(shù)據(jù)庫備份和恢復的基本方 法,加強對數(shù)據(jù)庫管理系統(tǒng)的事務管理功能的認識。實驗方法: 事務 在 SQLServer 環(huán)境下實驗事務管理的基本內(nèi)容;掌握數(shù)據(jù)

溫馨提示

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

評論

0/150

提交評論