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