一、DBMS的核心模块组成
语法分析-生成语法树-权限检查-具体操作-调用物理层各种源语进行操作
二、访问类型
1、访问超过15%的元组则顺序查找一遍 基本该文件所涉及的硬盘快里面都会有所涉及 存为堆文件
2、查找某一条特定元组 存为哈希文件比较好查询
3、查询少量元组(少于15%)
4、范围查询
5、更新
三、文件存储方式
存储方式
A、堆文件:访问只能顺序扫描
B、哈希文件
C、B+数索引 + 堆文件
D、动态哈希
E、栅格结构文件
索引技术
A、B+树
B、clustering index 簇集索引
C、inverted file 倒排文件
D、动态哈希
E、栅格文件和分区哈希函数
F、Bitmap
四、查询优化
1、查询树
树叶到树根表示查询顺序,每个节点代表一个一元或者二元操作
2、等价变换规则
a、E1 X E2 = E2 X E1
b、(E1 X E2)XE3 = E1 X(E2 X E3)
c、如果A1-An是B1到Bm的子集,那么先将关系投影到B1-Bm,再投影到A1-An与直接投影到A1-An的效果一致
d、对关系做F2选择,再F1选择和对其做F2和F1交集的选择一致
e、投影的选择等于选择的投影 条件:选择的条件F里只出现投影里的属性
f、如果选择条件F中只有E1的属性,则σF(E1XE2)=σF(E1)XE2
g、如果F=F1和F2的与,且F1只有E1的属性,F2只有E2的属性,则σF(E1XE2)=σF1(E1)XσF2(E2)
h、如果F=F1和F2的与,且F1只有E1的属性,F2有E1和E2的属性,则σF(E1XE2)=σF2(σF1(E1)XE2)
I、并的选择的选择的并
j、差的选择等于选择的差
将一元操作往下压,从而尽量减少二元操作数量
A、代数优化
B、操作优化
决定连接操作的顺序,每一个连接有许多实现方法(嵌套循环、归并扫描、哈希连接)