内容一    创建视图
一.实验目的
1.掌握创建视图的 SQL 语句的用法。
2.掌握使用企业管管理器创建视图的方法。
3.掌握使用创建视图向导创建视图的方法。
4.掌握查看视图的系统存储过程的用法。
5.掌握修改视图的方法。
二.实验内容
1. 创建视图
(1) 使用企业管理器创建视图
①    在 EDUC 库中“student表为基础建立一个名“V_计算机系学
生”的视图。在使用该视图时,将显示“student”表中的所有字段.
(2)    使用 SQL 语句创建视图
① 在查询分析器中建立一个每个学生的学号姓名选修的课名及成绩的视图 S_C_GRADE;
②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;
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 数据库中 Student Course 和 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 数据库中 Student Course 和 Student_course 表为基础完成一下视图定义
1. 定义计算机系学生基本情况视图 V_Computer;
步骤:新建查询-输入代码:
CREATE VIEW V_COMPUTER
AS
SELECT *
FROM    student
sql中delete用法
WHERE dno='计算机'
2. Student Course 和 Student_course 表中学生的学号,姓名,课程号,课程名,成绩定义为视图 V_S_C_G
步骤:新建查询-输入代码:
CREATE VIEW V_S_C_G
AS SELECT
student.sno,student.sname,courseo,courseame,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    S_C_GRADE
set    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'