数据库系统

三级模式

三级模式

数据库设计过程

数据库

E-R 模型

 E-R 模型 实体与关系模式
1 对 1——至少有两种关系模式
1 对 多——职工与部门
多对多——学生与课程

Alt text 超键与候选键的区别:超键存在冗余

范式

Alt text 1NF 只包含原子值,每一个分量都是不可再分的数据项
2NF 当且仅当 R 是 1NF,且每一个非主属性完全依赖主键(不存在部分函数依赖)
3NF 当且仅当 R 是 2NF,且 E 中没有非主属性传递依赖于码(不存在部分函数依赖)
BCNF E 中每个依赖关系必定包含 E 的某个候选关键字 存在问题:数据冗余,插入异常,删除异常,更新异常

并发控制

Alt text 事务 把操作封装起来,看作一个整体,这些操作同时完成或同时失败。 可能出现的问题:

  1. 丢失更新
  2. 不可重复读
  3. 读“脏”数据

解决办法

  1. 一级封锁协议:事务 T 在修改数据 R 之前必须先对其加 X 锁,防止丢失修改
  2. 二级封锁协议:一级封锁协议加上事务 T 在修改数据 R 之前对其加 S 锁,读完后释放 S 锁,防止读“脏”数据
  3. 三级封锁协议:一级封锁协议加上事务 T 在修改数据 R 之前对其加 S 锁,事务结束才释放 S 锁,防止数据重复读

数据库安全

数据库安全

数据库备份与恢复

分类方式一

备份方式 特点 优点 缺点
冷备份(静态备份) 在数据库正常关闭的状态下将数据库的文件全部备份 速度快 不能按表或用户恢复
热备份(动态备份) 在数据库正常运行的状态下将数据库的数据文件备份 可实现恢复某一时间点恢复 不能出错

分类方式二

完全备份 备份所有数据
差量备份 仅备份上次完全备份后变化的数据
增量备份 备份上传备份后变化的数据

  1. 静态海量转储 系统无运行事务时,转储全部数据库
  2. 动态海量转储 系统运行事务时,转储全部数据库
  3. 静态增量转储 系统无运行事务时,转储上次更新的数据
  4. 动态增量转储 系统运行事务时,转储上次更新的数据