1. 数据存储体系
1.1 计算机系统的存储体系
1.将不同性价比的存储组织在一起,满足高速的、大容量、低价格需求
2.CPU与内存直接交换信息,按存储单元(存储字)进行访问
3.外存按存储块进行访问,其信息先装入内存,才能被CPU处理
1.2 不同层次存储的访问时间上的差异
直观感受下不同层次图上的存储访问时间
1.3 操作系统对数据的组织
1.3.1 FAT(文件分配表)
操作系统对数据的组织方式:FAT-目录(文件夹)-磁盘块/簇
1.3.2 缓冲区管理
1.4 DBMS数据存储与查询实现的基本思想
1.4.1 数据存储的映射关系
操作系统文件通过文件索引直接映射到物理磁盘中的块
访问关系数据库中的记录先映射到内存缓冲区,再从缓冲区映射到物理磁盘上
1.4.2 数据库存储与查询实现的基本框架
1.4.3 数据库表-记录与磁盘块的映射
1.4.3.1 数据库概念与磁盘相关概念的映射
根据表的结构信息,定长记录根据字长确定各个属性在磁盘块中的位置;可变长度记录通过标记位确定属性在磁盘块中的位置
1.4.3.2 数据库的表和磁盘块
1.5 数据库--文件组织方法
1.5.1 无须记录文件
1.5.2 有序记录文件
1.5.3 散列文件
1.5.4 聚簇文件
1.5.5 小结
1.6 Oracle DB物理存储简介
1.6.1 数据库的数据组织
在Oracle系统中,表空间和数据文件是Oracle数据库结构的基本要素.每个表空间可以包含一或者多个数据文件。
用于存放数据库表、索引、回滚段等对象的磁盘逻辑空间叫做表空间。
数据文件DataFile是用于保存应用数据和Oracle系统内部数据的文件。
1.7 小结
2. 数据库管理系统实现技术
2.1 基本知识与关系模型
2.1.1 为什么需要索引与什么是索引
索引的概念
2.1.2 索引的简单分类
稠密索引和稀疏索引
主索引和辅助索引
- 一个主文件仅可以有一个主索引,但可以有多个辅助索引;
- 主索引通常建立于主码/排序码上面;
- 辅助索引建立于其他属性上面可以利用主索引重新组织主文件数据,但辅助索引不能改变主文件数据
- 主索引是稀疏索引,辅助索引是稠密索引
聚簇索引和非聚簇索引
聚族索引一是指索引中邻近的记录在主文件中也是临近存储的;
非聚族索引一是指索引中邻近的记录在主文件中不一定是邻近存储的。
倒排索引
其他结构的索引
2.2 B+树索引
2.3 散列索引
2.3.1 概念
2.3.2 散列索引问题
2.3.3 静态散列索引VS动态散列索引
2.3.4 可扩展散列索引
2.3.5 线性散列索引
2.3.6 小结
2.2 数据库语言-SQL
2.3 数据建模与数据库设计
2.4 数据库管理系统实现技术
2.4.1 数据库查询实现算法概述
2.4.2 逻辑实现算法与物理实现算法
2.4.3 利用迭代器构造查询实现算法
2.4.4 几个关系操作的一趟扫描算法
2.4.5 基于索引的查询算法
小结
2.4.6 两趟扫描算法
需要保存的待处理数据块数远远大于内存可用块数
说明:基于散列的两趟算法,为什么元组在某一子集上无重复即相当于在全集上无重复?
-
两趟算法的基本概念
- 第一趟操作:划分子集:在基于散列的两趟算法中,第一趟操作通常涉及使用一个散列函数将大数据集划分为多个子集。这些子集被组织成具有某种共同特性,例如相同的散列值或排序顺序。
- 第二趟操作:全局处理:第二趟操作处理这些子集之间的全局性内容,如归并排序或对具有相同散列值的子集进行特定操作。这一步是形成最终结果的关键,如数据的最终排序或去重。