[理学]第三章与Web查询技术相关的数据结构理论——索引、查找的算法、二叉树和图的遍历.ppt

[理学]第三章与Web查询技术相关的数据结构理论——索引、查找的算法、二叉树和图的遍历.ppt

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

第3章 与Web查询技术相关的数据结构理论 ——索引、查找的算法、二叉树和图的遍历 本章目录 3.1 索引和倒排文件 3.2 树、二叉树和图的遍历 3.3 查找的几种算法 主要知识点 Web查询主要是利用互联网对后台数据库进行搜索,因此为了快速访问Web数据库并优化查询的算法,本章开始讨论数据库索引、倒排文档、查找的几种常见算法。此外,由于搜索引擎还涉及到网络信息资源的采集和抓取,而目前主要采用广度优先遍历和深度优先遍历等算法,因而很有必要介绍数据结构中的树和二叉树、图的遍历的有关知识,后者正是网络信息采集的理论基础。 3.1 索引和倒排文件 本节要点: 3.1.1数据库索引概要 3.1.2索引类型 3.1.3倒排文件 3.1.1数据库索引概要 索引实际上是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引提供指向存储在数据表中指定字段或列的数据值的指针,然后根据指定的排序顺序对这些指针进行排序。数据库使用索引的方式很简单,即搜索索引以找到特定值,然后顺指针找到包含该值的行。 在数据库关系图中,可以在选定表的“索引/键”属性页中创建、编辑或删除每个索引类型。当保存索引所附加到的表,或保存该表所在的关系图时,索引将保存在数据库中。 一般而言,只有当经常查询索引列中的数据时,才需要在表上创建索引。因为索引占用磁盘空间,并且降低添加、删除和更新行的速度。因此,如果应用程序非常频繁地更新数据或磁盘空间有限,则可能需要限制索引的数量。 3.1.1数据库索引概要 1.创建索引的要点 可以基于数据库表中的单列或多列创建索引。多列索引可以区分其中一列可能有相同值的行。 如果经常同时搜索两列或多列或按两列或多列排序时,索引也很有帮助。例如,如果经常在同一查询中为姓和名两列设置判据,那么在这两列上创建多列索引将很有意义。 确定索引的有效性: 检查查询的 WHERE 和 JOIN 子句。在任一子句中包括的每一列都是索引可以选择的对象。 对新索引进行试验以检查它对运行查询性能的影响。 考虑已在表上创建的索引数量。最好避免在单个表上有很多索引。 检查已在表上创建的索引的定义。最好避免包含共享列的重叠索引。 检查某列中唯一数据值的数量,并将该数量与表中的行数进行比较。比较的结果就是该列的可选择性,这有助于确定该列是否适合建立索引,如果适合,确定索引的类型。 3.1.1数据库索引概要 2.建立索引的优点 (1)大大加快数据的检索速度; (2)创建唯一性索引,保证数据库表中每一行数据的唯一性; (3)加速表和表之间的连接; (4)在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。 3.索引的缺点 (1)索引需要占物理空间。 (2)当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。 3.1.2索引类型 常用的索引类型有两种,即顺序索引和散列索引。顺序索引是根据记录的某种排列顺序建立的索引,这是一般意义上的索引技术。根据记录中的某个属性值,通过散列函数得到的函数值作为存储地址建立起来的索引称为散列索引。 1.顺序索引 如果索引的搜索键码值的顺序与主文件的顺序一致,那么这种索引称为主索引,也称为聚集索引。一般地,主索引的搜索键码往往是文件的主键码。 如果索引的搜索键码值的顺序与主文件的顺序不一致,那么这种索引称为辅助索引,也称为非聚集索引。 (1)聚集索引 一个表只能包含一个聚集索引。聚集索引又可分为稠密索引、稀疏索引和多级索引等三种实现方法。 3.1.2索引类型 ①稠密索引 对于主文件中每一个搜索键码值都建立一个索引记录(索引项),索引记录包括搜索键码值和指向具有该值的记录链表中第一个记录的指针。这种索引称为稠密索引。 稠密索引示例 3.1.2索引类型 ②稀疏索引 如果在主文件中,只为若干个搜索键码值建立索引记录,那么这种索引称为稀疏索引。其索引记录的内容与稠密索引一样,包括搜索键码值和指针。它与稠密索引的主要区别在于稀疏索引中的索引记录不包含所有的搜索键码值,而稠密索引则包含。 稀疏索引示例 3.1.2索引类型 (2)非聚集索引 在聚集索引中,可以根据某个搜索键码值查找记录。若要根据另外一个搜索键码值来寻找主文件的记录,那么可以使用非聚集索引方法。在聚集索引中,具有相同搜索键码值的记录在同一个或相邻的物理块中,因此查找速度比较快。但是,在非聚集索引中,具有相同搜索键码值的记录分散在文件的不同地方,因而查找速度比较慢,并且查找时无法利用主文件中按照聚集索引建立起来的指针链。 非聚集索引为了链接记录和指针必须包含指向每一个记录的指针,并且指针指向指针桶。 非聚集索引示例 3.1.2索引类型 2

文档评论(0)

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

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

1亿VIP精品文档

相关文档