第07章:存储过程、事务、视图、索引剖析.pptx

第07章:存储过程、事务、视图、索引剖析.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第07章:存储过程、事务、视图、索引剖析

第7章;本章内容;讲解时间: 15分钟;索引;SQL Server数据访问方法 表扫描法:从表的起始处逐行查找,直至找到符合查询条件的记录为止。 索引法:系统会通过遍历索引结构来查找行的存储位置,相比表扫描法,效率大为提高。 索引的作用 增强数据记录的唯一性。 可以大大加快数据检索的速度。 加速表与表之间的连接,这在实现数据参照完整性方面有特殊的意义。 使用ORDER BY和GROUP BY子句进行检索数据时,可以显著减少在查询中排序和分组所占用的时间。 ;索引使用的代价 维护索引,在对数据进行插入、更新和删除操作时会耗费系统时间。 在建立索引时,由于需要复制数据,也会耗费系统的时间和空间。 可在以下场合创建索引 主键、外键。 需要在指定范围快速或频繁查询的列。 需要排序的列。 在聚合函数中使用的列。 ;以存储结构区别,有“聚集索引”(Clustered Index,也称聚类索引、簇集索引)和“非聚集索引”(NonClustered Index,也称非聚类索引、非簇集索引)。 以数据的唯一性区别,有“唯一索引”(Unique Index)和“非唯一索引”(NonUnique Index)。 以索引列的个数区分,则有“单列索引”与“多列索引”。 ;聚集索引特点: 将数据行的值在表内排序,并存储对应的数据记录,使数据表物理顺序与索引顺序相一致。 当以某字段作为关键字建立聚集索引时,表中数据以该字段作为排序依据。 一个表仅能建立一个聚集索引,但该索引可以包含多个列(组合索引) 主键默认为聚集索引 。 ;非聚集索引特点: 完全独立于数据行的结构。 非聚集索引中的数据排列顺序并非表中数据的排列顺序。 一个表可以拥有多个非聚集索引,每个非聚集索引提供访问数据的不同排序顺序。 在默认情况下,SQL Server所建立的索引是非聚集索引。 ;聚集索引VS非聚集索引;系统自动创建索引 系统在创建表中的其他对象时,可以附带创建新索引。通常情况下,在创建UNIQUE约束或PRIMARY KEY约束时,SQL Server会自动为这些约束列创建聚集索引。 用户创建索引 使用SQL Server Management Studio的对象资源管理器。 利用T-SQL语句CREATE INDEX。 ;现使用对象资源管理器在商品表的“团购价”字段上建立非聚集索引 ;使用SSMS创建索引;使用SSMS创建索引;使用SSMS创建索引;CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX index_name ON table_name (column_name…) ;练习巩固上述语法 客户在预订线路时,经常需要根据线路名进行查询,并按价格排序显 示。如何使用索引技术提高检索。 通常在主外键、频繁查询的列、排序列和聚合函数列的字段上建立索引。依据需求,可在线路表的线路名和价格上建立索引。 系统需要经常获取每个客户预订线路的数量,如何使用索引技术提升查询效率? ;讲解时间: 20分钟;视图(View)是一种数据库对象,是一个从一张表、多张表或视图中导出的虚表。视图的结构和数据是对数据表进行查询的结果。 视图仅存放视图的定义,不存放视图所对应的数据。 视图如果基表中的数据发生变化,则从视图中查询出的数据也随之改变。 视图的特点: 关注点聚焦 简化操作 定制数据 合并分割数据 提供安全机制 ;使用SSMS管理平台,创建团购价高于400元的商品信息视图,用于查看商品类型名、商品标题和团购价。 视图创建完成后,点击“保存”并命名为“v_Product_Category”。通常约定视图名以“v”作为前缀,并用下划线连接基表名。 SELECT * FROM v_Product_Category。;使用SQLServer平台创建视图;使用SQLServer平台创建视图;使用SQLServer平台创建视图;创建视图的语法 CREATE VIEW [ schema_name . ] view_name ??? [ (column [ ,...n ] ) ] AS SELECT_statement ;使用T-SQL语句创建团购价高于400元的商品信息视图,用于查看商品类型名、商品标题、团购价、地区名和商店名。 ;视图中的列不仅可以是基表的数据列,还可以是计算列或聚合函数列。 例:创建一个视图,用于生成每个订单的金额,并利用该视图更新订单表中相应订单的金额;CREATE VIEW v_OrdersAmount AS SELECT od.ordersID, SUM(p.currentPrice*od.quantity) calAmount FROM Orders o, OrdersDetail od, Product p

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档