数据库-[电子教案PPT]第6章.ppt_第1页
数据库-[电子教案PPT]第6章.ppt_第2页
数据库-[电子教案PPT]第6章.ppt_第3页
数据库-[电子教案PPT]第6章.ppt_第4页
数据库-[电子教案PPT]第6章.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章,视图和索引,本章目标,掌握如何创建并使用视图 掌握如何创建索引,教师需要的视图: 方便查看学生的成绩,班主任需要的视图: 方便查看学生的档案,什么是视图?,CREATE VIEW v_tblstudent AS SELECT 学号=s.stu_id 姓名=stud_name,基于学生基本情况表表和成绩表创建视图,视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上 视图中并不存放数据,而是存放在视图所引用的原始表(基表)中 同一张原始表,根据不同用户的不同需求,可以创建不同的视图,什么是视图?,视图的用途 筛选表中的行 防止未经许可的用户访问敏感数据 降低数据库的复杂程度 将多个物理数据库抽象为一个逻辑数据库,什么是视图?,演示使用T-SQL管理平台创建视图,如何创建视图?,显示关系图窗格,显示条件窗格,显示SQL窗格,显示结果窗格,使用T-SQL语句创建视图的语法,CREATE VIEW 视图名 AS ,如何创建视图?,IF EXISTS (SELECT * FROM sysobjects WHERE name = view_stu_score) DROP VIEW view_stu_score GO CREATE VIEW view_stu_score AS SELECT 学号=stud_id,姓名=(select stud_name from tblstudent s where sc.stud_id=sc.stud_id), 最高分 =max(score), 平均分=avg(score), 最低分=min(score) FROM tblscore sc GROUP BY sc.stud_id GO SELECT * FROM view_stu_score,创建一个查看成绩的视图,检测视图是否存在,创建视图,使用视图,删除视图,如何创建视图?,视图查看结果,示例6.1,示例6.1答案,行列子集视图,示例6.2,示例6.2答案,行列子集视图,示例6.3,示例6.3答案,带WITH CHECK OPTION的视图,示例6.4,示例6.4答案,带With encryption的视图,示例6.5,示例6.5答案,基于多个基本表的视图,示例6.6,示例6.6答案,基于视图的视图,示例6.7,示例6.7答案,带表达式的视图,示例6.8,示例6.8答案,分组视图,删除视图的T-SQL语法结构,示例6.9,删除视图,示例6.9答案,示例6.10,示例6.10答案,通过视图更新记录,注:(2)修改基表不成功的原因是不能同时对两个基表修改。,示例6.11,示例6.11答案,通过视图插入记录,示例6.12(1),示例6.12(2),通过视图删除记录,注:删除数据不成功的原因是不能同时对两个基表数据进行删除。,什么是索引,汉语字典中的汉字按页存放,一般都有汉语拼音目录(索引)、偏旁部首目录等 我们可以根据拼音或偏旁部首,快速查找某个字词,Indexes Use Key Values to Locate Data (根据索引键查找定位数据行),Index Pages(索引页),什么是索引,SQL Server中的数据也是按页( 4KB )存放。 索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据 。 索引页:数据库中存储索引的数据页;索引页类似于汉语字(词)典中按拼音或笔画排序的目录页。 索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。,什么是索引,唯一索引(unique):唯一索引不允许两行具有相同的索引值。唯一性索引特例:主键索引。为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空 聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个 非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个,索引类型,演示使用T-SQL管理平台创建索引,如何创建索引?,如何创建索引?,输入索引名称,设置聚集或非聚集索引,设置是否是唯一性索引,添加索引键列,删除索引键列,使用【表设计器】创建索引,使用【表设计器】创建索引,使用【表设计器】创建索引,CREATE UNIQUE CLUSTERED|NONCLUSTERED INDEX 索引名 ON 表名 (列名ASC|DESC ) WITH FILLFACTOR=x,UNIQUE表示唯一索引,可选 CLUSTERED、NONCLUSTERED表示聚集索引还是 非聚集索引,可选 FILLFACTOR表示填充因子,指定一个0到100之间的 值,该值指示索引页填满的空间所占的百分比,使用T-SQL语句创建索引的语法:,唯一索引,聚集索引或非聚集索引,填充因子(系数):指定一个0100之间的值,表示索引页填充的百分比,T-SQL语句命令创建索引,USE student GO IF EXISTS (SELECT name FROM sysindexes WHERE name = IX_uq_nonclustered_identity_id ) DROP INDEX IX_uq_nonclustered_identity_id CREATE unique NONCLUSTERED INDEX IX_uq_nonclustered_identity_id ON tblstudent(identity_id) GO /*-指定按索引IX_uq_nonclustered_identity_id 查询-*/ SELECT * FROM tblstudent (INDEX=IX_uq_nonclustered_identity_id ),在学生基本情况表(tblstudent)的列identity_id(身份证号)上创建唯一性非聚集索引。,检测索引是否存在: 索引存放在系统表sysindexes中,示例6.1,查看、修改和删除索引,利用SQL Server管理平台查看、修改和删除索引,存储过程查看索引的语法,利用存储过程查看索引,Execute sp_helpindex ,存储过程查看索引的示例,利用存储过程查看索引,存储过程删除索引的语法,利用T-SQL语句删除索引,Drop index ,示例,利用T-SQL语句删除索引,示例答案,索引的优缺点,优点 加快访问速度 加强行的唯一性 缺点 带索引的表在数据库中需要更多的存储空间 操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新,创建索引的指导原则,请按照下列标准选择建立索引的列。 该列用于频繁搜索 该列用于对数据进行排序 请不要使用下面的列创建索引: 列中仅包含几个不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论