课堂实训
【实训目的】
1.理解视图的概念、作用、优点。
2.掌握在SSMS中创建视图的基本步骤。
3.掌握用T-SQL命令创建管理视图的语法格式
4.掌握应用视图进行数据查询和数据更新的方法
5.理解索引的概念、作用。
6.掌握在SSMS和T-SQL命令中创建和管理索引的方法。
【实训内容】
一、视图练习
(一)视图概述
1.什么叫视图?
2.视图的作用?
3.视图的优点有哪些?
(二)在SSMS环境中创建视图
1.创建机械工业出版社图书的视图,要注有图书编号、书名、价格。
步骤:
(1)启动SSMS,展开“library”数据库节点,在展开的节点中右键“视图”,在弹出的快捷菜单中选择“新建视图”命令。
(2)在弹出的“添加表”对话框中选择“添加表”,选择“书籍表”,单击“添加”按钮后,再单击“关闭”按钮,进入视图设计窗口。
(3)在关系图图形窗口中,选择图书编号、书名、价格列。
(4)单击“保存”按钮,在弹出的“选择名称”对话框中输入“机械工业出版社View”,再单击确定,这样所要求的视图就创建完毕。
2.创建一个借阅统计视图,名为CountView,包含读者的借书证号和总借阅本数。
步骤:
(1)启动SSMS,_______________________________________,在弹出的快捷菜单中选择“新建视图”命令。
(2)在弹出的“添加表”对话框中选择“添加表”,选择“_______”,单击“添加”按钮后,再单击“关闭”按钮,进入视图设计窗口。
(3)在关系图图形窗口中,选择借书证号。
(4)在条件窗格中点击右键,选择“添加分组依据”菜单,在“分组依据”中选择“count”,在“列”中选择“count(*)”,在别名中输入“总借阅本数”,如下图所示。
(5)单击“保存”按钮,在“选择名称”窗口中输入“CountView”,单击“确定”按钮即可。
3.创建一个借阅统计视图,名为CountView10,包含借阅总本数大于2的读者号和总借阅本数。
步骤:
(1)启动SSMS,_______________________________________,在弹出的快捷菜单中选择“新建视图”命令。
(2)在弹出的“添加表”对话框中选择“添加表”,选择“_______”,单击【添加】按钮后,再单击“关闭”按钮,进入视图设计窗口。
(3)在关系图图形窗口中,选择_____________________。
(4)在条件窗格中点击右键,选择“_______________”菜单,在“分组依据”中选择“____________”,在“列”中选择“______________”,在别名中输入“总借阅本数”,在“筛选器”中输入“>=2”。
(5)单击“保存”按钮,在“选择名称”窗口中输入“_________”,单击【确定】按扭即可。
(三)在SSMS环境中管理视图
1.修改建立的“机械工业出版社View”视图,要注有图书编号、书名、价格,作者。
步骤:
(1)启动SSMS,展开“library”→“视图”→“机械工业出版社View”,右击,在弹出的快捷菜单中选择“设计”,在弹出的“视图管理器”中进行修改。
(2)在关系图图形窗口中,除了选中“图书编号、书名、价格”列外,再选中“作者”列。
(3)单击“保存”按钮。
2.修改视图CountView10,要求包含借阅总本数大于2的读者号、姓名和总借阅本数。
步骤:
(1)启动SSMS,展开“library”→“视图”→“CountView10”,右击,在弹出的快捷菜单中选择“设计”,在弹出的“视图管理器”中进行修改。
(2)在关系图图形窗口中,选中_________________________列。
(3)单击“保存”按钮。
(四)在SSMS环境中使用视图
1.查询“机械工业出版社View”视图结果。
步骤:
启动SSMS,展开“library”→“视图”→“机械工业出版社View”,右击,在弹出的快捷菜单中选择“编辑前200行”(与查看基本表方式一样)。
2.查询“CountView”视图结果。
步骤:
______________________________________________________________________。
(五)在SSMS环境中删除视图(将前面所建立的视图全都删除)
1.删除library数据库中的视图:机械工业出版社View。
操作:
启动SSMS,展开“library”→“视图”→“机械工业出版社View”,右击,在弹出的快捷菜单中选择“删除”,在弹出的“删除对象”中单击【确定】按钮。
2.删除library数据库中的视图:CountView。
操作:
启动SSMS,展开“library”→“视图”→“CountView”,________________。
3.删除library数据库中的视图:CountView10。
操作:
启动SSMS,展开“library”→“视图”→“CountView10”,________________。
(六)用T-SQL命令创建视图
1.创建机械工业出版社图书的视图,要注有图书编号、书名、价格。
CREATE VIEW 机械工业出版社View
AS
SELECT 图书编号,书名,价格 FROM 书籍表 WHERE 出版社 = '机械工业出版社'
2.创建一个借阅统计视图,名为CountView,包含读者的借书证号和总借阅本数。
____________________ CountView。
AS
SELECT 借书证号,count(*) as 总借阅本数 FROM 借阅表
GROUP BY 借书证号
3.创建一个借阅统计视图,名为CountView10,包含借阅总本数大于2的读者号和总借阅本数。
______________ 借阅统计视图View
AS
SELECT借书证号,count(*) as 总借阅本数
FROM 借阅表
GROUP BY_____________ HAVING COUNT(*) >2
4.在图书管理数据库中创建一个名为“V_读者借书信息VIEW”视图,该视图中包含借书证号、姓名、图书名称、借书日期、工作单位等数据内容。
______________ V_读者借书信息VIEW
AS
SELECT 读者表.借书证号,姓名,书名,借书日期,单位
FROM 书藉表,借阅表,读者表 where 书藉表.图书编号=借阅表.图书编号 and 借阅表.借书证号=读者表.借书证号
5. 在图书管理数据库中创建一个反映图书借出量的视图V_NUM ,该视图中包含类别号、图书编号和借出量等数据内容。(提示:本视图是一个带表达式的视图,借出量是通过计算机得到的,借出量=复本数-库存数)。
______________ V_NUM
AS
SELECT _______________________________
(七)用T-SQL命令使用视图
1.查询机械工业出版社View视图记录信息。
Select * from ________________
2.查询V_读者借书信息VIEW视图记录信息。
Select ______________________________________
(八)用T-SQL命令管理视图
1.修改“机械工业出版社View”,要注有图书编号、书名、价格,作者。
操作:在新建查询上,完成填空
ALTER VIEW 机械工业出版社View
AS
SELECT 图书编号,书名,价格,_____ FROM 书籍表 WHERE 出版社 = '机械工业出版社'
2.修改“V_读者借书信息VIEW”,要借书证号、姓名、性别、书名、出版社、借书日期、工作单位等数据内容。
操作:在新建查询上,完成填空
______________ V_读者借书信息VIEW
AS
SELECT 读者表.借书证号,姓名,书名,__________________ from _______
where _______________________________
(九)用T-SQL命令删除视图
1.删除“V_读者借书信息VIEW”视图
Drop VIEW ____________________
2.删除“机械工业出版社View”视图
Drop ________________________________
二、索引
(一)索引概述
1.索引的作用?
2.简述建立索引的原则。
(二)在SSMS中建立索引
1. 在library数据库的借阅表上按借书证号和图书编号创建一个名为jszh_tsbh_index的唯一索引。
步骤
(1)启动SSMS,展开“library”→“表”→“借阅表”,右击鼠标,在弹出的快捷菜单中选择【设计】。
(2)在弹出的表设计器中,点击“借书证号”,在弹出的快捷菜单中选择“索引/键”。
(3)在“索引/键”窗口中,单击“添加”,将“标识”→“名称”改为题目中所要求的索引文件名:“jszh_tsbh_index”,再单击“常规”→“是唯一性”上选择“是”,然后单击“列”边上的 ,在弹出的“索引列”窗口中进行如下图所示的选择,然后单击“确定”按扭。
(4)然后再在“索引/键”窗口中单击“关闭”按钮。
(5) 单击“保存”按钮。
2.在library数据库的“读者表”上按借书证号建立聚集索引dz_jszh_index。
步骤
(1)启动SSMS,展开“library”→“表”→“____表”,右击鼠标,在弹出的快捷菜单中选择“设计”。
(2)在弹出的表设计器中,点击“_________”,在弹出的快捷菜单中选择“索引/键”。
(3)在“索引/键”窗口中,单击“添加”,将“标识”→“名称”改为题目中所要求的索引文件名:“_______________”,再单击“表设计器”→“创建为聚集的”上选择“是”,然后单击“列”边上的 ,在弹出的“索引列”窗口中进行___________________,然后单击“确定”按扭。
(4)然后再在“索引/键”窗口中单击“关闭”。
(5)单击“保存”按钮。
3.在library数据库的“管理员表”上按工号创建唯一聚集索引gry_gh_index。
步骤
(1)启动SSMS,展开“library”→“表”→“____表”,右击鼠标,在弹出的快捷菜单中选择“设计”。
(2)在弹出的表设计器中,点击“_________”,在弹出的快捷菜单中选择【索引/键】。
(3)在【索引/键】窗口中,单击【添加】,将“标识”→“名称”改为题目中所要求的索引文件名:“_______________”,单击“常规”→“是唯一性”上选择“是”,单击“表设计器”→“创建为聚集的”上选择“是”,然后在“列”边上的 ,在弹出的“索引列”窗口中进行___________________,然后单击【确定】按扭。
(4)然后再在“索引/键”窗口中单击【关闭】。
(5)单击【保存】按钮。
(三)在SSMS中管理索引
1.在library数据库的“借阅表”上的索引jszh_tsbh_index改为按借书证号升序和图书编号为降序。
步骤
(1)启动SSMS,展开“library”→“表”→“借阅表”,右击鼠标,在弹出的快捷菜单中选择“设计”。
(2)在弹出的表设计器中,点击“借书证号”,在弹出的快捷菜单中选择“索引/键”。
(3)在“索引/键”窗口中,选择“jszh_tsbh_index”,将 “常规”→“列”上改为:工作证号 ASC,图书编号 DESC,单击“关闭”按扭。
(4)单击“保存”按钮。
2.在library数据库的“读者表”上的dz_jszh_index改为非聚集索引。
(1)启动SSMS,展开“library”→“表”→“________”,右击鼠标,在弹出的快捷菜单中选择“设计”。
(2)在弹出的表设计器中,点击“________”,在弹出的快捷菜单中选择“索引/键”。
(3)在“索引/键”窗口中,选择“dz_jszh_index”,将 “常规”→“是唯一性”上 “是”改为:_________,单击“关闭”按扭。
(4)单击“保存”按钮。
(四)在SSMS中删除索引
1. 将library数据库的“借阅表”上的索引jszh_tsbh_index删除。
操作:
启动SSMS,展开“library”→“表”→“借阅表”→“索引”→“jszh_tsbh_index”,单击右键,在弹出的快捷菜单中选择“删除”,然后在弹出的“删除对象”中单击“确定”。
2.将library数据库的“读者表”上的dz_jszh_index删除。
操作:
启动SSMS,展开“library”→“表”→“______”→“索引”→“________”,单击右键,在弹出的快捷菜单中选择“______”,在弹出的“_______”中单击“确定”。
3.将library数据库的“管理员表”上索引gry_gh_index删除。
操作:
启动SSMS,________________________________________________________________。
(五)使用T-SQL语句创建索引
1. 在library数据库的借阅表上按借书证号和图书编号创建一个名为jszh_tsbh_index的唯一索引。
操作:在查询编辑上,输入以下命令,检查语法并执行即可。
CREATE __________ INDEX jszh_tsbh_index ON 借阅表(借书证号,图书编号)
2.在library数据库的读者表上按借书证号建立聚集索引dz_jszh_index。
操作:在查询编辑上,输入以下命令,检查语法并执行即可。
CREATE CLUSTERED INDEX dz_jszh_index ON 读者表(_______________)
3.在library数据库的管理员表上按工号创建唯一聚集索引gry_gh_index。
操作:在新建查询上,输入以下命令,检查语法并执行即可。
CREATE __________ CLUSTERED INDEX gzry_gh_index ON 管理员表(_____)
4.在library数据库的图书借阅表上以图书编号(升序), 借书证号(降序)二列上建立一个普通索引tsmx_pt_index.。
操作:在新建查询上,输入以下命令,检查语法并执行即可。
CREATE INDEX tsmx_pt_index ON __________________________
(六)使用T-SQL语句重命名索引
1. 在library数据库的“借阅表”上的索引jszh_tsbh_index改为:jszh_tsbh_index_1
操作:在查询编辑上,输入以下命令,检查语法并执行即可。
EXEC sp_rename '借阅表. jszh_tsbh_index',' jszh_tsbh_index_1'
2.在library数据库的“读者表”上索引dz_jszh_index改名为:dz_jszh_index_1。
EXEC sp_rename _____________________________________________
(七)使用T-SQL语句查看索引
1.使用sp_help、sp_helpindex查看“借阅表”上的索引信息。
操作:在新建查询上,输入以下命令,检查语法并执行即可。
EXEC sp_help __________
EXEC sp_helpindex _______________
2.使用sp_help、sp_helpindex查看“读者表”上的索引信息。
EXEC ___________________
EXEC _____________________
(八)使用T-SQL语句删除索引
1.使用DROP命令删除建立在“借阅表”上的索引:jszh_tsbh_index_1
操作:在新建查询上,输入以下命令,检查语法并执行即可。
DROP INDEX 借阅表. jszh_tsbh_index_1
2.使用DROP命令删除建立在“读者表”上的索引:dz_jszh_index_1
操作:在新建查询上,输入以下命令,检查语法并执行即可。
DROP INDEX ________________________
课外实训
一、视图操作练习
(一)在SSMS环境中创建视图(在bedroom数据库中进行)
1.在“学生表”上创建视图st1.view,要注有学号、姓名、性别、专业、班级。
2.在“住宿表”创建一个视图,名为zs1_View,包含宿舍编号及每个宿舍所住的人数。
3.在“住宿表”创建一个视图,名为zs2_View,包含住宿人数大于4的宿舍号和宿舍所住的人数。
(二)在SSMS环境中管理视图
1.修改建立的“st1.view”视图,要注有学号、姓名、性别、专业、班级、家庭地址。
2.修改建立的“zs2_View”视图,要包含住宿人数大于3的宿舍号和宿舍所住的人数。
(三)在SSMS环境中使用前面所建视图
1.查询“st1.view”视图结果。
2.查询“zs2_View”视图结果。
(四)在SSMS环境中删除视图(将前面所建立的视图全都删除)
1.删除视图st1.view
2.删除视图zs1_View
3.删除视图zs2_View
(五)用T-SQL命令创建视图
1.在“学生表”上创建视图st1.view,要注有学号、姓名、性别、专业、班级。
2.在“住宿表”创建一个视图,名为zs1_View,包含宿舍编号及每个宿舍所住的人数。
3.在“住宿表”创建一个视图,名为zs2_View,包含住宿人数大于4的宿舍号和宿舍所住的人数。
(六)用T-SQL命令使用视图
1.查询视图st1.view信息。
2.查询zs1_View视图信息。
(七)用T-SQL命令管理视图
1.修改建立的“st1.view”视图,要注有学号、姓名、性别、专业、班级、家庭地址。
2.修改建立的“zs2_View”视图,要包含住宿人数大于3的宿舍号和宿舍所住的人数。
(八)用T-SQL命令删除视图
1.删除视图st1.view。
2.删除视图zs1_View。
3.删除视图zs2_View。
二、索引操作练习
(一)在SSMS中建立索引
1.在bedroom数据库的“学生表”上按姓名的升序创建一个名为stu_name_index的唯一索引。
2.在bedroom数据库的“住宿表”上按宿舍编号建立非聚集索引zs_ssbh_index。
3.在bedroom数据库的“宿舍表”上按房号创建非聚集索引ss_fh_index。
(二)在SSMS中管理索引
1.在bedroom数据库的“学生表”上的索引stu_name_index改为按姓名的降序。
2.在bedroom数据库的“宿舍表”上的索引ss_fh_index改为先按楼号的升序,再按房号的升序。
(三)在SSMS中删除索引
1.将bedroom数据库的“学生表”上的索引stu_name_index删除。
2.将bedroom数据库的 “住宿表”上索引zs_ssbh_index删除。
3.将bedroom数据库的“宿舍表”索引ss_fh_index删除。
(四)使用T-SQL语句创建索引
1. 在bedroom数据库的“学生表”上按姓名的升序创建一个名为stu_name_index的唯一索引。
2.在bedroom数据库的“住宿表”上按宿舍编号建立非聚集索引zs_ssbh_index。
3.在bedroom数据库的“宿舍表”上按房号创建非聚集索引ss_fh_index。
(五)使用T-SQL语句重命名索引
1.将bedroom数据库的“学生表”上的索引stu_name_index重命名为:stu_name_index_1。
2.将bedroom数据库的“住宿表”上索引zs_ssbh_index重命名为:zs_ssbh_index_1。
3.将bedroom数据库的“宿舍表”索引ss_fh_index重命名为:ss_fh_index_1。
(六)使用T-SQL语句查看索引
1.使用sp_help、sp_helpindex查看“学生表”上的索引信息。
2.使用sp_help、sp_helpindex查看“住宿表”上的索引信息。
(七)使用T-SQL语句删除索引
1.将bedroom数据库的“学生表”上的索引stu_name_index_1删除。
2.将bedroom数据库的“住宿表”上索引zs_ssbh_index_1删除。
3.将bedroom数据库的“宿舍表”索引ss_fh_index_1删除。