文档库 最新最全的文档下载
当前位置:文档库 › 上机_5_:视图的定义及使用

上机_5_:视图的定义及使用

二、上机内容及步骤
(一)建立视图(运行并观察结果)
1 建立信息系学生的视图IS_student
create view IS_student (学号,姓名,年龄)
as
select sno,sname,sage from student
where sdept='IS'
2 建立信息系选修了1号课程的学生的视图IS_S1
create view IS_S1 (学号,姓名,成绩)
as
select student.sno,sname,grade from student,sc
where sdept='IS'and student.sno=sc.sno and cno='1'
3 建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2
craete view IS_S2(学号,姓名,成绩)
as
select student.sno,sname,grade from student,sc
where sdept='IS'and student.sno=sc.sno and cno='2' and garde>=90
4.建立一个反映学生出生年份的视图BT_S
create view BT_S(学号,姓名,出生年份)
as
select sno,sname,year(getdate())-sage from student
5.将学生的学号及他的平均成绩定义为一个视图S_G.
create view S_G(学号,平均成绩)
as
select sno,avg(grade) from sc
group by sno
6.将课程的课号及选修人数定义为一个视图C_XIU.
create view C_XIU (课程号,人数)
as
select cno, count(sno) from sc
group by cno
(二)查询视图(运行并观察结果)
1.在信息系学生的视图中找出年龄小于20岁的学生
select sno,sname from IS_student
where sage<20
2.查询信息系选修了1号课程的学生
select IS_student.sno,sname from IS_student,sc
where IS_student.sno=sc.sno and cno='1'
3.在S_G中查询平均成绩在90分以上的学生的学号和平均成绩
select * from S_G
where 平均成绩>=90
4.在C_XIU中查询选修人数在2人以上的课程号
select 课程号 from C_XIU
where 人数>=2
(三)更新视图(运行并观察结果)
1.将信息系学生视图IS_Student中学号为95002的学生姓名改为’刘辰’。
update IS_Student
set sname='刘辰'
where sno='95002'
2.向信息系学生视图IS_Student中插入一个新的学生记录,其中学号为95029,姓名为赵新,年龄为20。
insert
into IS_S1
valuse ('95029','赵新','20')
消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'ssex',表 '学生—课程.dbo.student';列不允许有 Null 值。INSERT 失败。
语句已终止。

3.删除信息系学生视图IS_Student中学号为95029的记录。
delete from IS_Student
where sno='95029'
(四)删除视图(运行并观察结果)
1.删除IS_S1视图。
drop view IS_S1
2.删除BT_S视图。
drop view BT_S
将以上SQL语句存盘备查。
studemt sno(学号) sname(姓名) ssex(性别) sage(年龄) sdept(系)
sc sno(学号) cno(课号) grade(分数)
course cno(课号) cname(课程名) cpno(先行课) ccredit(学分)
查信息系(IS)、数学系(MA)和计算机科学系(CS)

相关文档