- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1
第5章 创建索引(idex)与约束(constraint)
2
第5章 创建索引(idex)与约束(constraint)
5.1 索引
5.2 约束和默认
5.3 数据完整性
3
一、什么叫索引
数据库中的索引与书籍中的目录类似。
在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。
数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
4
二、索引的作用
通过创建唯一索引,可以保证数据记录的唯一性。
可以大大加快数据检索速度。
可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。
在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。
使用索引可以在检索数据的过程中使用优化器,提高系统性能。
5
三、聚集索引与非聚集索引
聚集索引(簇索引)(clustered)
对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上;
聚集索引的顺序和数据行的物理顺序一致;
一个表或视图只能有一个聚集索引。
非聚集索引(非簇索引)(nonclustered)
具有完全独立于数据行的结构,非聚集索引存储了组成非聚集索引的关键字值和行定位器。 (见下页图)
一个表中可以有多个非聚集索引。
6
7
四、增加索引带来的不利因素:
索引要占用物理空间;
当对表中数据进行了添加、删除和修改操作后,系统需要对索引进行动态维护,需要占用一定的时间;
8
五、创建索引必须基于以下原则
在主关键字列中创建索引(自动);
在经常要查询的列中创建索引;
在经常用于连接的列,如外关键字列中创建索引;
在经常出现在WHERE子句和ORDER BY子句中的列中创建索引;
当UPDATE的性能需求远大于SELECT的性能需求时,不应该创建索引。
9
七、另外应当注意
当在表中创建主关键字约束或惟一性约束时,SQL Server自动创建一个惟一性索引;
如果表中已有数据,那么在创建索引时, SQL Server会检查数据的合法性;
当有多个列作为关键字时,应创建复合索引。
10
5.1.1 创建索引
5.1.2 查看、修改和删除索引
11
5.1.1 创建索引
利用SSMS直接创建索引。
利用Transact-SQL语句中的CREATE INDEX命令创建索引。
12
1. 利用SSMS创建索引
如图所示。
13
使用索引效果的测试
程序
14
练习:
为表course创建一个唯一聚集索引;
为表student创建一个年龄、学号复合索引;
15
7.1.2 查看、修改和删除索引
1. 利用SSMS查看、修改和删除索引
16
2. 用系统存储过程查看和更改索引名称
系统存储过程sp_helpindex可以返回表的所有索引信息,其语法形式如下:
sp_helpindex ‘name’
其中’name’参数用于指定当前数据库中的表的名称。
另外,系统存储过程sp_rename可以用来更改索引的名称,其语法形式如下:
sp_rename object_name,new_name
17
例:
更改employees表中的索引employees_name_index名称为employees_name_ind,其程序清单如下:
Exec sp_rename ‘employees.[employees_name_index]’, ‘employees_name_ind’, ‘index’
18
3. 使用Transact-SQL语句中的DROP INDEX命令删除索引
当不再需要某个索引时,可以将其删除,DROP INDEX命令可以删除一个或者多个当前数据库中的索引,其语法形式如下:
DROP INDEX table.index | view.index [ ,...n ]
其中,table | view用于指定索引列所在的表或索引视图;index用于指定要删除的索引名称。
注意,DROP INDEX命令不能删除由CREATE TABLE或者ALTER TABLE命令创建的主键或者唯一性约束索引,也不能删除系统表中的索引。
19
5.2 约束和默认创建
在这里我们介绍5种:
创建主键约束(primary key constraint )
创建外键约束(foreign key constraint)
创建缺省值约束(default constraint)
创建检查约束(check constraint)
创建唯一性约束(unique constraint)
20
1. 创建主键约束
表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的
您可能关注的文档
- 乳腺超声规范报告与BIRADS分级.ppt
- 第三章 教育科学研究的原则与基本类型.ppt
- 第三章 类的继承与派生.ppt
- 三江源生态移民社会适应及回迁愿望分析.pdf
- 第三章 气体与蒸汽的热力性质.ppt
- 第三章 数据类型,运算符及表达式.ppt
- 第三章 有关作业与进程调度算法的习题.doc
- 三株酵本草及人类疾病的关系.doc
- 第三章. 数据类型、运算符及表达式.ppt
- 第三章.运算符、表达式与流程控制.pptx
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
最近下载
- 四川省绵阳市江油市2020-2021学年九年级上学期期中物理试题(含答案).docx VIP
- (新版)危害因素辨识与风险防控题库及答案解析 .pdf VIP
- 2022年华南农业大学工作人员招聘考试试题及答案.docx VIP
- 人教版小学五年级下册体育教案全集.pdf VIP
- 国有企业基层组织工作条例(试行)在线测试.doc VIP
- 初中常见化学式的默写.docx VIP
- 《基础生态学》(第二版_牛翠娟、孙儒泳、李庆芬)课后思考题答案.doc VIP
- essbase BIEE__学习笔记.ppt VIP
- 初中物理《内能的利用》真题演练含解析.pdf VIP
- TF02EP全自动口服液灌装机使用规程.pdf VIP
文档评论(0)