数据库系统概述
结构
三级模式结构
- 外模式 用户的数据视图,与某应用有关的数据逻辑表示
- 模式 数据的逻辑结构和特征的描述
- 内模式 数据物理结构和存储方式的描述
组成
硬件平台及数据库
软件
人员
-
DBA
- 决定数据库中的信息内容和结构
- 决定数据库的存储结构和存储策略
- 定义数据的安全性要求和完整性约束条件
- 监控数据库的使用和运行
- 数据库的改进重组重构
-
系统分析员和数据库设计人员
-
应用程序员
-
用户
特点
数据结构化
数据共享性高冗余度低且易扩充
数据独立性高
- 数据独立性
- 物理独立性
- 逻辑独立性
数据由数据库管理系统统管理和控制
-
数据控制功能
- 数据安全性保护
- 数据完整性检查
- 并发控制
- 数护库恢复
一.数据模型
二.关系数据理论
数据依赖
函数依赖
多值依赖
-
定义
-
性质
- 对称性
- 传递性
- >函数依赖
- 有效性与属性值范围有关
公理系统
自反律
增广律
传递律
范式
1NF
2NF
3NF
- BCNF
4NF
三.数据库设计
1.需求分析
数据字典
2.概念结构设计
E-R图
-
实体之间的联系
-
两个
- 一对一
- 一对多
- 多对多
-
两个以上
-
单个
-
-
实体内部的联系
冲突
- 命名
- 结构
- 属性
3.逻辑结构设计
向关系模式的转变
-
一个实体型
- 一个关系模式
-
实体型间的联系
- 1:1
-
独立的关系模式
-
+与联系相连的实体的码+联系本身的属性
- 各实体的码
-
-
与任意一端对应的关系模式合并
- +另一个关系模式的码+联系本身的属性
-
1:n
-
独立的关系模式
-
+与联系相连的实体的码+联系本身的属性
- n端实体的码
-
-
与n端对应的关系模式合并
-
m:n
-
-
三个或三个以上
- 具有相同码的关系模式
4.物理结构设计
5.数据库实施
6.数据库运行和维护
四.数据库恢复技术
事务
基本概念
- BEGIN TRANSACTION
- COMMIT ROLLBACK
ACID特性
- 原子性
- 一致性
- 隔离性
- 持续性
故障的种类
事务内部的故障
- 反向扫描 逆操作
系统故障
-
正向扫描
-
重做队列
- 正向扫描 重新登记
-
撤销队列
- 反向扫描 逆操作
-
介质故障
- 重装数据库 重做已完成的事务
计算机病毒
恢复的实现技术
建立冗余数据
数据转储
- 动态 静态 X 海量 增量
登记日志文件
-
格式
- 以记录为单位
- 以数据块为单位
-
内容
-
日志文件
- 事务开始标记
- 事务结束标记
- 所有更新操作
-
日志记录
- 事务标识
- 操作类型
- 操作对象
- 更新前数据旧值
- 更新后数据新值
-
-
作用
- 事务故障恢复和系统故障恢复必用
- 动态转储方式必用
- 静态-可用
-
登记
- 登记的次序严格按并发事务执行的时间次序
- 先写日志文件,后写数据库
恢复策略
数据库镜像
五.并发控制
并发操作带来的数据不一致性
丢失修改
不可重复读
读脏数据
并发控制的主要技术
封锁
类型
- 排他锁(写锁)
- 共享锁(读锁)
协议
- 一级
- 二级
- 三级
问题
-
活锁
- 先来先服务
-
死锁
-
预防
- 一次封锁法
- 顺序封锁法
-
诊断与解除
- 超时法
- 等待图法
-