模式分解
是否保持函数依赖
是否能复原为原本的函数依赖
- 冗余依赖不进行推导
是否无损
分解后是否能还原
- 还原必须包括同名属性列
- 同名属性列是决定属性
表格法
有一行全为钩的就认为还原
公式法
交集推差集
只适用于两个表
R = ABC
F = {A->B}
分解 = {R1(AB),R2(AC)}
R1 ∩ R2 = A
R1 - R2 = B
R2 - R1 = C
得出 A->B 和 A->C
其中 A->B 满足原本的函数依赖,所以无损
并发控制
事务 ACID
- 原子性
- 一致性
- 隔离性
- 持久性
产生的并发问题
- 丢失更新 一级封锁协议预防 加写锁
- 脏读 二级封锁协议预防 加读锁,读取完毕释放
- 不可重复读 三级封锁协议预防 加读锁,事务完毕后释放
安全性
- 用户标识与鉴定
- 存取控制(权限控制)
- 密码存储与传输
- 视图的保护
- 审计
数据备份
- 完全备份
- 增量备份:比上次备份增加的内容
- 差量备份:比上次完全备份增加的内容
故障与恢复
- 事物本身的可预期故障
- 事务本身的不可预期故障
- 系统故障 ,扫描检查点,已提交的事务 放入 redo,未完成 undo 撤销
- 介质故障
数据库优化
- 硬件, CPU、内存、硬盘等
- 系统软件,各种参数,进程优先级
- 数据库设计
- 表与视图,规范化与反规范化
- 索引,提高查询效率,减少插入修改删除效率
- SQL语句,各类操作
- 应用软件,连接池
- 分布式数据库-通信代价