mysql实验视图与索引_视图和索引(数据库实验4)【借鉴实操】
《視圖和索引(數(shù)據(jù)庫實(shí)驗(yàn)4)【借鑒實(shí)操】》由會(huì)員分享,可在線閱讀,更多相關(guān)《視圖和索引(數(shù)據(jù)庫實(shí)驗(yàn)4)【借鑒實(shí)操】(11頁珍藏版)》請?jiān)谌巳宋膸炀W(wǎng)上搜索。
1、數(shù)據(jù)庫基礎(chǔ)與實(shí)踐實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四 視圖和索引班級(jí):惠普測試142 學(xué)號(hào):1408090213姓名:閆偉明日期:2016-11-131 實(shí)驗(yàn)?zāi)康?#xff1a;1) 掌握SQL進(jìn)行視圖創(chuàng)建的方法;2) 掌握SQL進(jìn)行視圖更新的方法,理解視圖更新受限的原因;3) 掌握SQL進(jìn)行索引創(chuàng)建及刪除的方法。2 實(shí)驗(yàn)平臺(tái):操作系統(tǒng):Windows xp。實(shí)驗(yàn)環(huán)境:SQL Server 2000以上版本。3 實(shí)驗(yàn)內(nèi)容與步驟利用實(shí)驗(yàn)一創(chuàng)建的sch_id數(shù)據(jù)庫完成下列實(shí)驗(yàn)內(nèi)容。1. 定義視圖V_TCS(定義時(shí)不加with check option),存放全部計(jì)算機(jī)系老師的信息。視圖定義代碼:CREATE VIEW V_TCS A。
2、S SELECT tno,tn,sex,age,prof,sal,comm,T.dno FROM T,D WHERE T.dno=D.dno AND D.dn=計(jì)算機(jī) 視圖查詢語句與查詢結(jié)果截圖:SELECT * FROM V_TCS2. 定義視圖V_sal,存放全體教師的教師號(hào),教師姓名,教師酬金(工資+崗位津貼),職稱信息。視圖定義代碼:CREATE VIEW V_sal AS SELECT tno 教師號(hào),tn 教師姓名,sal+comm 教師酬金,prof 支撐信息 FROM T視圖查詢語句與查詢結(jié)果截圖:SELECT * FROM V_sal3. 向V_TCS中插入一條計(jì)算機(jī)專業(yè)教師。
3、的新記錄,并查詢V_TCS視圖的全部記錄。視圖更新代碼:INSERT INTO V_TCS SELECT T10,良瑗,女,20,講師,6000,8000,D.dno FROM D WHERE D.dn=計(jì)算機(jī)視圖查詢語句與查詢結(jié)果截圖:SELECT * FROM V_TCS4. 向V_TCS中插入一條信息專業(yè)教師的新記錄,并查詢V_TCS視圖的全部記錄。視圖更新代碼:INSERT INTO V_TCS SELECT T11,百里登風(fēng),男,21,講師,6000,8000,D.dno FROM D WHERE D.dn=信息視圖查詢語句與查詢結(jié)果截圖:SELECT * FROM V_TCSSEL。
4、ECT * FROM T WHERE tno=T115. 修改V_TCS中的記錄,使得編號(hào)為t2的教師的職稱為副教授。視圖更新代碼:UPDATE V_TCS SET prof=副教授 WHERE tno=T2 視圖查詢語句與查詢結(jié)果截圖:SELECT * FROM V_TCS WHERE tno=T26. 定義視圖V_ TCS_ck(定義時(shí)加with check option),存放全部計(jì)算機(jī)系老師的信息,對(duì)比該視圖與V_TCS在進(jìn)行數(shù)據(jù)更新時(shí)的差別。視圖定義代碼:CREATE VIEW V_TCS_ck AS SELECT tno,tn,sex,age,prof,sal,comm,T.dno。
5、 FROM T,D WHERE T.dno=D.dno AND D.dn=計(jì)算機(jī)WITH CHECK OPTION視圖更新對(duì)比實(shí)驗(yàn)代碼及運(yùn)行結(jié)果截圖:-1.能插入INSERT INTO V_TCS_ckSELECT T12,良莠,女,20,講師,4000,4000,D.dno FROM D WHERE D.dn=計(jì)算機(jī)-2.不能插入(視圖CHECK OPTION約束)INSERT INTO V_TCS_ckSELECT T13,天明,男,25,講師,4000,4000,D.dno FROM D WHERE D.dn=信息7. 在課程C表的課程名屬性上按降序創(chuàng)建唯一索引I_cn。索引定義代碼:C。
6、REATE INDEX I_cn ON C(cn DESC)運(yùn)行結(jié)果截圖:8. 刪除C表上的索引I_cn。索引刪除代碼:DROP INDEX C.I_cn運(yùn)行結(jié)果截圖:4 深入思考與討論1) 請先自己定義一個(gè)視圖,使定義該視圖的查詢中使用連接。再更新該視圖,觀察視圖更新受限情況。-1.定義:CREATE VIEW V_SC AS SELECT sn,S.sno,cn,score FROM S,C,SC WHERE S.sno=SC.sno AND C.cno=SC.cno-2.查詢:SELECT * FROM V_SC-3.均無法插入(插入影響到多張表):INSERT INTO V_SC VA。
7、LUES(笑笑,S1,JAVA,99)INSERT INTO V_SC VALUES(笑笑,S1,RUBY,99)INSERT INTO V_SC VALUES(良垣,S15,JAVA,99)INSERT INTO V_SC VALUES(良莠,S1,JAVA,99) SELECT * FROM V_SC WHERE sno=S1-4.可以更新(修改分?jǐn)?shù)只影響到SC一張表):UPDATE V_SC SET V_SC.score=99 WHERE V_SC.cn=大學(xué)英語 AND V_SC.sno=S1SELECT * FROM V_SC WHERE sno=S1-5.無法更新年齡(視圖V_SC。
8、不包含age列):UPDATE V_SC SET age=18 WHERE V_SC.sno=S1-6.無法更新,修改會(huì)影響到S和SC兩張表:UPDATE V_SC SET sn=韓笑,score=98 WHERE V_SC.sno=S1 -7.將成績?yōu)镹ULL的課程名設(shè)為NULL,更新失敗(遵守基表C的cn列的NOT NULL約束):UPDATE V_SC SET cn=NULL WHERE score IS NULL2) 請先自己定義一個(gè)視圖,使定義該視圖的查詢帶分組和集函數(shù)。再更新該視圖,觀察視圖更新受限情況。-1.定義:CREATE VIEW V_SC_gp AS SELECT sn,S.sno,AVG(score) avg_scoreFROM S,C,SC WHERE S.sno=SC.sno AND C.cno=SC.cnoGROUP BY sn,S.sno-2.查詢:SELECT * FROM V_SC_gp-3.無法插入:INSERT INTO V_SC_gp VALUES(劉靜,S8,88)-4.無法更新(avg_score集函數(shù)列):UPDATE V_SC_gp SET avg_score=88 WHERE sn=小明-5.無法更新(視圖包含聚集函數(shù)、GROUP BY子句):UPDATE V_SC_gp SET sn=小小云 WHERE sn=小明11cl借鑒。
總結(jié)
以上是生活随笔為你收集整理的mysql实验视图与索引_视图和索引(数据库实验4)【借鉴实操】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FOFA常用搜索语法
- 下一篇: [fairseq] 报错:TypeErr