1、 第 1 页 共 14 页 学学 号:号: 课课 程程 设设 计计 题题 目目 B*树索引 学学 院院 计算机科学与信息工程学院 专专 业业 金融信息化服务外包 班班 级级 学生姓名学生姓名 指导教师指导教师 2015 年 12 月 27 日 第 2 页 共 14 页 课程设计任务书课程设计任务书 学生姓名:学生姓名: 专业班级:专业班级: 指导教师:指导教师: 工作单位:工作单位: 题题 目目: : B*树索引 已知技术参数和设计要求已知技术参数和设计要求: a) 时间要求为 14 周18 周。 b) 开发工具不限(oracle/sqlplus) 。 c) 开发平台不限(Linux) 。 d
2、) 集成开发环境不限。 e) 所用数据库不限(Oracle 10g) 。 f) 说明文档要求符合学校课程设计文档规范。 要求完成的主要任务要求完成的主要任务: : (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) B*树索引。 (1) 什么是 B*树 (2) B*索引的组织结构 (3) 索引键压缩(作用及结构) (4) 反向键索引(作用及结构) (5) 降序索引(作用及结构) 时间安排:时间安排: 1、研究分析什么是 B*树,和同学讨论联系实际,历时 2 天。 2、研究分析 B*索引的组织结构,历时 2 天。 3、研究分析索引键压缩,反向键索引,降序索引,历时 4 天。 4、编写相
3、关文档,历时 2 天。 5、Oracle 大型数据库课程设计文档的最后检查与修订,历时 1 天 指导教师签名:指导教师签名: 年年 月月 日日 第 3 页 共 14 页 目录目录 1.什么是 B*树 . 4 2.B*索引的组织结构 5 3.索引键压缩(作用及结构) . 5 4.反向键索引(作用及结构) . 7 (1).反向索引应用场合 8 (2).使用反向索引的优点9 (3).使用反向索引的缺点9 (4).通过一个实验简单演示一下反向索引的创建及修改14 5.降序索引(作用及结构) 13 6.总结 . 14 7.参考资料 14 第 4 页 共 14 页 1.什么是什么是 B*树树 B*树是 B
4、+树的变体,在 B+树的非根和非叶子结点再增加指向兄弟的指针;B*树定义了 非叶子结点关键字个数至少为(2/3)*M,即块的最低使用率为 2/3(代替 B+树的 1/2)。 B+树的分裂:当一个结点满时,分配一个新的结点,并将原结点中 1/2 的数据复制到 新结点,最后在父结点中增加新结点的指针;B+树的分裂只影响原结点和父结点,而不会 影响兄弟结点,所以它不需要指向兄弟的指针。 B*树的分裂:当一个结点满时,如果它的下一个兄弟结点未满,那么将一部 分数据移 到兄弟结点中,再在原结点插入关键字,最后修改父结点中兄弟结点的关键字(因为兄弟 结点的关键字范围改变了)。如果兄弟也满了,则在原结点与兄弟结点之间增加新结点, 并各复制 1/3 的数据到新结点,最后在父结点增加新结点的指针,所以,B*树分配新结点