资源描述
个人收集整理 勿做商业用途
实验5:视图的使用
1.实验目的
通过视图的创建过程,理解视图的概念和意义,掌握视图的基本使用方法.
2。实验要求
通过视图的设计和定义,掌握建立视图的基本方法,包括通过单张表建立视图和通过多张表建立视图;通过在定义的视图上进行查询、插入、更新和删除操作,理解视图的概念,掌握简单的视图查询方法。
3。实验环境与实验器材:计算机,网络环境,投影设备.
实验相关软件:Window xp、SQL Server 2000.
4。 实验内容与步骤
本实验通过使用Transact—SQL语句和 “企业管理器”两种方法进行视图操作。
4.1 基于单张表投影的视图
编写Transact—SQL语句,建立一个基于“课程信息表”,按照投影操作定义的视图——“课程信息简表”,使之仅包括课程名称和课程ID,具体操作步骤如下:
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view 课程信息简表 as
select 课程ID,课程名称
from 课程信息表
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
4。2 基于单张表选择的视图
编写Transact—SQL语句,建立一个基于“课程信息表”,按照选择操作定义的视图—-“管理学课程信息表”,使之仅显示“管理学”这门课程在课程信息表里的所有信息,具体操作步骤如下:
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view 管理学课程信息表 as
select *
from 课程信息表
where 课程名称=’管理学'
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
4。3 基于单张表选择和投影混合的视图
编写Transact-SQL语句,建立一个基于“课程信息表",按照选择和投影操作定义的视图——“管理学课程信息简表”,使之包括课程名称、课程ID、课程类别和学分字段,具体操作步骤如下:
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view 管理学课程信息简表 as
select 课程ID,课程名称,课程类别,学分
from 课程信息表
where 课程名称=’管理学'
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
4.4 基于多张表连接的视图
编写Transact—SQL语句,建立一个基于“学生档案表"和“学生成绩表",按照连接查询操作定义的视图-—“学生课程成绩表”,使之包括学生的学号、姓名、性别、专业、班级、课程ID和总成绩字段,具体操作步骤如下:
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view 学生课程成绩表 as
select 学生档案表。学号,姓名,性别,专业,班级,学生成绩表.课程ID,总成绩
from 学生档案表,学生成绩表
where 学生档案表.学号=学生成绩表.学号
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
4.5 基于多张表嵌套查询的视图
编写Transact—SQL语句,建立一个基于“学生档案表”和“学生成绩表”,按照嵌套查询操作定义的视图——“学生成绩优秀表”,使之包括学生的学号、姓名、性别、专业、班级、课程ID和总成绩字段,具体操作步骤如下:
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view 学生成绩优秀表 as
select 学生档案表。学号,姓名,性别,专业,班级,学生成绩表。课程ID,总成绩
from 学生档案表,学生成绩表
where 学生档案表.学号 in(
select 学号
from 学生成绩表
where 总成绩>=85)
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
4.6 含有虚字段的视图
编写Transact—SQL语句,建立一个基于 “学生成绩表”,含有虚字段“平均期末成绩”的视图——“学生期末平均成绩表”,具体操作步骤如下:
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view 学生期末平均成绩表 as
select 学生成绩表.学号, avg(期末成绩)平均期末成绩
from 学生成绩表
group by 学生成绩表.学号
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
4.7 视图的查询
对于已经创建的视图,我们可以通过编写Transact—SQL语句,实现对其数据的查询。要求对基于“学生成绩表”定义的一个含有虚字段的视图“学生期末平均成绩表”进行查询,具体操作步骤如下:
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select * from 学生期末平均成绩表
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
4。8 视图的插入
要求向“课程信息简表”视图插入“课程ID”为“JB0005”的“高等数学B”,具体操作步骤如下:
第一步:打开“SQL查询分析器",在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
insert into 课程信息简表 values(’JB0005','高等数学B’)
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
4.9 视图的更新
要求将“课程信息简表"视图中的“课程ID”为“RX0002”的“广告学”改为“逻辑学”,具体操作步骤如下:
第一步:打开“SQL查询分析器",在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
update 课程信息简表
set 课程名称='逻辑学'
where 课程ID='RX0002’
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
4.10 视图的删除
要求删除“管理学课程信息简表”,具体操作步骤如下:
第一步:打开“SQL查询分析器",在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
drop view 管理学课程信息简表
第二步:单击“SQL查询分析器"界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
4。11 使用“企业管理器”创建视图
第一步:在“企业管理器”中,单击右端“+”号逐层展开,直到在屏幕上看到数据库下的各个数据库,打开“教学管理"数据库,看到该数据库下的子项.
第二步:在“视图”子项上,单击右键,此时将弹出的一个快捷菜单,选择“新视图”,得到下面的“新视图”,得到下面的“新视图”窗口
第三步:在“新视图”窗口上部的空白处,单击右键,选择下拉菜单中的“添加表”得到下面的对话框
第四步:在“添加表”对话框中,按住“Ctrl”键,选择“教师档案表”和“教学任务表”,单击“添加"按钮,然后单击“关闭”按钮,得到下面的窗口
第五步:在“新视图”窗口已经添加的表中,单击“教师档案表"中的教师ID,姓名,性别和“教学任务表”中的课程ID,学期和年度前的空白方框,则其自动打钩,并且在下面的列和语句中自动显示已经选中的内容,输出列也自动打钩
4.12 使用“企业管理器"对视图进行插入、更新、删除
①使用“企业管理器”对视图进行插入操作
在“企业管理器"中,单击右端“+”号逐层展开,直到在屏幕上看到数据库下的各个数据库,打开“教学管理”数据库,看到该数据库下的子项。在要插入记录的视图上单击右键,选择“返回所有行”,然后在视图的最后一行,逐一添加要插入的记录,添加完毕后,单击“运行"即可。
②使用“企业管理器”对视图进行更新操作
在“企业管理器"中,单击右端“+”号逐层展开,直到在屏幕上看到数据库下的各个数据库,打开“教学管理”数据库,看到该数据库下的子项.在要插入记录的视图上找到待更新记录的属性列,更新即可,更新完毕后,单击“运行”,使得记录可及时更新。
③使用“企业管理器”对视图进行删除操作
在“企业管理器"中,单击右端“+”号逐层展开,直到在屏幕上看到数据库下的各个数据库,打开“教学管理”数据库,看到该数据库下的子项。在要删除记录的视图上找到待删除的记录,将给记录的各个属性一一删除即可,删除完毕后,单击“运行",使得记录可及时更新。
4.13 扩展实验
使用Transact-SQL语句或者 “企业管理器"方法进行下面视图操作。
1).建立基于“学生选课表”的投影视图“XSXK”,使之仅包含“学号”和“课程ID"字段.
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view XSXK as
select 学号,课程ID
from 学生选课表
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
2). 建立基于“学生选课表”的选择视图“SHK",使之仅包含“课程ID”为“JB0001”的相关信息.
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view SHK as
select 学号,课程ID
from 学生选课表
where 课程ID = 'JB0001’
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
3). 建立基于“学生选课表”的选择和投影视图“KSH",使之仅包含“课程ID”为“JB0002”的学生的学号和课程ID.
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view KSH as
select 学号,课程ID
from 学生选课表
where 课程ID = ’JB0002'
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
4)。 建立基于“教师档案表”、“教学任务表”、“课程信息表”连接和嵌套查询的“JXRW”视图,使之包含字段“教师ID"、“教师姓名"、“课程ID”、“课程名称”,其中,教师档案表中的“教师ID”与教学任务表中的“任课教师ID"是一一对应的。
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
create view JXRW as
select 教师档案表。教师ID,姓名,教学任务表.课程ID,课程信息表.课程名称
from 教师档案表,教学任务表,课程信息表
where 教师档案表。教师ID = 教学任务表.任课教师ID
第二步:单击“SQL查询分析器"界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
5).建立基于“学生成绩表”的视图“XSCJ”,使之保含虚字段“最高分”与“最低分”,然后,对该视图进行查询并修改视图中的数据.
第一步:打开“SQL查询分析器”,在界面上方选中“教学管理"数据库,在查询窗口编写如下语句:
create view XSCJ as
select 学生成绩表。学号,min(期末成绩)期末最低分,max(期末成绩)期末最高分
from 学生成绩表
group by 学生成绩表.学号
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
第三步:打开“SQL查询分析器",在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
select * from XSCJ
第四步:单击“SQL查询分析器"界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
6). 为建立的“XSXK”, ①添加这样一条记录,学号为“02006006”,课程ID为“ZB0001"。 ②将该视图中学号为“01006007”的学生的课程ID更新为“JB0003” 。删除该视图中学号为“01006008”的记录。
①第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
insert into XSXK values ('02006006','ZB0001’)
第二步:单击“SQL查询分析器"界面上部的绿色三角形“执行"按钮,得到如下的系统窗口,如图:
②第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
update XSXK
set 课程ID ='JB0003'
where 学号 =’01006007'
第二步:单击“SQL查询分析器"界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
③第一步:打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
delete
from XSXK
where 学号='01006008’
第二步:单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
5.思考与总结
展开阅读全文