sql实验5 视图

更新时间:2023-12-05 13:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

内容一 创建视图

一.实验目的

1.掌握创建视图的SQL语句的用法。

2.掌握使用企业管管理器创建视图的方法。 3.掌握使用创建视图向导创建视图的方法。 4.掌握查看视图的系统存储过程的用法。 5.掌握修改视图的方法。

二.实验内容

1. 创建视图

(1) 使用企业管理器创建视图

① 在EDUC库中以“student”表为基础,建立一个名为“V_计算机系学 生”的视图。在使用该视图时,将显示“student”表中的所有字段.

使用SQL语句创建视图

① 在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的视图S_C_GRADE;

②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;

2.修改视图 (2)

(1) 使用企业管理器修改视图

在企业管理器中将视图 COMPUTE_AVG_GRADE 中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。

(2) 使用SQL语句修改视图

① 在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学生”更名为“V_计算机系男生”。 3. 删除视图

(1) 使用企业管理器删除视图

用企业管理器删除视图“V_计算机系学生” (2) 使用SQL语句删除视图

用SQL语句删除视图COMPUTE_AVG_GRADE;

三.实验步骤(详细)

4. 创建视图

(2) 使用企业管理器创建视图

① 在EDUC库中以“student”表为基础,建立一个名为“V_计算机系学 生”的视图。在使用该视图时,将显示“student”表中的所有字段.

步骤1:展开EDUC子目录-右键点击“视图”-选择”新建视图” 步骤2:选择添加student

步骤3:选择student所有字段,关闭保存为“V_计算机系学生” ,右键 点击视图“V_计算机系学生”,选择打开视图 (2)

使用SQL语句创建视图

① 在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的

视图S_C_GRADE;

步骤1:视图-模板资源管理器-VIEW-Create View-

步骤2:根据模板输入代码:

USE EDUC GO

IF object_id(N'S_C_GRADE', 'V') IS NOT NULL

DROP VIEW S_C_GRADE GO

CREATE VIEW S_C_GRADE AS

SELECT student.sno,sname,cname,score FROM student,course,student_course WHERE student.sno=student_course.sno

②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;

5. 修改视图

(1) 使用企业管理器修改视图

在企业管理器中将视图 COMPUTE_AVG_GRADE 中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。

步骤:右键点击视图名称,选择“修改” (2) 使用SQL语句修改视图

在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学 生”更名为“V_计算机系男生”。

步骤:新建查询-输入:sp_rename V_计算机系学生, V_计算机系男生 6. 删除视图

(3) 使用企业管理器删除视图

用企业管理器删除视图“V_计算机系学生”

步骤:右键点击所要删除的视图名称,选择“删除” (4) 使用SQL语句删除视图

用SQL语句删除视图COMPUTE_AVG_GRADE; 步骤:新建查询-输入代码:drop view view_student

内容二 一.实验目的

使用视图

1. 熟悉和掌握对数据表中视图的查询操作和SQL命令的使用;

2. 熟悉和掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系

3. 学习灵活熟练的进行视图的操作,认识视图的作用

二.实验内容

一.定义视图

在EDUC数据库中,已StudentCourse 和Student_course表为基础完成一下视图定义 1. 定义计算机系学生基本情况视图V_Computer; 2.将Student Course 和Student_course表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G 3. 将各系学生人数,平均年龄定义为视图V_NUM_AVG 4. 定义一个反映学生出生年份的视图V_YEAR

5. 将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G 6. 将各门课程的选修人数及平均成绩定义为视图V_AVG_C_G 二.使用视图

2.查询以上所建的视图结果。

3.查询平均成绩为90分以上的学生学号、姓名和成绩;

4. 查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩; 5.按系统计各系平均成绩在80分以上的人数,结果按降序排列; 三.修改视图

1. 通过视图V_IS,分别将学号为“S1”“S4”和的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果; 2. 通过视图V_IS,新增加一个学生记录 ('S12','YAN XI',19,'IS'),并查询结果 3. 通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'MA'),并查询结果 4. 通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果 5. 要通过视图V_S_C_G,将学号为“S12”的姓名改为“S12_MMM”,是否可以实现?并说明原因 6. 要通过视图V_AVG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?并说明原因

三.实验步骤(详细)

四.定义视图

在EDUC数据库中,已StudentCourse 和Student_course 表为基础完成一下视图定义 1.定义计算机系学生基本情况视图V_Computer; 步骤:新建查询-输入代码: CREATE VIEW V_COMPUTER AS SELECT * FROM

student

WHERE dno='计算机'

2.将Student Course 和Student_course表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G 步骤:新建查询-输入代码: CREATE VIEW V_S_C_G AS SELECT

student.sno,student.sname,course.cno,course.cname,student_course.score FROM student,course,student_course WHERE student.sno=student_course.sno

3.将各系学生人数,平均年龄定义为视图V_NUM_AVG

4.定义一个反映学生出生年份的视图V_YEAR

5.将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G 6.将各门课程的选修人数及平均成绩定义为视图V_AVG_C_G 五.使用视图

1.查询以上所建的视图结果。

2.查询平均成绩为90分以上的学生学号、姓名和成绩;

3.查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩; 4.按系统计各系平均成绩在80分以上的人数,结果按降序排列; 六.修改视图

1.通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果;

步骤:新建查询-输入代码: update S_C_GRADE set

sname='S1_MMM'

where sno like 'S1' GO update set

S_C_GRADE

sname='S4_MMM'

where sno like 'S4'

2.通过视图 V_IS,新增加一个学生记录('S12','YAN XI',19,'IS'),并查询结果 insert into V_IS

values ('S12','YAN XI',19,'IS') go

3.通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'MA'),并查询结果 insert into V_IS

values(‘S13’,’YAN XI’,19,’MA’)

go

4.通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果 步骤:新建查询-输入代码:

delete from V_IS where sno='S12' AND sno='S3'

本文来源:https://www.bwwdw.com/article/gs8t.html

Top