LYNX

Links

Tags

Categories

数据库复习提纲

1 数据库系统概述

1.1 基本概念

  • 数据库,数据库管理系统,数据库系统,数据库管理员(相互之间的关系)

1.2 数据库系统的特点

  • 数据集成化,数据独立性,数据共享,数据冗余,数据安全性,完整性和一致性,并发控制和故障恢复

1.3 数据库内部结构体系

  • 数据模式
  • 三级模式,二级映射
  • 三级模式与数据独立性关系

2 数据模型

2.1 数据模型的基本概念

  • 数据模型及其组成成分:数据结构,数据操作,数据约束
  • 数据模型的核心,不同类型数据模型的区分依据
  • 三个抽象层次上的数据模型概念:概念数据模型,逻辑数据模型,物理数据模型

2.2 数据模型的四个世界

  • 现实世界,概念世界,信息世界,计算机世界

2.3 概念世界与概念模型

  • E-R模型与E-R图(包括扩充E-R模型)
    • 实体,属性,联系
    • 多值属性,组合属性
    • 联系上的函数对应关系,参与方式
    • IS-A联系,弱实体
  • 面向对象模型:对象,对象标识符,类,方法,超类和子类,聚合和分解,继承和合成

2.4 信息世界和逻辑模型

  • 关系模型:关系,属性,值域(域),元组,关系数据库,关键字

2.5 计算机世界与物理模型

  • 逻辑模型的物理存储:项,记录,文件,索引,集簇
  • 提高文件访问效率的常用方法:索引,集簇,hash

3 关系数据库系统

3.1 关系数据库系统概述

3.2 关系数据库系统的衡量准则

  • 完全关系型的十二条衡量准则
  • 空值(NULL)的定义

3.3 关系代数

3.3.0 关系模型(概念)

  • 关系数据结构
    • 表结构(表头):表框架,表的元数与基数
    • 关系:关系的性质
    • 关键字:候选关键字,主关键字,外关键字
    • 关系数据库:关系子模式-视图(view)
  • 关系操纵
    • 数据查询:两个关系的合并,单个关系内的元组选择,单个关系内的属性指定
    • 元组的删除,插入,修改
    • 空值的处理
  • 关系中的数据约束
    • 实体完整性约束,参照完整性约束,用户定义的完整性

3.3.1 关系的表示

  • 关系的表示,笛卡尔乘积

3.3.2 关系操纵的表示

  • 关系代数中的五种基本运算:选择,投影,笛卡尔积,并,差(注意执行条件)

3.3.3 关系模型与关系代数

3.3.4 关系代数中的扩充运算

  • 交,除法,联接,自然联接,$\theta$-联接
  • 扩充运算与基本运算之间的关系

3.3.5 关系代数的应用

3.3.6 关系演算

  • 原子公式,公式的定义
  • 基于关系演算的数据查询表示:单表查询,多表连接查询,复杂查询的表示

3.4 关系数据库语言SQL

3.4.1 SQL概貌

  • SQL的基本概念与使用方式:表,行,列

3.4.2 数据定义功能

3.4.3 数据操纵功能

  • SQL语言与关系代数的关系
  • 基本查询功能:distinct,like,is null,多表联接查询,表的自联接查询
  • 嵌套查询:in,some/any/all,exists等谓词,相关子查询与独立子查询
  • 子查询的合并:union/intersect/except [all]
  • 统计查询(group by,having):统计与分组统计查询,空值与空集在统计函数中的处理方法
  • 复杂数据查询
  • 查询结果输出
    • 结果元组去重:distinct
    • 结果元组排序:order by

3.4.4 更新功能

  • 元组删除
  • 元组插入:常量元组的插入,带子查询的元组插入
  • 元组修改

3.4.5 视图

  • 视图概念,视图与基表的区别
  • 视图的创建与删除
  • 视图的嵌套定义
  • 视图删除中的连锁反应
  • 可更新视图的判断准则
  • 视图的作用

4 数据库的安全性与完整性保护

4.1 数据库的安全性保护

  • 数据库安全的基本概念与内容:主体,客体,身份标识与鉴别,自主访问控制,审计
  • SQL对数据库安全的支持
    • SQL中的存储权限
    • SQL中的授权命令grant和权限回收命令revoke

