版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目五
索引和视图任务1索引任务2视图任务1索引任务引入小林在创建大型数据库时发现信息比较混乱,要是能像书的目录一样通过搜索索引找到特定的值就好了。那么,怎么在数据库中创建索引?怎么查看和删除索引?知识准备可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列的值进行排序的结构。索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。在数据库关系图中,可以为选定的表创建、编辑或删除索引/键属性页中的每个索引类型。当保存附加在此索引上的表或包含此表的数据库关系图时,索引同时被保存。一、创建索引SQLServer提供了两种方法来创建索引:直接创建索引:
间接创建索引:在创建索引时,需要指定索引的特征。这些特征包括下面几项:聚集还是非聚集。惟一还是不惟一。单列还是多列。索引中的列顺序为升序还是降序。覆盖还是非覆盖。1.使用SSMS创建索引选择“管理索引”命令“从dbo.student中选择列”对话框2.使用SQL语言创建索引只有表或视图的所有者才能为表创建索引。
设置参数
新建索引案例——在score表中的course_ID列上创建一个非聚集索引。二、查看和删除索引查看和删除索引均有两种方法:使用图形化界面和SQL语言。1.使用SSMS查看和删除索引创建IDX_ID索引“索引属性”对话框2.使用SQL语言查看和删除索引(1)显示索引要查看索引信息,可使用存储过程sp_helpindex。案例——显示student表上的索引信息。(2)删除索引删除索引使用DROPINDEX语句,其语法格式如下:DROPINDEX'table.index|view.index'[,…n]其中,“table”和“view”是索引列所在的表或索引视图;“index”是要除去的索引名称。索引名必须符合标识符的规则。“n”表示可以指定多个索引的占位符。显示索引任务2视图任务引入小林想将数据库中的几个表导出为视图,然后通过视图检索数据和修改数据。那么,怎么在数据库中创建视图?怎么在视图中进行数据检索?怎么通过视图修改数据?知识准备视图是从一个或者多个表中使用SELECT语句导出的。那些用来导出视图的表称为基表。视图也可以从一个或者多个其他视图中产生。导出视图的SELECT语句存放在数据库中,而与视图定义相关的数据并没有在数据库中另外保存一份,因此,视图也称为虚表。视图的行为和表类似,可以通过视图查询表的数据,也可以修改表的数据。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。所以说,视图是一种SQL查询。在数据库中,存储的是视图的定义,而不是视图查询的数据。通过这个定义,对视图查询最终转换为对基表的查询。一、创建视图要使用视图,首先必须创建视图。视图在数据库中是作为一个独立的对象进行存储的。创建视图要考虑如下的原则:
只能在当前数据库中创建视图。视图名称必须遵循标识符的规则,且对每个用户必须惟一。此外,该名称不得与该用户拥有的任何表的名称相同。可以在其他视图和引用视图的过程之上建立视图。定义视图的查询不可以包含ORDERBY、COMPUTE或COMPUTEBY子句以及INTO关键字。不能在视图上定义全文索引。不能创建临时视图,也不能在临时表上创建视图。不能对视图执行全文查询,但是如果查询所引用的表被配置为支持全文索引,就可以在视图定义中包含全文查询。1.使用SSMS创建视图视图保存在数据库中而查询不是,因此创建新视图的过程与创建查询的过程不同。通过SSMS不但可以创建数据库和表,也可以创建视图。快捷菜单
“添加表”对话框添加表到视图选择需要的字段2.使用SQL语句创建视图案例——创建student_specialty视图,其中包括了学生姓名、专业和学院视图中可以使用的列最多可达1024列。另外,在创建视图时,视图的名称存储在sysobjects表中。有关视图中所定义的列的信息添加到syscolumns表中,而有关视图相关性的信息添加到sysdepends表中。另外,CREATEVIEW语句的文本添加到syscomments表中。输入视图名称
创建student_grade视图
创建student_specialty视图二、使用视图通过视图可以检索基表中的数据,也可以通过视图来修改基表中的数据,例如插入、删除和修改记录。1.使用视图进行数据检索视图是基于基表生成的,因此可以用来将需要的数据集中在一起,而不需要的数据则不需要显示。使用视图来检索数据,可以像对表一样来对视图进行操作。案例——使用创建的student_grade视图来查询成绩大于90分的学生案例——使用SSMS查看视图的数据查询成绩大于90分的学生通过视图检索数据2.通过视图修改数据通过视图修改其中的某些行时,SQLServer将把它转换为对基表的某些行的操作。对于简单的视图来说,可能比较容易实现,但是对于比较复杂的视图,可能就不能通过视图进行修改。案例——新建视图specialty1并添加数据案例——更新数据案例——新建视图,删除学号为16053113的数据插入数据后的specialty表
更新后的college表
通过视图删除数据三、删除视图在创建视图后,如果不再需要该视图,或想清除视图定义及与之相关联的权限,可以删除该视图。删除视图后,表和视图所基于的数据并不受影响。任何使用基于已删除视图的对象的查询将会失败,除非创建了同样名称的一个视图。在删除视图时,定义在系统表sysobjects、syscolumns、syscomments、sysdepends和sysprotects中的视图信息也会被删除,而且视图的所有权限也一并被删除。1.使用SSMS删除视图(1)在对象资源管理器中,展开“数据库”文节点,展开该视图所属的数据库,然后单击“视图”节点。(2)这里选择“school”数据库“视图”节点中的st2_degree,右击鼠标,在弹出的快捷菜单中选择“删除”选项,打开“删除对象”对话框,其中的“显示依赖关系”按钮用于查看删除此视图对数据库的影响。(3)单击“确定”按钮即可删除视图;单击“取消”按钮取消删除操作。2.使用SQL删除视图使用DROPVIEW语句可从当前数据库中删除一个或多个视图。项目总结项目实战实战一为emp表的“员工号”和“工作名称”列创建聚集索引,并且
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《新生儿联合免疫后乙肝携带产妇母乳喂养的安全性分析》
- 饭店垃圾合同范本
- 柳州市三江县高级中学赴师范类毕业生就业笔试真题2023
- 2024年度风力发电项目投资协议
- 广告运作代理合同范本
- 2024年度石油化工与开采合同
- 租用农田合同范本
- 2024年度电商品牌推广与营销服务合同
- 大闸蟹销售合同范本
- 2024年企业综合电子采购合同
- 初中语文人教七年级下册冉玥《驿路梨花》微课教案设计
- 助产相关法律法规
- 广东省2023年1月普通高中学业水平合格性考试数学试题
- 人教版版中国历史八年级上册知识点归纳梳理
- 职业健康整改计划
- 贵州省2023年12月普通高中学业水平考试试卷
- 国家职业技术技能标准 3-02-03-01 消防员(2022年版)
- 拔河(作文指导)课件
- 国家开放大学电大《计算机应用基础(本)》终结性考试试题答案(格式已排好)任务一
- 店长交接表模板(最新)
- 牙列缺损的固定义齿修复课件
评论
0/150
提交评论