資料庫原理:實驗四:視圖與索引(17題全部代碼)
-------工程大資料庫原理實驗課
-------來源:計算機系0211181藍多多、0211181琛哥
2020年12月5日最新版
注意你的s、sc、c表中包含的資料是否正確哦,代碼藍多多一個一個除錯的都是沒問題的哦!
閱讀(抄作業)之前請先點個贊,
–1. 使用Transact-SQL陳述句創建“計算機系”學生的視圖Stu_CS1,
create view Stu_CS1 (sno,sname,sex,age)as select sno,sname,sex,age from s where sdept='計算機'
–2. 使用SQL Server Management Studio的圖形工具在視圖Stu_CS1的基礎上創建“計算機系”選修了“c2”課程的學生視圖Stu_CS2,
create view Stu_CS2(sno,sname,sex,age,cno)as select sno,sname,sex,age,cno from Stu_CS1,c where cno='c2'
–3. 在視圖Stu_CS2的基礎上創建“計算機系”選修了“c2”課程且成績在“90”分以上的學生視圖Stu_CS3,
create view Stu_CS3(sno,sname,sex,age,grade)as select Stu_CS2.sno,sname,sex,age, grade from Stu_CS2,sc where grade>90
–4.在基本表SC上,建立一個學生學習情況視圖S_GRADE,內容包括:學號、選修課程門數、平均成績,
create view S_GRADE(sno,num,avggrade)as select sno,count(cno),avg(grade)from sc group by sno
–5.通過學生學習情況視圖S_GRADE查詢每個學生學號、選修課程門數、平均成績,
select *from S_GRADE
–6.通過學生學習情況視圖S_GRADE查詢選修課程門數大于“S4選修課程門數”的學號、選修課程門數、平均成績,
select *from S_GRADE where num >(select num from S_GRADE where sno='S4')
–7.定義“計算機”系學生視圖STUDENT_COMPUTER,包括學生學號,姓名,性別,和年齡,
create view STUDENT_COMPUTER as select sno,sname,sex,age from s where sdept='計算機'
–8.基于“計算機”系學生視圖STUDENT_COMPUTER,插入一個學生的資訊,學號為S99,姓名為王敏,性別為男,年齡為22,觀察學生表s中資料的變化,
insert into STUDENT_COMPUTER values('s99','王敏','男',22)
–9.基于“計算機”系學生視圖STUDENT_COMPUTER,洗掉姓名為“王敏”的學生記錄,
delete from STUDENT_COMPUTER where sname='王敏'
–10.創建視圖view1,要求查詢學號為‘s1’的學生選修課程和成績情況
create view view1(sno,cno,grade)as select sno,cno,grade from sc where sno='s1'
–11.更改視圖view1,要求查詢學號為‘s1’和‘s3’的學生選修課程和成績情況
alter view view1(sno,cno,grade)as select sno,cno,grade from sc where sno='s1'or sno='s3'
–12.通過視圖view1更新學號為‘s1’的學生‘c1’課程的成績為98分
update view1 set grade=98 where cno='c1'and sno='s1'
–13.在基本表SC上,建立一個學生學習成績等級視圖SC_等級,該視圖中有學生學號,姓名,選修課程的課號,課名,成績等級,
create view SC_等級(sno,sname,cno,cname,gradelevel)as select sc.sno,sname,sc.cno,cname,(case when grade>90 then 'A' when grade>80 and grade<90 then'B' when grade>70 and grade<80 then'C' when grade>60 and grade<70 then'D'
when grade<60 then'E' end)from sc,c,s where s.sno=sc.sno and c.cno=sc.cno
–14. 使用Transact-SQL陳述句在sc表中創建一個聚集唯一索引,索引名為IDX_SNO_CNO, 索引以SNO升序排列,SNO相同時以CNO降序排列
create unique clustered index IDX_SNO_CNO on sc(sno asc,cno desc)
–15. 使用SQL Server Management Studio的圖形工具在S表的SDEPT(所在系)列上建立一個普通索引IDX_S
create index IDX_S on s (sdept)
–16.在S表建立一個復合索引IDX_SDEPT_AGE,索引以所在系升序排列,系相同時以年齡降序排列
create index IDX_SDEPT_AGE on s(sdept asc,age desc)
–17.洗掉索引IDX_SDEPT_AGE
drop index s.IDX_SDEPT_AGE
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/231054.html
標籤:其他
上一篇:資料庫相關問題
下一篇:MySQL資料庫簡介
