软考-中级数据库系统分析师-09 大题讲解
2023-05-17
常考大题点
- 数据库恢复(检查点)
- E-R图
- 关系规范化
- SQL
- 两段锁协议
数据库恢复
解题思路:
- 找到checkpoint
- 观察检查点之前有start标志的事务
- 将这些事务分成三类
- 在检查点之前提交(commit或rollback)的事务:已经正常结束,并不是活动事务,不用做任何操作
- 检查点之后提交的事务:redo
- 检查点之前和之后都没有提交的事务:undo
E-R图
常考:
- 两方联系,句式AB,BA
- 三方联系,句式AB,BC
- 弱实体:一个实体必须以另一个实体为前提
- 聚合:将联系作为实体,与其他的实体产生联系。如A和B先产生联系,联系本身再和C产生联系,需要用方框把A,B和联系框起来。(与三方联系有区别,三方联系需要三者同时参与)
- 子实体
补充ER图,思路:
- 重点看需求描述
- 没描述清楚的,可以参考下面的逻辑结构设计
描述完整性约束:就是指出主键、外键
关系规范化
常考:
- 找候选码:任何真子集不能单独决定全属性
- 是否满足某一范式,最高达到第几范式
- 非主对码的部分函数依赖
- 非主对码的传递函数依赖
- 主对码的部分和传递函数依赖
- 有多值依赖的,比如X->->Y,X和Y必须在一个关系模式中,且只有它俩在。不然不满足。不满足的原因可以这么写:由于存在嵌入式的多值依赖
- 分解关系模式
做题方法:
- 找函数依赖集
- 找候选码,确定非和主属性
- 判断部分和传递依赖
- 确定第n范式
- 分解关系模式(根据函数依赖集来分解,一个依赖的左右都要放在同一个子关系模式)
SQL
主要考察建表,select语法等
两段锁协议
注意;对同一事务在读写前必须对数据加锁,释放一个锁之后,就不能申请和获取任何锁
采取什么措施来解决死锁问题:
- 死锁预防
- 死锁避免
- 死锁检测
- 死锁解除