《关系索引和视图》PPT课件.ppt_第1页
《关系索引和视图》PPT课件.ppt_第2页
《关系索引和视图》PPT课件.ppt_第3页
《关系索引和视图》PPT课件.ppt_第4页
《关系索引和视图》PPT课件.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第5章 关系、索引和视图,5.1 创建关系图,5.2 索 引,5.3 视 图,上机作业,5.1 创建关系图,可创建一个或更多的关系图,以显示数据库中的部分或全部表、列、键和关系。 要创建关系图,先把互相关联的表集合在一起,然后再做关系的设置。,52 索 引,5.2.1 索引的分类 5.2.2 创建索引 5.2.3 索引的查看 5.2.4 索引的删除,索引的概念,数据库的索引类似图书的索引,索引能够使数据库程序不用浏览整个表,就可以找到表中的数据。 索引是一个表中所包含的值的列表,它说明了表中包含各个值的行所在的存储位置。 使用索引将占用磁盘空间,在执行数据的插入、修改和删除时,为了自动维护索引,SOL Server将花费一定的时间,因此要合理设计索引。,5.2.1 索引的分类,索引的分类: 从索引表的物理顺序、索引列的重复值以及索引中所包含的列数等不同的角度,可以把索引分为以下几类: 聚集索引和非聚集索引 唯一索引和非唯一索引 单列索引和复合索引 (1)聚集索引和非聚集索引 根据索引的顺序与数据表的物理顺序是否相同,可以把索引分为聚集索引和非聚集索引。 (2)唯一索引和非唯一索引 (3)单列索引和复合索引 单列索引是对表中单个字段建立的索引,复合索引是对表中的两个或两个以上的字段的组合建立的索引。,聚集索引,在聚集索引中,表中数据行的物理存储顺序与索引顺序完全相同,因此每个表只能创建一个聚集索引。 如果表中没有创建其他的聚集索引,则在表的主键列上自动创建聚集索引。,优点: 1、创建唯一性索引,可以保证数据记录 的唯一性。 2、大大加快数据检索的速度。 3、加速表与表之间的连接。 缺点: 1、索引占用存储空间。 2、在执行数据的插入和更新时,须额外 的操作对索引进行维护。 3、过多的索引会引起反作用。,建立索引应该遵循以下原则: 在主键上创建索引 在经常需要检索的字段上创建索引 在外键上创建索引 在经常要排序的列上创建索引,5.2.2 创建索引,在SOL Server中创建索引有以下几种方法: 使用创建索引向导 使用企业管理器,3.使用Transact-SQL,系统自动创建索引,创建表时对某列创建了主键约束和唯一性约束,系统自动为该字段创建唯一索引,可以是聚集索引也可以是非聚集索引,取决于clustered和nonclustered。,例如:为表“学生课程表”创建基于“课程名”列的唯一非聚集索引au-coursename。 Create unique index au-coursename on 学生课程表(课程名),使用create index命令创建索引 Create uniqueclustered|nonclustered INDEX indexname ON table|view (column ASC|DESC,n)ON filegroup 其中UNIQUE和CLUSTERED|NONCLUSTERED选项指定所创建索引的类型分别为唯一索引、聚集索引或非聚集索引。省略UNIQUE选项时,SOL Server所建立的是非唯一索引,省略CLUSTERED|NONCLUSTERED选项时,SOL Server所建立的是非聚集索引,两者可同时出现。,Indexname:说明所建立的索引名称,应遵循SOL Server标识命名规则,此外,还必须保证同一表中的索引名称是唯一的。 Table|view:说明被索引的表或视图,column说明被索引的列名。 ASC|DESC:指定索引列的排序方式是升序还是降序,默认为升序(ASC)。 ON子句指定保存索引文件的数据库文件组名称。,5.2.3 索引的查看,1.利用Transact-SQL命令 sp_helpindex objname= name 例:exec sp_helpindex xsqk 2. 使用企业管理器,5.2.4 索引的删除,通过设置PRIMARY KEY约束或UNIQUE约束所建立的索引不允许用户删除,只能通过删除约束或删除表的方法删除,但全部CREATE INDEX命令创建的索引都能够被删除.,删除方法,1. 使用企业管理器删除索引 2. 使用Transact-SQL命令删除索引。 语法格式如下: DROP INDEX table.index|view.index,n 其中table|view:是索引列所在的表或视图。Index:为要除去的索引名称。 例:drop index xsqk.aa,1.基于xsqk表的学号列创建名为a的聚集、唯一索引。 Create unique clustered index a on xsqk (学号) 2.基于xskb表的学号、姓名列创建名为b的聚集、唯一 索引。 Create unique clustered index b on xskb(学号,姓名) 3.基于xscj表的英语列创建名为c的非聚集索引,并删 除。 Create nonclustered index c on xscj (英语),53 视图,5.3.1 视图的概念,5.3.2 创建视图,5.3.3 查询视图,5.3.4 重命名视图,5.3.5 修改视图的定义,5.3.6 删除视图,视图的特点, 着重于特定数据,就是让用户能够着重 于他们所感兴趣的特定数据。 简化数据操作 自定义数据 组合分区数据,532 创建视图,1、使用企业管理器 2、使用CREATE VIEW语句创建视图,例 5.2 利用表xsqk定义视图V1,查询xsqk表中的学号、姓名、身份证号。,Use 计算机 Go Create view v1 As Select 学号,姓名,身份证号 From xsqk 当频繁查询这些列时,视图非常有用。,CREATE VIEW的语法格式如下: CREATE VIEW view_name (column,n) WITH ENCRYPTION AS select_statement WITH CHECK OPTION 参数说明如下: view_name:定义视图名,在一个数据库中要唯一。 column:声明视图中使用的列名。只有当视图中的某列来自于算术表达式、内置函数或常量,或多个列有相同的名称,或给某列一个不同于基表中的列名时,才能使用此项。 WITH ENCRYPTION:给视图定义的select命令加密。 AS:说明视图要完成的操作。,select_statement:定义视图的命令,可以使用多个表及其他视图。 WITH CHECK OPTION:强制所有通过视图修改的数据满足语句中指定的选择条件。例:从xsqk建计算机系视图a(系别,学号,姓名),插入冶金系的一条记录。 当用WITH ENCRYPTION将视图定义加密后,无论用sp_helptext或在企业管理器中查看视图的定义都是不允许的。,例 5.3 本例使用with encryption选项并显示计算列、重命名列以及多列。,Use 计算机 Go Create view accounts(学号,课程号,最终成绩) With encryption As Select 学号,课程号,成绩*所占比例 From xscj Where 成绩90 go,例5.4 定义视图V2,查询xsqk表中每位同学所修的课程名,这个视图定义涉及到了xsqk表、xscj表和xskc表。,Use 计算机 Go Create view V2 As Select q.学号,姓名,c.课程号,xskc.课程名 From(xsqk q inner join xscj c on q.学号=c.学号)inner join xskc on c.课程号=xskc.课程号 go,例5.5 为了只对唐山的同学应用数据修改,可创建一个如下的名为caonly的视图,使用with check option参数。,Use 计算机 Go Create view caonly As Select 学号,姓名,家庭住址 From xsqk Where 家庭住址=唐山 With check option go,533 查询视图,如果视图定义没有加密,即可获取该视图定义的有关信息。查询视图就是查看视图定义以了解数据从源表中的提取方式,或查看视图所定义的数据。 使用Transact-SQL命令 sp_helptext lbjname= name lobjnme=name:是对象的名称,将显示该对象的定义信息,对象须在数据库中。 使用企业管理器,例5.6 利用sp_helptext来查看视图V1的定义。,Sp_helptext V1 GO,534重命名视图,1 利用企业管理器 2 利用sp_rename重命名 sp_rename用于重命名当前数据库中用户自定义的对象,如视图、表、存储过程、触发器、索引等。请注意,系统数据类型和系统对象是不允许重命名的。语法格式: sp_rename objname=object_name, newname= new_name , objtype=object_type,参数含义如下: objname=object_name:当前用户对象的名字。 newname= new_name:指定对象的新名称。 , objtype=object_type:被重命名对象的类型。默认值为NULL。,例 5.7 将V1视图重命名为test。,Sp_rename V1,test go,535修改视图的定义,1 利用“视图设计器” 加密过程是不可逆转的,对视图加密后,因为再也看不到视图定义,所以永远不能再对视图进行修改,必须删除后重新创建一个。,1 利用Transact-SQL命令 ALTER VIEW语句的功能是更改一个先前创建的视图。语法如下: ALTER VIEW view_name (column,n) WITH ENCRYPTION AS select_statement WITH CHECK OPTION 参数意义与CREATE VIEW中的一样,例如将上面的view1视图中筛选条件变为专业=计算机应用与维护,使用以下语句:,Alter view view1 As Select 系别,学号,姓名,性别 From 学生情况表 where 专业=计算机应用与维护,536 删除视图,1 使用企业管理器 2 用Transact_SQL命令 DROP VIEW语句的功能是删除一个或多个视图,语法如下: DROP VIEW view,n,小结,掌握创建关系图 掌握用SQL语句创建、管理和查看索引,视图,上 机 作 业,创建索引: 1、基于XSQK表的学号列创建名为IX_学号的聚集、唯一索引。 2、基于xscj表的学号、课程号列创建名为IX_成绩的聚集、唯一索引、复

温馨提示

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

评论

0/150

提交评论