1. 绪论
    1. 数据库基本概念
      1. 数据
      2. 数据库
      3. 数据库管理系统DBMS
      4. 数据库系统
    2. 数据模型
      1. 概念模型
        1. 实体
        2. 属性
        3. 实例
        4. 关键字、码
        5. 实体型
          1. 一对一
          2. 一对多
          3. 多对多
          4. 联系
        6. 实体集
        7. 联系
      2. 数据模型
        1. 数据结构
        2. 数据操作
        3. 数据的约束条件
        4. 常用模型
          1. 层次模型
          2. 网状模型
          3. 关系模型
          4. 面向对象模型
        5. 组成
    3. 数据库系统的系统结构
      1. 三级模式结构
        1. 模式--逻辑模式
        2. 外模式--子模式
        3. 内模式
      2. 二级映像
        1. 模式,内模式映像
        2. 外模式,模式映像
      3. 数据独立性
        1. 物理独立性
        2. 逻辑独立性
      4. 外部体系结构
        1. 单用户结构
        2. 主从式结构
        3. 分布式结构
        4. 客户、服务器结构
        5. 浏览器、应用服务器、数据库服务器结构
    4. 数据库系统组成
      1. 硬件、软件、相关人员
        1. 数据库管理员
        2. 系统分析员
        3. 数据库设计人员
        4. 应用程序员
        5. 用户
  2. 关系数据库
    1. 基本概念
      1. 数据结构
      2. 关系操作
      3. 完整性约束
    2. 关系数据模型
      1. 基本概念
        1. 关系
        2. 元组
        3. 属性
      2. 关系完整性
        1. 实体完整性
        2. 参照完整性
        3. 用户定义的完整性
    3. 关系代数
      1. 传统的集合运算
        1. 广义笛卡尔积
      2. 专门的关系运算
        1. 选择
        2. 投影
        3. 连接
          1. 条件连接
          2. 自然连接
    4. 关系演算
      1. 元组关系演算
        1. 检索操作GET
        2. 更新操作
  3. 关系数据库标准语言SQL
    1. SQL语言特点
      1. 综合统一
      2. 高度非过程化
      3. 面向集合的操作方式
      4. 同一语法提供两种使用方式
      5. 语言简洁、易学易用
      6. 数据库模式--基表
      7. 外模式--视图
        1. 行列子集视图
        2. with check option视图
        3. 基于多个基表的视图
        4. 基于视图的视图
        5. 带表达式的视图
        6. 分组视图
      8. 内模式--存储文件
    2. SQL的数据定义
    3. SQL的数据操纵
    4. SQL的数据控制
      1. 安全性控制
      2. 完整性控制
      3. 并发控制
      4. 恢复
    5. 嵌入式SQL
    6. 动态SQL
      1. 语句可变
      2. 条件可变
      3. 数据库对象、查询条件均可变
  4. 关系系统及其查询优化
    1. 关系系统
      1. 关系系统定义
        1. 支持关系数据库
        2. 支持选择、投影和自然连接运算
      2. 分类
        1. 表式系统
        2. 最小关系系统
        3. 关系完备系统
        4. 全关系系统
    2. 一般准则
      1. 选择运算应尽可能先做
      2. 在执行连接操作前对关系适当进行预处理
      3. 投影运算和选择运算同时做
      4. 将投影运算与其前面或后面的双目运算结合
      5. 将选择运算和在它前面执行的笛卡尔积结合起来连接运算
      6. 提取公共子表达式
    3. 关系代数等价变换规则
      1. 连接、笛卡尔积交换律
      2. 连接、笛卡尔积结合律
      3. 投影的串接定律
      4. 选择的串接定律
      5. 选择与投影的交换律
      6. 选择与笛卡尔积的交换律
      7. 选择与并的交换律
      8. 选择与差运算的交换
      9. 投影与笛卡尔积的交换
      10. 投影与并的交换
  5. 关系数据理论
    1. 函数依赖的概念
      1. 关系模式
        1. 关系名R符号化的元组语义
        2. U属性
        3. 属性组U中属性所来自的域D
        4. 属性到域的影射dom
        5. 属性组U上的一组数据依赖F
    2. 多值依赖
      1. 数据依赖的公理系统
        1. Armstrong公理系统
          1. 自反律
          2. 增广律
          3. 传递律
          4. 有效性
          5. 完备性
        2. 性质
          1. 对称性
          2. 传递性
          3. 函数依赖是多值依赖的特例
          4. 相加性
          5. 投影性
        3. 与函数依赖的区别
          1. 多值依赖的有效性与属性集的范围有关
          2. 函数依赖的右部可分解,而多值依赖的右部无法分解
    3. 范式的概念及其规范化
        1. 候选码
        2. 主码--主键
        3. 主属性
        4. 非主属性
        5. 全码
        6. 外码--外键
      1. 范式
        1. 第一范式
          1. 一个数据库系统中的关系至少应该是1NF的
          2. 数据异常
          3. 冗余
          4. 插入异常
          5. 删除异常
        2. 第二范式
          1. 插入异常
          2. 修改异常
          3. 删除异常
        3. 第三范式
        4. BCNF修正的3NF
        5. 4NF
          1. 4NF要求属性之间不允许有非平凡且非函数依赖的多值依赖
    4. 模式分解
      1. 三个定义
        1. 分解具有无损连接性
        2. 分解要保持函数依赖
        3. 分解即要保持函数依赖又要具有无所连接性
      2. 模式分解算法
        1. 分解法
        2. 合成法
          1. 将F极小化为Fm
          2. 不在Fm中的属性为一个模式
          3. Fm中具有相同左部的函数依赖合成为一个模式
          4. 若模式中都不包含原关系的码,码单独为一个模式
  6. 数据库设计
    1. 数据库设计概述
      1. 设计方法概述
        1. 规范设计法--新奥尔良方法
          1. 需求分析
          2. 概念设计
          3. 逻辑设计
          4. 物理设计
        2. 面向过程的方法--处理流带动数据流
        3. 面向数据的方法--以数据流带动处理流
        4. 面向对象的方法
      2. 设计的基本步骤
        1. 需求分析
        2. 概念设计
        3. 逻辑设计
        4. 物理设计
        5. 数据库实施和运行
        6. 数据库的使用和维护
    2. 数据字典
      1. 数据项
      2. 数据结构
      3. 数据流
      4. 数据存储
      5. 处理过程
      6. 包括
    3. 概念结构设计
      1. 设计方法
        1. 自顶向下
        2. 自底向上
        3. 逐步扩张
        4. 混合策略
      2. 数据抽象与局部视图设计
        1. 三种抽象
          1. 分类
          2. 聚集
          3. 概括
        2. 流程
          1. 选择局部应用
          2. 逐一设计分E-R图
      3. 视图的集成
        1. 两种方式
          1. 多个分E-R图一次集成
          2. 逐步集成,用累加的方式一次集成两个分E-R图
        2. 合并冲突
          1. 属性冲突
          2. 属性域冲突
          3. 属性取值单位冲突
          4. 命名冲突
          5. 同名异义
          6. 异名同义
          7. 结构冲突
          8. 同一对象在不同应用中具有不同的抽象
          9. 同一实体在不同局部视图中所包含的属性不同
          10. 联系冲突
    4. 逻辑结构设计
      1. 三个步骤
        1. 将概念结构转换为一般的关系、网状、层次模型
        2. 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换
        3. 对数据模型进行优化
          1. 确定数据依赖
          2. 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系
          3. 考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式
          4. 数据模型的优化
          5. 对关系模式进行必要分解,提高数据库操作的效率和储存空间的利用率
      2. 设计用户子模式
        1. 使用更符合用户习惯的别名
        2. 可以对不同级别的用户定义不同的view以保证系统的安全性
        3. 简化用户对系统的使用
    5. 数据库物理设计
      1. 步骤
        1. 确定数据库的物理结构
        2. 对物理结构进行评价,重点是时间和空间效率
        3. 评价结果满足原设计要求则可进入到物理实施阶段
      2. 设计原则
        1. 事务响应时间小
        2. 存储空间利用率高
        3. 事务吞吐率大
      3. 数据库查询事务
        1. 查询的关系
        2. 查询条件所涉及的属性
        3. 连接条件所涉及的属性
        4. 查询的投影属性
      4. 存取方法
        1. 索引方法--B+树
        2. 聚簇方法
        3. HASH方法
      5. 确定存储结构
        1. 确定数据的存放位置和存储结构
        2. 确定系统配置
        3. 确定数据库物理结构
      6. 评价物理结构
        1. 评价方法
          1. 存储空间
          2. 存取时间
          3. 维护代价
    6. 数据库的实施
      1. 数据的载入和应用程序的调试
      2. 数据装载
      3. 编制与调试应用程序
    7. 数据库的试运行
      1. 功能测试:实际运行应用程序
      2. 性能测试:测量系统的性能指标
      3. 数据的分期入库
      4. 数据库的转储和恢复
    8. 数据库的运行和维护
      1. 数据库的重组织
        1. 重组织工作
          1. 重新安排存储位置
          2. 回收垃圾
          3. 减少指针链
      2. 数据库的重构造
        1. 增加新的应用或新的实体
        2. 取消某些已有应用
        3. 改变某些已有应用