SQL数据库实验报告 视图管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京信息工程大学实验(实习)报告
实验(实习)名称视图管理实验(实习)日期12月9日得分指导教师系计算机系专业网络工程年级班次班姓名学号
一.实验目的
1.掌握创建视图的S QL 语句的用法。
2.掌握使用企业管管理器创建视图的方法。
3.掌握使用创建视图向导创建视图的方法。
4.掌握查看视图的系统存储过程的用法。
5.掌握修改视图的方法。
6.熟悉和掌握对数据表中视图的查询操作和S QL 命令的使用;
7.熟悉和掌握对数据表中视图的更新操作和 SQL 命令的使用,并注意视图更新与基本表更新的区别与联系
8.学习灵活熟练的进行视图的操作,认识视图的作用
二.实验内容
1. 创建视图
(1)使用企业管理器创建视图
①在E DUC 库中以“student”表为基础,建立一个名为“V_计算机系学
生”的视图。在使用该视图时,将显示“student”表中的所有字段.
(2) 使用S QL 语句创建视图
①在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的
视图S_C_GRADE;
②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;
2.修改视图
(1) 使用企业管理器修改视图
在企业管理器中将视图 COMPUTE_AVG_GRADE 中改成建立在数学系的学生学
号、选修课程号以及平均成绩的视图。
(2) 使用S QL 语句修改视图
①在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学
生”更名为“V_计算机系男生”。
3. 删除视图
(1)使用企业管理器删除视图
用企业管理器删除视图“V_计算机系学生”
(2)使用S QL 语句删除视图
用S QL 语句删除视图C OMPUTE_AVG_GRADE;
4.定义视图
在E DUC 数据库中,已S tudent Course 和S tudent_course
下视图定义
1. 定义计算机系学生基本情况视图V_Computer;
2. 将S tudent Course 和S tudent_course 表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G
3.将各系学生人数,平均年龄定义为视图V_NUM_AVG
4.定义一个反映学生出生年份的视图V_YEAR
5.将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G
6.将各门课程的选修人数及平均成绩定义为视图V_AVG_C_G
5.使用视图
1.查询以上所见视图结果。
2.查询平均成绩为90 分以上的学生学号、姓名和成绩;
3.查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩;
4.按系统计各系平均成绩在80 分以上的人数,结果按降序排列;
6.修改视图
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 分,是否可
以实现?并说明原因
三.实验步骤(详细)
1.创建视图
(1)使用企业管理器创建视图
①在E DUC 库中以“student”表为基础,建立一个名为“V_计算机系学生”的视图。在使用该视图时,将显示“student”表中的所有字段.
步骤1:展开E DUC 子目录-右键点击“视图”-选择”新建视图”
步骤2:选择添加s tudent
步骤3:选择s tudent 所有字段,关闭保存为“V_计算机系学生”,右键
点击视图“V_计算机系学生”,选择打开视图
(2) 使用S QL 语句创建视图
①在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的
视图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;
2.修改视图
(1) 使用企业管理器修改视图
在企业管理器中将视图 COMPUTE_AVG_GRADE 中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。
步骤:右键点击视图名称,选择“修改”
(2) 使用S QL 语句修改视图
在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学生”更名为“V_计算机系男生”。
步骤:新建查询-输入:sp_rename V_计算机系学生, V_计算机系男生
3.删除视图
(1)使用企业管理器删除视图
用企业管理器删除视图“V_计算机系学生”
步骤:右键点击所要删除的视图名称,选择“删除”
(2)使用S QL 语句删除视图
用S QL 语句删除视图C OMPUTE_AVG_GRADE;
步骤:新建查询-输入代码:drop view view_student
4.定义视图
在E DUC 数据库中,已S tudent Course 和S tudent_course 表为基础完成一
下视图定义
1.定义计算机系学生基本情况视图V_Computer;
步骤:新建查询-输入代码:
CREATE VIEW V_COMPUTER
AS