数据库实验5视图的使用Word文档格式.docx
《数据库实验5视图的使用Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实验5视图的使用Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
![数据库实验5视图的使用Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/16/c29f8ee3-a217-4d44-9ac4-301020f41535/c29f8ee3-a217-4d44-9ac4-301020f415351.gif)
4.实验内容与步骤
本实验通过使用Transact-SQL语句和“企业管理器”两种方法进行视图操作。
4.1基于单张表投影的视图
编写Transact-SQL语句,建立一个基于“课程信息表”,按照投影操作定义的视图——“课程信息简表”,使之仅包括课程名称和课程ID,具体操作步骤如下:
第一步:
打开“SQL查询分析器”,在界面上方选中“教学管理”数据库,在查询窗口编写如下语句:
createview课程信息简表as
select课程ID,课程名称
from课程信息表
第二步:
单击“SQL查询分析器”界面上部的绿色三角形“执行”按钮,得到如下的系统窗口,如图:
4.2基于单张表选择的视图
编写Transact-SQL语句,建立一个基于“课程信息表”,按照选择操作定义的视图——“管理学课程信息表”,使之仅显示“管理学”这门课程在课程信息表里的所有信息,具体操作步骤如下:
createview管理学课程信息表as
select*
where课程名称='
管理学'
4.3基于单张表选择和投影混合的视图
编写Transact-SQL语句,建立一个基于“课程信息表”,按照选择和投影操作定义的视图——“管理学课程信息简表”,使之包括课程名称、课程ID、课程类别和学分字段,具体操作步骤如下:
createview管理学课程信息简表as
select课程ID,课程名称,课程类别,学分
4.4基于多张表连接的视图
编写Transact-SQL语句,建立一个基于“学生档案表”和“学生成绩表”,按照连接查询操作定义的视图——“学生课程成绩表”,使之包括学生的学号、姓名、性别、专业、班级、课程ID和总成绩字段,具体操作步骤如下:
createview学生课程成绩表as
select学生档案表.学号,姓名,性别,专业,班级,学生成绩表.课程ID,总成绩
from学生档案表,学生成绩表
where学生档案表.学号=学生成绩表.学号
4.5基于多张表嵌套查询的视图
编写Transact-SQL语句,建立一个基于“学生档案表”和“学生成绩表”,按照嵌套查询操作定义的视图——“学生成绩优秀表”,使之包括学生的学号、姓名、性别、专业、班级、课程ID和总成绩字段,具体操作步骤如下:
createview学生成绩优秀表as
where学生档案表.学号in(
select学号
from学生成绩表
where总成绩>
=85)
4.6含有虚字段的视图
编写Transact-SQL语句,建立一个基于“学生成绩表”,含有虚字段“平均期末成绩”的视图——“学生期末平均成绩表”,具体操作步骤如下:
createview学生期末平均成绩表as
select学生成绩表.学号,avg(期末成绩)平均期末成绩
groupby学生成绩表.学号
4.7视图的查询
对于已经创建的视图,我们可以通过编写Transact-SQL语句,实现对其数据的查询。
要求对基于“学生成绩表”定义的一个含有虚字段的视图“学生期末平均成绩表”进行查询,具体操作步骤如下:
select*from学生期末平均成绩表
4.8视图的插入
要求向“课程信息简表”视图插入“课程ID”为“JB0005”的“高等数学B”,具体操作步骤如下:
insertinto课程信息简表values('
JB0005'
'
高等数学B'
)
4.9视图的更新
要求将“课程信息简表”视图中的“课程ID”为“RX0002”的“广告学”改为“逻辑学”,具体操作步骤如下:
update课程信息简表
set课程名称='
逻辑学'
where课程ID='
RX0002'
4.10视图的删除
要求删除“管理学课程信息简表”,具体操作步骤如下:
dropview管理学课程信息简表
4.11使用“企业管理器”创建视图
在“企业管理器”中,单击右端“+”号逐层展开,直到在屏幕上看到数据库下的各个数据库,打开“教学管理”数据库,看到该数据库下的子项。
在“视图”子项上,单击右键,此时将弹出的一个快捷菜单,选择“新视图”,得到下面的“新视图”,得到下面的“新视图”窗口
第三步:
在“新视图”窗口上部的空白处,单击右键,选择下拉菜单中的“添加表”得到下面的对话框
第四步:
在“添加表”对话框中,按住“Ctrl”键,选择“教师档案表”和“教学任务表”,单击“添加”按钮,然后单击“关闭”按钮,得到下面的窗口
第五步:
在“新视图”窗口已经添加的表中,单击“教师档案表”中的教师ID,姓名,性别和“教学任务表”中的课程ID,学期和年度前的空白方框,则其自动打钩,并且在下面的列和语句中自动显示已经选中的内容,输出列也自动打钩
4.12使用“企业管理器”对视图进行插入、更新、删除
①使用“企业管理器”对视图进行插入操作
在要插入记录的视图上单击右键,选择“返回所有行”,然后在视图的最后一行,逐一添加要插入的记录,添加完毕后,单击“运行”即可。
②使用“企业管理器”对视图进行更新操作
在要插入记录的视图上找到待更新记录的属性列,更新即可,更新完毕后,单击“运行”,使得记录可及时更新。
③使用“企业管理器”对视图进行删除操作
在要删除记录的视图上找到待删除的记录,将给记录的各个属性一一删除即可,删除完毕后,单击“运行”,使得记录可及时更新。
4.13扩展实验
使用Transact-SQL语句或者“企业管理器”方法进行下面视图操作。
1).建立基于“学生选课表”的投影视图“XSXK”,使之仅包含“学号”和“课程ID”字段。
createviewXSXKas
select学号,课程ID
from学生选课表
2).建立基于“学生选课表”的选择视图“SHK”,使之仅包含“课程ID”为“JB0001”的相关信息。
createviewSHKas
where课程ID='
JB0001'
3).建立基于“学生选课表”的选择和投影视图“KSH”,使之仅包含“课程ID”为“JB0002”的学生的学号和课程ID。
createviewKSHas
JB0002'
4).建立基于“教师档案表”、“教学任务表”、“课程信息表”连接和嵌套查询的“JXRW”视图,使之包含字段“教师ID”、“教师姓名”、“课程ID”、“课程名称”,其中,教师档案表中的“教师ID”与教学任务表中的“任课教师ID”是一一对应的。
createviewJXRWas
select教师档案表.教师ID,姓名,教学任务表.课程ID,课程信息表.课程名称
from教师档案表,教学任务表,课程信息表
where教师档案表.教师ID=教学任务表.任课教师ID
5).建立基于“学生成绩表”的视图“XSCJ”,使之保含虚字段“最高分”与“最低分”,然后,对该视图进行查询并修改视图中的数据。
createviewXSCJas
select学生成绩表.学号,min(期末成绩)期末最低分,max(期末成绩)期末最高分
select*fromXSCJ
6).为建立的“XSXK”,①添加这样一条记录,学号为“02006006”,课程ID为“ZB0001”。
②将该视图中学号为“01006007”的学生的课程ID更新为“JB0003”。
删除该视图中学号为“01006008”的记录。
①第一步:
insertintoXSXKvalues('
02006006'
ZB0001'
②第一步:
updateXSXK
set课程ID='
JB0003'
where学号='
01006007'
③第一步:
delete
fromXSXK
where学号='
01006008'
5.思考与总结