《数据库系统概念》第11章知识点总结
索引与散列
数据库中的索引类似与图书的索引
两种基本的索引类型
(1)顺序索引:基于值的顺序排序
(2)散列索引:基于将值平均分不到若干散列桶中。一个值所属的散列桶是由一个函数决定的,该函数称为散列函数
评价索引技术的因素
(1)访问类型:能有效支持的访问类型
(2)访问时间:在查询中使用该技术找到一个特定数据项或数据项集所需的时间
(3)插入时间:插入一个新数据项所需的时间
(4)删除时间:删除一个数据项所需的时间
(5)空间开销:索引结构所占用的额外存储空间
搜索码:用于在文件中查找记录的属性或属性集
聚集索引(主索引):如果包含记录的文件按照某个搜索码指定的顺序排序,那么该搜索码对应的索引称为聚集索引
非聚集索引(辅助索引):搜索码指定的顺序与文件中记录的物理书连续不同的索引称为非聚集索引
常用术语“聚集的”和“非聚集的”来代替“聚集”和“非聚集”
顺序索引
在搜索码上有聚集索引的文件称作索引顺序文件
顺序索引有两类
(1)稠密索引:在稠密索引中,文件中的每个搜索码值都有一个索引项。
(2)稀疏索引:在稀疏索引中,只为搜索码的某些值建立索引项。只有索引是聚集索引时才能使用稀疏索引。
多级索引
具有两级或两级以上的索引称为多级索引。利用多级索引搜索记录与用二分法搜索记录相比需要的I/O操作要少得多
索引的更新
1、插入:系统首先用出现在待插入记录中的搜索码值进行查找,并根据索引是稠密索引还是稀疏索引进行下一个操作
(1)稠密索引
(2)稀疏索引
2、删除:为删除一条记录,系统首先查找要删除的记录,然后下一步的操作取决于索引是稠密索引还是稀疏索引
(1)稠密索引
(2)稀疏索引
辅助索引
待补充
B+数索引文件
待补充
多码访问
使用多个单码索引
多码索引
覆盖索引:存储一些属性的值以及指向记录的指针
静态散列
散列函数
桶溢出处理
散列索引
动态散列
数据结构
查询和更新
静态散列和动态散列比较
顺序索引和散列的比较