1.实验目的
通过本次实验使学生掌握数据中视图的相关操作。
2.实验内容
- 视图的创建
- 视图的查询
- 更新视图
3.实验环境
- Windows
- SQL Server
4.实验步骤及结果
- 创建一个数据库,文件名为“教学”
- 打开“教学”数据库
Student 表
S# | Sname | Age | Ssex |
---|---|---|---|
S1 | WANG | 15 | 男 |
S2 | LI | 17 | 女 |
S3 | LU | 19 | 女 |
S4 | ZHAO | 13 | 女 |
S5 | YANG | 20 | 男 |
Course表
C# | Cname | T# |
---|---|---|
C1 | Maths | T1 |
C2 | DB | T2 |
C3 | English | T3 |
C4 | Computer | T2 |
SC表
S# | C# | Score |
---|---|---|
S1 | C1 | 50 |
S2 | C1 | 70 |
S3 | C1 | 80 |
S4 | C1 | 75 |
S5 | C1 | 87 |
S1 | C2 | |
S2 | C2 | |
S4 | C2 | 85 |
S1 | C3 | |
S5 | C4 | 60 |
S4 | C4 | 45 |
Title表
T# | Tname | Title |
---|---|---|
T1 | 吴恩达 | 教师 |
T2 | 刘晓庆 | 教授 |
T3 | 张龙 | 副教授 |
注明:表格和下面的代码可能不会一一对应,可能需要增加,删除,更改表中的数据
- 输入如下数据:
1、建立成绩及格的学生号和姓名视图 v_xx
Create view v_xx(s#,sname)
as
select s#,sname
from Student
where s# in
(select s#
from sc
where score>=60)
go
2) 建立一个视图,显示每位学生的平均成绩 v_pjcj
Create view v_pjcj(sname,score)
as
select sname,avg (score)
from sc,Student,course
where Student.s#=sc.s# and course.c#=sc.c#
group by sname
go
3) 建立选修了C1课程的视图v_c1
Create view v_c1(s#,sname,score)
as
select Student.s#,sname,score
from sc,Student
where Student.s#=sc.s# and sc.c#='c1'
go
4) 建立选修了C1课程且成绩大于90分的视图v_c11
Create view v_c11(s#,sname,score)
as
select Student.s#,sname,score
from Student,sc
where Student.s#=sc.s# and sc.score>90
go
5) 从v_c1 中找出不及格的学生姓名
Select sname
from v_c1
where score<60
go
6) 创建视图,显示课程号为C1的课程名和教师号
Create view v_kc
as
select cname,t#
from course
where c#='c1'
go
7)向视图v_kc中插入名为数据库系统,教师号是T5
Insert
into v_kc
values('数据库系统','T5')
go
8) 在视图 v_kc中将 C1 的课程名改为“DB ”
Update
v_kc
set cname='DB'
go