4.2 数据库的完整性保护

  • 数据库完整性保护的功能:目的与常用实现措施
  • 实体完整性,参照完整性,用户定义完整性
  • 完整的create table命令
    • 基表的创建
    • 完整性约束的定义:主关键字,外关键字,check约束,unique,not null,default
  • 触发器及其创建命令

5 事务处理,并发控制与故障恢复技术

5.1 事务处理(概念)

  • 事务的定义与ACID性质
  • 事务活动及其状态转换图
  • 事务控制及相关的参数设置语句:事务的提交与回滚,事务的读/写类型与隔离级别
  • 事务的语句组成成分

5.2 并发控制技术(概念)

  • 事务
    • 事务的并发性,并发控制
    • 调度,串行调度,可串行化调度,冲突与冲突可串行化,视图可串行化
    • 冲突可串行化的判定方法
    • 不正确的事务所导致的数据不一致现象:丢失修改(lost-update),脏读(dirty-read),不可重复读(unrepeatable-read)
  • 封锁
    • 共享锁(S锁),排它锁(X锁),锁相容矩阵,锁申请/锁释放算法
    • 基于封锁技术的并发控制实现方法
      • 三级封锁协议,三级封锁协议与数据不一致现象之间的关系
      • 两阶段封锁协议
      • 两阶段封锁协议与冲突可串行化的关系
  • 多粒度封锁
    • 封锁粒度/并发度/并发控制实现开销之间的关系
    • 多粒度树,多粒度封锁
    • 基于意向锁的多粒度封锁协议
      • 意向锁:IS,IX,SIX
      • 意向锁锁相容矩阵
      • 意向锁锁申请/释放算法
  • 死锁的监测与预防
    • 死锁,活锁
    • 死锁的检测及其处理办法
      • 等待图法
      • 超时死锁检测法:锁申请等待超时,事务执行超时
      • 时间戳死锁检测法

5.3 数据库恢复技术

  • 数据库恢复的含义,方法和常用措施
  • 数据库故障的分类
  • 数据库故障恢复三大技术:数据转储,日志,数据库镜像
  • 数据转储:静态转储/动态转储,海量转储/增量转储
  • 日志
    • 日志的内容,组成,作用与记载原则
    • 在日志中设置检查点的作用
    • 事务的撤销(undo)与重做(redo)
    • undo日志
    • redo日志
    • undo/redo日志
    • 3种日志的优缺点
  • 恢复策略:小型/中型/大型故障的恢复策略

6 7

游标管理

  • 游标的作用
  • 游标的定义,打开,使用,关闭
  • 可滚动游标的定义及其在数据更新命令中的使用

索引

  • B+索引的数据结构,搜索算法

8 关系数据库规范化理论

8.1 概述

  • 模式设计质量的评级指标:数据冗余度,插入/删除等更新异常
  • 为什么要研究关系的规范化设计:规范化的目的与手段

8.2 规范化理论

8.2.1 函数依赖(FD)

  • 函数依赖的定义
  • 如何寻找函数依赖:函数依赖与数据完整性约束的关系
  • 完全/部分FD,平凡/非平凡FD,直接/传递FD
  • Armstrong公理系统:3条基本原则+3条扩充原则
  • 基于函数依赖的关键字定义
  • 属性集闭包的计算算法
  • 关键字的计算算法

8.2.2 与函数依赖有关的范式

  • 范式定义:1NF,2NF,3NF,BCNF
  • 理解各级范式与数据冗余度,插入/删除异常的关系

8.2.3 多值依赖与第四范式

  • 多值依赖,平凡多值依赖,非平凡多值依赖
  • 多值依赖与函数依赖的关系
  • 4NF

8.3 规范化所引起的一些问题

  • 函数依赖的逻辑蕴含,函数依赖集的等价
  • 最小函数依赖集及其判定方法
  • 最小函数依赖集的计算算法
  • 模式分解的无损联结性,依赖保持性及其判定方法
  • 直接到3NF且满足无损联结性和依赖保持性的模式分解算法
  • 从3NF到BCNF,4NF的分解方法

9 数据库设计

9.1 数据库设计概述

9.2 数据库设计的需求分析

9.3 数据库的概念设计

9.4 数据库的逻辑设计

9.5 数据库的物理设计

Tags

Categories

1 / 1