项目五 索引和视图(课件)-《网站数据库应用技术-SQL Server》同步教学(电子工业版)

2024-07-11
| 16页
| 75人阅读
| 1人下载
普通

内容正文:

项目五 索引和视图 任务1 索引 任务2 视图 任务1 索引 任务引入 小林在创建大型数据库时发现信息比较混乱,要是能像书的目录一样通过搜索索引找到特定的值就好了。那么,怎么在数据库中创建索引?怎么查看和删除索引? 知识准备 可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列的值进行排序的结构。 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。 在数据库关系图中,可以为选定的表创建、编辑或删除索引/键属性页中的每个索引类型。当保存附加在此索引上的表或包含此表的数据库关系图时,索引同时被保存。 一、创建索引 SQL Server提供了两种方法来创建索引: 直接创建索引: 间接创建索引: 在创建索引时,需要指定索引的特征。这些特征包括下面几项: 聚集还是非聚集。 惟一还是不惟一。 单列还是多列。 索引中的列顺序为升序还是降序。 覆盖还是非覆盖。 1.使用SSMS创建索引 选择“管理索引”命令 “从dbo.student中选择列”对话框 2.使用SQL语言创建索引 只有表或视图的所有者才能为表创建索引。 设置参数 新建索引 案例——在score表中的course_ID列上创建一个非聚集索引。 二、查看和删除索引 查看和删除索引均有两种方法:使用图形化界面和SQL语言。 1.使用SSMS查看和删除索引 创建IDX_ID索引 “索引属性”对话框 2.使用SQL语言查看和删除索引 (1)显示索引 要查看索引信息,可使用存储过程sp_helpindex。 案例——显示student表上的索引信息。 (2)删除索引 删除索引使用DROP INDEX语句,其语法格式如下: DROP INDEX 'table.index | view. index' [,…n] 其中,“table”和“view”是索引列所在的表或索引视图;“index”是要除去的索引名称。索引名必须符合标识符的规则。“n”表示可以指定多个索引的占位符。 显示索引 任务2 视图 任务引入 小林想将数据库中的几个表导出为视图,然后通过视图检索数据和修改数据。那么,怎么在数据库中创建视图?怎么在视图中进行数据检索?怎么通过视图修改数据? 知识准备 视图是从一个或者多个表中使用SELECT语句导出的。那些用来导出视图的表称为基表。视图也可以从一个或者多个其他视图中产生。导出视图的SELECT语句存放在数据库中,而与视图定义相关的数据并没有在数据库中另外保存一份,因此,视图也称为虚表。视图的行为和表类似,可以通过视图查询表的数据,也可以修改表的数据。 对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。所以说,视图是一种SQL查询。在数据库中,存储的是视图的定义,而不是视图查询的数据。通过这个定义,对视图查询最终转换为对基表的查询。 一、创建视图 要使用视图,首先必须创建视图。视图在数据库中是作为一个独立的对象进行存储的。创建视图要考虑如下的原则: 只能在当前数据库中创建视图。 视图名称必须遵循标识符的规则,且对每个用户必须惟一。此外,该名称不得与该用户拥有的任何表的名称相同。 可以在其他视图和引用视图的过程之上建立视图。 定义视图的查询不可以包含ORDER BY、COMPUTE或COMPUTE BY子句以及INTO关键字。 不能在视图上定义全文索引。 不能创建临时视图,也不能在临时表上创建视图。 不能对视图执行全文查询,但是如果查询所引用的表被配置为支持全文索引,就可以在视图定义中包含全文查询。 1.使用SSMS创建视图 视图保存在数据库中而查询不是,因此创建新视图的过程与创建查询的过程不同。通过SSMS不但可以创建数据库和表,也可以创建视图。 快捷菜单 “添加表”对话框 添加表到视图 选择需要的字段 2.使用SQL语句创建视图 案例——创建student_specialty视图,其中包括了学生姓名、专业和学院 视图中可以使用的列最多可达1024列。另外,在创建视图时,视图的名称存储在sysobjects表中。有关视图中所定义的列的信息添加到syscolumns表中,而有关视图相关性的信息添加到sysdepends表中。另外,CREATE VIEW语句的文本添加到syscomments表中。 输入视图名称 创建student_grade视图 创建student_specialty视图 二、使用视图 通过视图可以检索基表中的数据,也可以通过视图来修改基表中的数据,例如插入、删除和修改记录。 1.使用视图进行数据检索 视图是基于基表生成的,因此可以用来将需要的数据集中在一起,而不需要的数据则不需要显示。 使用视图来检索数据,可以像对表一样来对视图进行操作。 案例——使用创建的student_grade视图来查询成绩大于90分的学生 案例——使用SSMS查看视图的数据 查询成绩大于90分的学生 通过视图检索数据 2.通过视图修改数据 通过视图修改其中的某些行时,SQL Server将把它转换为对基表的某些行的操作。对于简单的视图来说,可能比较容易实现,但是对于比较复杂的视图,可能就不能通过视图进行修改。 案例——新建视图specialty1并添加数据 案例——更新数据 案例——新建视图,删除学号为16053113的数据 插入数据后的specialty表 更新后的college表 通过视图删除数据 三、删除视图 在创建视图后,如果不再需要该视图,或想清除视图定义及与之相关联的权限,可以删除该视图。删除视图后,表和视图所基于的数据并不受影响。任何使用基于已删除视图的对象的查询将会失败,除非创建了同样名称的一个视图。 在删除视图时,定义在系统表sysobjects、syscolumns、syscomments、sysdepends和sysprotects中的视图信息也会被删除,而且视图的所有权限也一并被删除。 1.使用SSMS删除视图 (1)在对象资源管理器中,展开“数据库”文节点,展开该视图所属的数据库,然后单击“视图”节点。 (2)这里选择“school”数据库“视图”节点中的st2_degree,右击鼠标,在弹出的快捷菜单中选择“删除”选项,打开“删除对象”对话框,其中的“显示依赖关系”按钮用于查看删除此视图对数据库的影响。 (3)单击“确定”按钮即可删除视图;单击“取消”按钮取消删除操作。 2.使用SQL删除视图 使用DROP VIEW语句可从当前数据库中删除一个或多个视图。 项目总结 项目实战 实战一 为emp表的“员工号”和“工作名称”列创建聚集索引,并且强制惟一性 (1)因为这里要创建强制唯一性的索引,必须先删除emp中已经存在的索引。 (2)在对象资源管理器中选取“factory”数据库,单击工具栏中的“新建查询”按钮 创建IDX_no索引 实战二 创建View1视图,查询所有员工的姓名、员工号、所在部门以及工资 查询所有员工的所在部门以及工资 $$

资源预览图

项目五  索引和视图(课件)-《网站数据库应用技术-SQL Server》同步教学(电子工业版)
1
项目五  索引和视图(课件)-《网站数据库应用技术-SQL Server》同步教学(电子工业版)
2
项目五  索引和视图(课件)-《网站数据库应用技术-SQL Server》同步教学(电子工业版)
3
项目五  索引和视图(课件)-《网站数据库应用技术-SQL Server》同步教学(电子工业版)
4
项目五  索引和视图(课件)-《网站数据库应用技术-SQL Server》同步教学(电子工业版)
5
项目五  索引和视图(课件)-《网站数据库应用技术-SQL Server》同步教学(电子工业版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。