数据库技术及应用8设置数据完整性与索引95课件讲解.pptxVIP

  • 0
  • 0
  • 约2.85千字
  • 约 16页
  • 2026-02-03 发布于陕西
  • 举报

数据库技术及应用8设置数据完整性与索引95课件讲解.pptx

数据库技术及应用授课人:陈翠松项目8设置数据完整性与索引

有人向小王反馈,在工作计划参与人员表中,有一个工作人员不是自己单位的员工。小王经过思考后发现,工作计划参与人员表中的人员一定要来自工作人员表,这样可以避免出现以上问题,他计划通过数据完整性来确保数据一致,通过索引来提升查询效率。工作情境

02设置索引

二、设置索引任务分析任务编号任务内容任务8-9为工作人员表user的用户名字段userName建立唯一索引iuserName,按照升序排列。任务8-10为工作计划参与人员表participant的工作计划编号字段planId创建普通索引iplanId,按照降序排列粤文创数据库中部分表的数据量比较大,小王觉得系统反应太慢,他想通过索引来提高查询效率。小王对粤文创进行分析后得到的任务清单如下。

二、设置索引知识储备1、初识索引在关系数据库中,索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某个特定值的记录。索引的作用相当于图书的目录,利用目录能提高图书查询速度,而利用索引能提高在数据表中查询数据的速度。使用索引不仅能大大加快数据的查询速度,还能保证数据的唯一性(唯一索引),在实现数据参照完整性时,可以加速数据表与数据表之间的连接操作。但创建和维护索引需要耗费时间,并且随着数据量的增加,所耗费的时间也会增加。索引不仅需要占用磁盘空间,还需要时间动态维护索引,所以索引并不是越多越好,而是需要根据项目实际科学、合理地规划索引。

二、设置索引知识储备1、初识索引1)索引的分类(1)普通索引:由KEY或INDEX定义的索引,是MySQL中的基本索引类型,可以创建在任何数据类型中。(2)唯一索引:添加关键字UNIQUE的索引,该索引所在字段的值必须是唯一的。(3)全文索引:添加关键字FULLTEXT的索引,该索引是一种特殊类型的索引,查找文本中的关键词,而不是直接比较索引中的值。全文索引适用于MATCHAGAINST操作,而不是普通的WHERE操作。全文索引支持各种字符内容的搜索,包括char、varchar和text类型,也支持自然语言搜索和布尔搜索。(4)空间索引:添加关键字SPATIAL的索引,该索引是由SPATIAL定义的,只能创建在空间数据类型的字段上。MyISAM表支持空间索引,可以用作地理数据存储。空间索引无须前缀查询。

二、设置索引知识储备1、初识索引2)创建索引的注意事项(1)表的主键约束、唯一约束和外键约束必须有索引,在设置数据完整性约束时系统自动创建对应的索引。(2)高频使用的连接字段应该创建索引。(3)高频使用的条件字段应该创建索引。(4)索引应该建立在取值广泛的字段上,如性别字段一般只有两三个值,不适合创建索引。(5)索引应该建立在值内容不多的小字段上,对于内容比较多的文本字段甚至超长字段,不需要创建索引。(6)频繁进行数据操作的表不需要创建太多的索引,单个表中索引的数量最好不要超过5个。

二、设置索引知识储备2、创建索引1)直接创建索引创建索引使用CREATEINDEX语句,语法格式如下:CREATE[UNIQUE|FULLTEXT|SPATIAL]INDEX索引名ON表名(字段名[长度][ASC|DESC]);需要说明以下几点。UNIQUE、FULLTEXT、SPATIAL索引类型选择,如果指定索引类型表示普通索引,那么默认为普通索引。一个表可以创建多个索引,但表中的索引名称必须是唯一的。表名指定要创建索引的表,索引不能单独存在,一定要依附某个表。字段列名即索引字段;长度为可选项,指定使用字段的前length个字符来创建索引,一般省略;ASC指定索引按照升序来排列,系统默认为ASC;DESC指定索引按照降序来排列。

二、设置索引知识储备2、创建索引示例8-8新建表T(IDINT,NCHAR(5)),并为N创建唯一索引iname,按照升序排列。

二、设置索引知识储备2、创建索引程序代码如下:DROPTABLEIFEXISTST;CREATETABLET(IDINT,NCHAR(5));CREATEUNIQUEINDEXinameONT(N);

二、设置索引知识储备2、创建索引2)在创建表时创建索引在创建表时创建索引,语法格式如下:CREATETABLE表名(字段定义,[UNIQUE|FULLTEXT|SPATIAL]INDEX索引名(列名[长度][ASC|DESC]));示例8-9新建表T(IDINT,NCHAR(5)),并为N创建普通索引iname,按照降序排列。程序代码如下:DROPTABLEIFEXISTST;CREATETABLET(IDINT,N

文档评论(0)

1亿VIP精品文档

相关文档