关系数据结构及形式化定义

关系

  • 单一的数据结构 – 关系

    • 现实世界的实体以及实体间的各种联系均用关系来表示
  • 逻辑结构 – 二维表

    • 从用户角度, 关系模型中数据的逻辑结构是一张二维表
  • 关系模型是建立在集合代数的基础上

    • 笛卡尔积

      • 元组
      • 分量
      • 基数
    • 关系

      • 关系: R(D1, D2, …, Dn)
      • 元组
      • 单元关系与二元关系
    • 关系的表示: 二维表

    • 属性

      • 候选码: 唯一标识一个元组的某一属性组
      • 全码
      • 主码
      • 主属性
      • 非主属性
    • 三类关系

      • 基本关系: 实际存在的表, 是实际存储数据的逻辑表示
      • 查询表: 查询结果对应的表
      • 视图表: 由基本表或其他视图表导出的表, 是虚表, 不对应实际存储的数据
    • 基本关系的性质

关系模式

  • 关系模式是对关系的描述 (关系模式是型, 关系是值)

    • 元组集合的结构
    • 一个关系通常由赋予它的元组语义确定
    • 现实的世界中还存在着完整性约束
  • 关系模式可以形式化地表示为: R(U, D, DOM, F)

    • R: 关系名
    • U: 组成该关系的属性名集合
    • D: 属性组U中属性所来自的域
    • DOM: 属性向域的映象集合
    • F: 属性间的数据依赖关系集合
  • 关系模式与关系

    • 关系模式是静态的, 稳定的
    • 关系是动态的, 随时间不断变化的
    • 关系是关系模式在某一时刻的状态或内容
    • 关系模式 – 模型, 关系 – 模式

关系数据库

  • 关系数据库

    • 在一个给定的应用领域中, 所有关系的集合构成一个关系数据库
  • 关系数据库的型与值

    • 关系数据库的型
    • 关系数据库模式
    • 关系数据库的值

关系模型的存储结构

关系数据结构

基本关系操作

  • 常用关系操作

    • 查询: 选择, 投影, 并, 差, 笛卡尔积
    • 数据更新: 插入, 删除, 修改
  • 关系操作的特点

    • 集合操作

关系数据库语言的分类

  • 关系代数语言

  • 关系演算语言

  • 具有关系代数和关系演算双重特点的语言 SQL

关系的完整性

实体完整性

  • 主属性不能取空不能相同

参照完整性

  • 关系间的引用

  • 外码: 不是自己关系中的码, 而是所参照的关系中的码

  • 可以是空值

用户定义完整性

关系代数

传统的关系运算

专门的关系运算

  • 选择

  • 投影

  • 连接

    • 一般连接
    • 等值连接
    • 自然连接
    • 悬浮元组
      • 外连接
      • 左外连接
      • 右外连接
  • 除运算