SQL-Server-2008数据库技术及应用任务六-学生选课管理数据库的视图、索引的创建与管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

主编庞英智郭伟业普通高等教育“十二五”国家级规划教材(第2版)任务六学生选课管理数据库的视图、索引的创建与管理【情境描述】在学生选课管理数据库中,许多查询经常用到“学号、姓名、系部名称、课程名、成绩”这几个字段,这些字段涉及到学生信息表、系部信息表和选课信息表,小张在做数据查询测试的时候发现查询响应速度太慢,而且多数的查询语句都要做3个表的连接,非常麻烦。作为一个有经验的数据开发员,小张创建了一个“学生成绩”视图,该视图定义了查询经常要使用的那些字段列,小张还为视图创建了一个索引,以加快查询响应的速度。高等教育出版社主编:庞英智郭伟业SQLServer数据库及应用SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业任务六学生选课管理数据库的视图、索引的创建与管理【任务分解】从上述的情境描述中可见,有时用户所需要的数据分散在多个表中,定义视图可以把它们集中在一起,方便用户的数据查询和处理。视图中的数据可以来源于多个表(或视图),相当于一个虚拟表。索引则可以加快数据的查询与处理速度,提供了快速访问数据的途径。本单元主要介绍视图和索引的概念、作用、创建、查看、修改及删除,需要完成学生选课数据库的视图和索引的创建与管理,对该任务进行分解,共包括2个子任务:学生选课管理数据库中视图的创建与管理学生选课管理数据库中索引的创建与管理SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业SQLServer数据库及应用SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业任务六学生选课管理数据库的视图、索引的创建与管理【知识目标】理解视图和索引的概念与作用了解索引的类型与特点掌握视图和索引的创建、查看、修改和删除方法【能力目标】能够创建和维护数据库的视图能够创建和维护数据库的索引SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业子任务6.1学生选课管理数据库中视图的创建与管理4.1.1使用对象资源管理器创建与管理表结构1.数据类型数据库设计完成后,就可以在数据库中创建用于存储数据的表。表存储于数据6.1.1使用对象资源管理器创建与管理视图1.视图的概念视图是另一种查看数据表中数据的方法,视图中的数据可以来源于一个或多个表(如图6-1中的视图是由两个表组成的),视图中的数据也可能是来自另外的视图。视图与表不同,视图是一个虚表,即视图所对应的数据不进行实际存储,这些数据仍存放在原来的基表中。当修改视图中的数据时,相应的基表的数据也会发生变化。同时,如果基表的数据发生变化,从视图中查询出的数据也随之改变。库文件中,任何拥有所需权限的用户都可以对其进行操作,除非已将所要操作的表删除。每个表最多能够定义1024列,表名及列名应遵守标识符的规定,在一个表中列名必须是唯一的,但同一数据库的不同表中可使用相同的列名。SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业待删除的文件夹必须为空子任务6.1学生选课管理数据库中视图的创建与管理图6-1视图中的数据SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业2.视图的优点使用视图有很多优点,主要表现在以下几个方面:(1)为用户集中数据,简化用户的数据查询和处理。有时用户所需要的数据分散在多个表中,定义视图可将它们集中在一起,从而方便用户的数据查询和处理。(2)简化用户权限的管理,同时也便于数据共享。只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,也增加了安全性。另外,各用户不必都定义和存储自己所需的数据,可共享数据库的数据,相同的数据只需存储一次。子任务6.1学生选课管理数据库中视图的创建与管理SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业3.视图的分类(1)标准视图标准视图组合了一个或多个表中的数据,大多数视图的应用都是在此基础上进行的。(2)索引视图索引视图是被具体化了的视图,即它已经过计算并存储。可以为视图创建索引,即对视图创建一个唯一的聚集索引。索引视图可以显著提高某些类型查询的性能。索引视图尤其适于聚合许多行的查询,但它们不太适于经常更新的基本数据集。(3)分区视图分区视图在一台或多台服务器间水平连接一组成员表中的分区数据,使对数据的处理如同对一个表进行操作。分区视图分为本地分区视图和分布式分区视图。联接同一个SQLServer实例中的成员表的视图是一个本地分区视图。如果视图在服务器间联接表中的数据,则它是分布式分区视图。子任务6.1学生选课管理数据库中视图的创建与管理SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业子任务6.1学生选课管理数据库中视图的创建与管理4.创建视图【例6-1】创建视图Select_Course_View1,要求能够显示学生学号、姓名、课程编号和成绩。【说明】视图Select_Course_View1完成的功能需要从两个表中提取数据,分别为学生信息表(如图6-2所示)和选课信息表(如图6-3所示)。图6-2学生信息表中数据SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业子任务6.1学生选课管理数据库中视图的创建与管理图6-3选课信息表中数据SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业子任务6.1学生选课管理数据库中视图的创建与管理第一步:启动“SQLServerManagementStudio”,逐层展开到“学生选课管理”数据库中的“视图”位置,单击鼠标右键,在弹出菜单项中选择“新建视图”,如图6-4所示。图6-4选择学生选课管理数据库中的“视图”SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业子任务6.1学生选课管理数据库中视图的创建与管理第二步:选择要提取数据的表“选课信息表”及“学生信息表”,单击“加”按钮,如图6-5所示。图6-5添加表SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业子任务6.1学生选课管理数据库中视图的创建与管理第三步:表添加完成后,选择两个表中要提取的列,分别为“学生信息表”中的“学号”、“姓名”及“选课信息表”中的“学号”、“课程编号”、“成绩”,为了使查询的结果符合实际应用人员的应用要求,可设置列的别名,例如将“学号”列的别名设置为“学生学号”,将“姓名”列的别名设置为“学生姓名”,如图6-6所示。图6-6选择列并设置列名SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业第四步:设置内部联接。因为“学生信息表”及“选课信息表”中均有一列“学号”,所以该字段可做为连接条件,即“学生信息表.学号=选课信息表.学号”,如图6-7所示。子任务6.1学生选课管理数据库中视图的创建与管理图6-7设置内部联接SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业第五步:单击工具栏中的“查询设计器”à“执行SQL(X)”或按组合键CTRL+R执行查询,结果如图6-8所示。子任务6.1学生选课管理数据库中视图的创建与管理图6-8查询结果SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业第六步:单击工具栏中的“”按钮,输入视图名称,如图6-9所示。子任务6.1学生选课管理数据库中视图的创建与管理图6-9保存视图SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业5.查看视图【例6-2】使用对象资源管理器查看“例6-1”所建视图Select_Course_View1的属性。启动“SQLServerManagementStudio”,逐层展开到数据库“学生选课管理”中的“视图”位置,单击“视图”前面的“+”,使其展开,在dbo.Select_Course_View1位置单击鼠标右键,在弹出的快捷菜单中选择“属性”,打开“视图属性”对话框,如图6-10所示。子任务6.1学生选课管理数据库中视图的创建与管理SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业子任务6.1学生选课管理数据库中视图的创建与管理图6-10“视图属性”对话框SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业【例6-3】修改“例6-1”所创建的视图Select_Course_View1,要求显示学生的学号、姓名、性别,并按学号升序排列。第一步:启动“SQLServerManagementStudio”,逐层展开到数据库“学生选课管理”中的“视图”位置,单击“视图”前面的“+”,使其展开,在dbo.Select_Course_View1位置单击鼠标右键,在弹出的快捷菜单中选择“设计”,打开修改视图对话框,在“选课信息表”处单击鼠标右键,在弹出的快捷菜单中选择“删除”,如图6-11所示。子任务6.1学生选课管理数据库中视图的创建与管理图6-11选择“删除”SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业第二步:选中“学生成绩表”中的“性别”列的复选框,在“网格”窗格中的“学号”列后“排序类型”中选择“升序”,单击工具栏中的“”按钮,执行视图查询,如图6-12所示。子任务6.1学生选课管理数据库中视图的创建与管理图6-12修改视图对话框SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业第三步:单击工具栏中的“”按钮,保存修改后的视图。子任务6.1学生选课管理数据库中视图的创建与管理SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业7.视图重新命名在对视图进行重新命名时,应遵循以下原则:要重新命名的视图必须在当前数据库中视图的新名称应遵守标识符规则只可以重命名具有其更改权限的视图数据库所有者可以修改任何用户的视图名【例6-4】使用对象资源管理器将视图Select_Course_View1重新命名为S_C_View1。子任务6.1学生选课管理数据库中视图的创建与管理SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业第一步:在“对象资源管理器”中选择视图dbo.Select_Course_View1,单击鼠标右键,在弹出的快捷菜单中选择“重命名(M)”,如图6-13所示。子任务6.1学生选课管理数据库中视图的创建与管理图6-13视图的重命名SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业第二步:将视图Select_Course_View1的名称直接修改为S_C_View1,如图6-14所示。子任务6.1学生选课管理数据库中视图的创建与管理图6-14视图重命名为S_C_View1SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业8.删除视图在对象资源管理器中,选择要删除的视图,单击鼠标右键,在弹出的快捷菜单中选择“删除”,出现“删除对象”对话框,在该对话框中单击“确定”按钮,即完成视图的删除。。子任务6.1学生选课管理数据库中视图的创建与管理图4-4选择“设计”SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业9.操作视图中的数据(1)查询视图Select_Course_View1中的数据【例6-5】使用对象资源管理器,查询视图Select_Course_View1中的数据在对象资源管理器中,选择要查询的视图,单击鼠标右键,从弹出的快捷菜单中选择“选择前1000行”,即可查询视图中的数据,如图6-15所示。子任务6.1学生选课管理数据库中视图的创建与管理SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业第三步:“学号”列左侧图标显示为“”,单击“”按钮,保存对表的修改,如图4-6所示。子任务6.1学生选课管理数据库中视图的创建与管理图6-15查询视图中的数据SQLServer数据库及应用高等教育出版社主编:庞英智郭伟业(2)通过视图修改数据可以使用视图修改基表中的数据,如增加数据、修改数据和删除数据,与对基表的操作方法基本相同。因为视图本身不实际存储数据,它只是显示一个或多个基表的查询结果,修改视图中的数据的实质是在修改视图引用的基表中的数据。只要满足下列条件,即可通过视图修改基础基表的数据:任何修改(包括UPDATE、INSERT和DELETE语句)都只能引用一个基表的列。

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功