- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第5章 创建索引(idex)与约束(constraint) * 第5章 创建索引(idex)与约束(constraint) 5.1 索引 5.2 约束和默认 5.3 数据完整性 * 一、什么叫索引 数据库中的索引与书籍中的目录类似。 在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。 数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 * 二、索引的作用 通过创建唯一索引,可以保证数据记录的唯一性。 可以大大加快数据检索速度。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。 使用索引可以在检索数据的过程中使用优化器,提高系统性能。 * 三、聚集索引与非聚集索引 聚集索引(簇索引)(clustered) 对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上; 聚集索引的顺序和数据行的物理顺序一致; 一个表或视图只能有一个聚集索引。 非聚集索引(非簇索引)(nonclustered) 具有完全独立于数据行的结构,非聚集索引存储了组成非聚集索引的关键字值和行定位器。 (见下页图) 一个表中可以有多个非聚集索引。 * * 四、增加索引带来的不利因素: 索引要占用物理空间; 当对表中数据进行了添加、删除和修改操作后,系统需要对索引进行动态维护,需要占用一定的时间; * 五、创建索引必须基于以下原则 在主关键字列中创建索引(自动); 在经常要查询的列中创建索引; 在经常用于连接的列,如外关键字列中创建索引; 在经常出现在WHERE子句和ORDER BY子句中的列中创建索引; 当UPDATE的性能需求远大于SELECT的性能需求时,不应该创建索引。 * 七、另外应当注意 当在表中创建主关键字约束或惟一性约束时,SQL Server自动创建一个惟一性索引; 如果表中已有数据,那么在创建索引时, SQL Server会检查数据的合法性; 当有多个列作为关键字时,应创建复合索引。 * 5.1.1 创建索引 5.1.2 查看、修改和删除索引 * 5.1.1 创建索引 利用SSMS直接创建索引。 利用Transact-SQL语句中的CREATE INDEX命令创建索引。 * 1. 利用SSMS创建索引 如图所示。 * 使用索引效果的测试 程序 * 练习: 为表course创建一个唯一聚集索引; 为表student创建一个年龄、学号复合索引; * 7.1.2 查看、修改和删除索引 1. 利用SSMS查看、修改和删除索引 * 2. 用系统存储过程查看和更改索引名称 系统存储过程sp_helpindex可以返回表的所有索引信息,其语法形式如下: sp_helpindex ‘name’ 其中’name’参数用于指定当前数据库中的表的名称。 另外,系统存储过程sp_rename可以用来更改索引的名称,其语法形式如下: sp_rename object_name,new_name * 例: 更改employees表中的索引employees_name_index名称为employees_name_ind,其程序清单如下: Exec sp_rename ‘employees.[employees_name_index]’, ‘employees_name_ind’, ‘index’ * 3. 使用Transact-SQL语句中的DROP INDEX命令删除索引 当不再需要某个索引时,可以将其删除,DROP INDEX命令可以删除一个或者多个当前数据库中的索引,其语法形式如下: DROP INDEX table.index | view.index [ ,...n ] 其中,table | view用于指定索引列所在的表或索引视图;index用于指定要删除的索引名称。 注意,DROP INDEX命令不能删除由CREATE TABLE或者ALTER TABLE命令创建的主键或者唯一性约束索引,也不能删除系统表中的索引。 * 5.2 约束和默认创建 在这里我们介绍5种: 创建主键约束(primary key constraint ) 创建外键约束(foreign key constraint) 创建缺省值约束(default constraint) 创建检查约束(check constraint) 创建唯一性约束(unique constraint) * 1. 创建主键约束 表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实
您可能关注的文档
- 乘法公式小结与思考.doc
- 程控交换实验指导书(增加部分).doc
- 乘法各部分的关系.ppt
- 程翔教学理论体系.doc
- 程序设计_6(函数).ppt
- 程序设计中的基本算法(修改).ppt
- 程序正义论纲下探讨与研究.doc
- 吃水果并不单单是一个“买,切,吃!”的过程,当中其实还有很多学问.ppt
- 冲突处理不好后果.ppt
- 抽烟调查习题2.ppt
- 2025山东潍坊市诸城市招聘山东省公费农科毕业生4人考前自测高频考点模拟试题及答案详解(夺冠).docx
- 2025山东潍坊市诸城市招聘山东省公费农科毕业生4人考前自测高频考点模拟试题及答案详解(易错题).docx
- 2025山东潍坊市诸城市招聘山东省公费农科毕业生4人考前自测高频考点模拟试题及答案详解(夺冠系列).docx
- 2022-2023年核安全综合知识考试试题.docx
- 标准厂房建设项目的风险管理与应对策略.docx
- 2015年教师招聘中学《教育心理学》章节综合练习题.docx
- 2025山东潍坊市诸城市招聘山东省公费农科毕业生4人考前自测高频考点模拟试题含答案详解(模拟题).docx
- 板材加工产业园发展战略规划及长期愿景.docx
- 2015年教师招聘考试每日一练.docx
- 2025山东潍坊市诸城市招聘山东省公费农科毕业生4人考前自测高频考点模拟试题含答案详解(精练).docx
最近下载
- 人工胆囊、人工胆囊设备和人工胆囊在胆囊手术中的应用.pdf VIP
- 重力与弹力高一上学期物理人教版2019必修第一册+.pptx VIP
- 胃癌的诊治现状与进展.pptx VIP
- 匀变速直线运动的速度与时间的关系课件 2024-2025学年高一上学期物理人教版(2019)必修第一册.pptx VIP
- 数控压装压力机 第2部分:技术条件.docx VIP
- 【课件】匀变速直线运动速度与时间的关系+课件-高一上学期物理人教版(2019)必修第一册.pptx VIP
- XX医院职能部门监管手术、麻醉授权管理督导、检查、总结、反馈及持续改进记录表.pdf VIP
- 电力调度数据网络接入技术规范及网络拓扑图.doc VIP
- ZZGA高频开关整流器使用说明书.doc
- 危重患者院内转运PPT.pptx VIP
文档评论(0)