数据库原理与SQLServer2012应用教程第2版教学课件ppt作者刘瑞新第9章数据完整性、规则和索引课件.pptVIP

数据库原理与SQLServer2012应用教程第2版教学课件ppt作者刘瑞新第9章数据完整性、规则和索引课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.4 数据库关系图 如果外部约束关系设置不当,还可以删除。单击连线,选择右键菜单“从数据库中删除关系”选项即可删除外部约束关系。也可以选择右键菜单“属性”选项,修改关系。 9.4 数据库关系图 设置完毕,给关系图命名,存盘退出。如果关系图中的表都是空表,即都没有数据记录,存盘退出不会出现问题。如果关系图中的表中有数据记录,系统则会按照各种设定的关系进行检查。如果有数据记录违反某个设定,系统则会提示出错。 在“数据库关系图”中可以查看新建的关系图,还可以修改、重命名、删除等操作。展开表的“键”选项,可以查看通过数据库关系图设计器创建的键对象。与在各个表的表设计器中,创建的键对象相同。 总之,数据库关系图设计器将许多功能集于一身,功能强大,操作可视化,方便快捷。 9.3.1 索引的分类 在SQL Server 2012中,除了表可以创建索引,视图也可以创建索引。根据视图创建的索引称为视图索引。 虽然SQL Server 2012中提供了许多种索引类型,但通常可以简单的将索引根据其索引键值是否唯一,分为唯一索引和不唯一索引。根据索引列个数,可以分为单列索引和组合索引或符合索引。而最常见的索引分类,是按索引的组织方式分类,分为聚集索引和非聚集索引。 9.3.1 索引的分类 1. 聚集索引 聚集索引基于聚集索引键按顺序排序和存储表或视图中的数据行。聚集索引按B树索引结构实现,B树索引结构支持基于聚集索引键值对行进行快速检索。在聚集索引中,表中各行的物理顺序与索引键值的逻辑顺序相同。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序。 只有当表包含聚集索引时,表中的数据行才按排序顺序存储。如果表具有聚集索引,则该表称为聚集表。如果表没有聚集索引,则其数据行存储在一个称为堆的无序结构中。 以Student表为例,如果经常按照Name列查询记录,则可以在Name列上创建聚集索引。 9.3.1 索引的分类 2. 非聚集索引 因为一个表中只能有一个聚集索引,但是由于实际需要,要在一个表建立多个索引,则可以创建非聚集索引。非聚集索引具有独立于数据行的结构。非聚集索引包含非聚集索引键值,并且每个键值项都有指向包含该键值的数据行的指针。 从非聚集索引中的索引行指向数据行的指针称为行定位器。行定位器的结构取决于数据页是存储在堆中还是聚集表中。对于堆,行定位器是指向行的指针。对于聚集表,行定位器是聚集索引键。 聚集索引和非聚集索引都可以是唯一索引的。每当修改了表数据后,都会自动维护索引。如果对表列定义了主键约束(即PRIMARY KEY约束)和唯一约束(即UNIQUE约束)时,会自动创建索引。如果是主键约束,系统默认是聚集、唯一索引。 9.3.2 创建索引 创建索引时,首先必须考虑一些设计准则。 1. 设计索引时应考虑的准则 (1)创建索引之前应考虑的准则 在创建索引之前应考虑如下准则: 1)了解数据库本身的特征。 2)了解最常用的查询的特征。 3)了解查询中使用的列的特征。 4)确定哪些索引选项可在创建或维护索引时提高性能。 (2)设计索引时应考虑的数据库准则 设计索引时,还应考虑以下数据库准则: 1)一个表如果建有大量索引,反而会影响INSERT、UPDATE和DELETE语句的性能,因为在表中的数据更改时,所有索引都必须进行适当的调整。 2)避免对经常更新的表进行过多的索引,并且索引应保持较窄,就是说,列要尽可能少。 3)使用多个索引可以提高更新少而数据量大的查询的性能。大量索引可以提高不修改数据的查询(例如SELECT语句)的性能,因为查询优化器有更多的索引可供选择,从而可以确定最快的访问方法。 4)对小表进行索引可能不会产生优化效果,因为查询优化器在遍历用于搜索数据的索引时,花费的时间可能比执行简单的表扫描还长。因此,小表的索引可能从来不用,但仍必须在表中的数据更改时进行维护。 5)视图包含聚集函数、连接或聚集函数和连接的组合时,视图的索引可以显著地提升性能。 9.3.2 创建索引 2. 创建索引 (1)管理工具界面方式创建 在SQL Server Management Studio中,用户在表设计器中打开Student表。鼠标右键单击“索引/键”选项,进入“索引/键”对话框。由于Student表已经将StudentID列设置为主键,所以已经存在了一个以主键为索引键的唯一索引。 9.3.2 创建索引 如果需要根据Name列创建索引,选择“添加”按钮,添加一个索引/键对象。选择“类型”选项设置为“索引”,选择“列”选项设置Name列,选择“是唯一的”选项设置为“是”。关闭并保存退出即可。用户在Student表的“索引”对象中可以查看索引。 9.3.2 创建索引 用户也可以使用向导创建索引。这是一种

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档