在“教务管理”数据库中,用 T-SQL 语句完成以下视图操作。
(1)建立信息系教师视图TV1,包括工号、姓名、年龄。(单表视图)
(2)建立信息系选修了 C3 课程的学生视图 TV2,包括学号、姓名、成绩。(多表视图)
(3)建立信息系选修了 C3 课程且成绩不及格的学生视图 TV3。(基于视图的视图)
(4)定义一个反映教师出生年份的视图 TV4。(表达式视图)
(5)将学生的学号及其总成绩定义为视图 TV5。(分组视图)
(6)向信息系教师视图 TV1 中插入一个新的教师记录,其中工号为“10032”,姓名为 “蒋小米”,年龄 28 岁。
(7)将信息系教师视图 TV1 中工号为“10032”的教师姓名改为“蒋小明”。
(8)删除信息系教师视图 TV1 中工号为“10032”的教师记录。
(9)在信息系教师视图 TV1 中找出30岁以上教师信息。
(10)查询讲授了 C1 课程的教师姓名(TV1视图与表连接查询)。
数据库系统
- 实验记录(附上截图)
(1)
create view TV1(Tno,Tname,Tage)
as
select Tno,Tname,Tage
from Teacher
where Dno in(select Dno from Department where Dname='信息系')
(2)
create view TV2(Sno,Sname,Grade)
as
select Student.Sno,Sname,Grade
from Student,SC
where Dno in(select Dno from Department where Dname='信息系')
and Student.Sno=SC.Sno and SC.Cno='C3'
(3)
create view TV3
as
select Sno,Sname,Grade from TV2
where Grade<60
(4)
create view TV4(Tno,Tname,Tbirth)
as
select Tno,Tname,YEAR(getdate())-Tage
from Teacher
(5)
create view TV5(Sno,Ssum)
as
select Sno,SUM(Grade)
from SC
group by Sno
(6)
insert into TV1
values('10032','蒋小米',28,'D01')
(7)
update TV1
set Tname='蒋小明'
where Tno='10032'
(8)
delete
from TV1
where Tno='10032'
(9)
select *
from TV1
where Tage>30
(10)
select Tname
from TV1,TC
where TV1.Tno=TC.Tno and Cno='C1'