关系模型相关概念
- 关系:一张二维表,这张二维表中有许多属性,我们需要定义它们来自哪些域,属性与域之间的映射关系。
一个关系可描述为R(U, D, DOM, F)
R为关系名,U为所有属性构成的集合,D为属性来自的域,DOM为属性和域的映射关系,F为属性间的依赖关系
- 关系操作:增删改查(在第一章中有详细介绍过)
- 查询操作:选择、投影、连接、除法、并、交、差、笛卡尔积
- 查询操作的基本操作:选择、投影、并、差、笛卡尔积(其他操作可由这些操作导出)
-
完整性约束
实体完整性:主键唯一且非空
- 参照完整性:外键要么为空要么为另一个表中主键值
-
查询优化
同一个查询要求可以有不同的关系代数表达式,这些表达式的效率有高有低,RDBMS(关系数据库管理系统)中的查询优化器所做的就是选择出其中效率高的表达式。
优点:
- 可从数据字典中获取统计信息,选择高效的计划
- 物理统计信息发生改变时,系统可对查询重新优化
- 可考虑数百种执行计划
- 集成了许多复杂的优化计划
- 实现方法:
- 将查询需求转换为语法树等内部表示
- 将语法树等价变换为标准形式
- 选择低层的操作算法
- 生成最佳查询计划
- 查询优化技术
- 代数优化
- 物理优化
- 规则优化
- 代价优化
- 具体操作:
- 选择运算优先
- 投影操作和选择操作同时进行
- 把投影和其前/后的双目运算结合起来
- 尽量避免连接