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