DB恢复策略和完整性机制
![preview](https://dl-preview.csdnimg.cn/503339/0001-e80751f85bb0376e6bce87d4fd52d8da_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
【数据库恢复策略】 数据库恢复策略是确保数据库在遭遇各种故障后仍能保持一致性的重要机制。主要涵盖三种类型的故障恢复:事务故障、系统故障和介质故障。 1. **事务故障的恢复**: 当一个事务在完成之前被中断,称为事务故障。恢复过程包括反向扫描日志文件,找到该事务的所有更新操作,然后执行逆操作,即将日志记录中的“更新前的值”回写到数据库。对于插入操作,相当于删除;删除操作,相当于插入;修改操作,用“更新前的值”替换“更新后的值”。直到找到事务的开始标记,恢复过程结束。 2. **系统故障的恢复**: 系统故障可能导致数据库中存在未完成事务的更新和已提交事务的未持久化更新。恢复包括撤销未完成事务的更新(UNDO)和重做已完成事务的更新(REDO)。系统会正向扫描日志文件,分别构建需要UNDO和REDO的事务队列,然后依次处理这两个队列中的事务。 3. **介质故障的恢复**: 这种情况需要重新加载数据库,并可能涉及备份数据库副本和日志文件。首先,恢复到最近一次转储时的一致性状态,如果转储是动态的,还需要应用日志文件进行REDO和UNDO操作。接着,使用日志文件重做已提交的事务,确保数据库状态正确。 【数据库完整性机制】 数据库完整性是确保数据准确性和一致性的核心机制,分为以下几种类型: 1. **实体完整性**: 主键是确保实体完整性的关键,它不允许有空值,且在同一关系中主键值不能重复。这意味着每个主键属性都必须有唯一值,或者可以为NULL。 2. **参照完整性**: 引用其他表的外键确保了关系间的引用数据一致性。外键值要么为NULL,要么匹配参照表中某个主键值。参照完整性还定义了在参照表删除或更新数据时的行为,如NO ACTION、CASCADES(级联)、RESTRICTED(受限)、NULLIFIES(置空)或SET DEFAULT(设默认值)。 3. **用户定义的完整性**: 用户可以根据需求定义特定的约束,例如UNIQUE(唯一性)、NOT NULL(非空)和CHECK(检查)约束,以满足业务规则。 【SQL查询示例】: - 查询英语专业所有男生的姓名:`SELECT sname FROM student WHERE sdept="英语" AND ssex="男"` - 查询每个学生的姓名和平均分:`SELECT sname, AVG(grade) FROM student GROUP BY sno` - 查询选修课程名为“db”的所有学生的姓名和分数:`SELECT sname, grade FROM student, sc, course WHERE student.sno = sc.sno AND sc.cno = course.cno AND course.cname = "db"` - 查询平均成绩大于80分的学生姓名:`SELECT sname FROM student WHERE sno IN (SELECT sno FROM sc GROUP BY sno HAVING AVG(grade) > 80)` - 查询男生平均年龄大于20的院系名称:`SELECT sdept FROM student WHERE ssex = "男" GROUP BY sdept HAVING AVG(DATEDIFF(CURRENT_DATE, birthday)/365) > 20` 以上内容详细介绍了数据库恢复策略及其对不同故障类型的应对方法,以及数据库完整性机制的实现,包括实体完整性、参照完整性和用户定义完整性。同时,展示了几个SQL查询示例,用于演示如何从数据库中提取特定信息。这些知识对于理解和维护数据库系统的稳定性和数据准确性至关重要。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![slx](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/16480a20a7cf4a54be6d86ac44a03533_rensly.jpg!1)
- 粉丝: 2
- 资源: 9
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)