关系模型相关概念

  • 关系:一张二维表,这张二维表中有许多属性,我们需要定义它们来自哪些域,属性与域之间的映射关系。

一个关系可描述为R(U, D, DOM, F)
R为关系名,U为所有属性构成的集合,D为属性来自的域,DOM为属性和域的映射关系,F为属性间的依赖关系

  • 关系操作:增删改查(在第一章中有详细介绍过)
    • 查询操作:选择、投影、连接、除法、并、交、差、笛卡尔积
    • 查询操作的基本操作:选择、投影、并、差、笛卡尔积(其他操作可由这些操作导出)
  • 数据字典:包括数据项、数据结构、数据流、数据存储和处理过程

    完整性约束

  • 实体完整性:主键唯一且非空

  • 参照完整性:外键要么为空要么为另一个表中主键值
  • 自定义完整性:取值范围

    查询优化

    同一个查询要求可以有不同的关系代数表达式,这些表达式的效率有高有低,RDBMS(关系数据库管理系统)中的查询优化器所做的就是选择出其中效率高的表达式。

  • 优点:

    1. 可从数据字典中获取统计信息,选择高效的计划
    2. 物理统计信息发生改变时,系统可对查询重新优化
    3. 可考虑数百种执行计划
    4. 集成了许多复杂的优化计划
  • 实现方法:
    1. 将查询需求转换为语法树等内部表示
    2. 将语法树等价变换为标准形式
    3. 选择低层的操作算法
    4. 生成最佳查询计划
  • 查询优化技术
    1. 代数优化
    2. 物理优化
    3. 规则优化
    4. 代价优化
  • 具体操作:
    • 选择运算优先
    • 投影操作和选择操作同时进行
    • 把投影和其前/后的双目运算结合起来
    • 尽量避免连接