美文网首页
数据库的控制功能

数据库的控制功能

作者: 娇娇_5038 | 来源:发表于2024-11-10 14:42 被阅读0次

在DBS运行时,DBMS要对DB进行监控,以保证整个系统的正常运转,防止数据意外丢失和不一致数据产生。DBMS对DB的监控,称为数据库的控制,有时也称为数据库的保护。对数据库的控制主要通过4个方面实现:数据库的恢复、并发控制、完整性控制和安全性控制。每一方面都构成了DBMS的一个子系统。

  • 事务管理(ACID)属性
  • 故障恢复
  • 并发控制
  • 数据库的完整性
  • 数据库的安全性

事务管理(ACID)属性

  1. 事务(transaction)定义
  • 一个数据库操作序列,不可分割的工作单位(要么全做,要么全不做)
  • 事务时DBS运行的最小逻辑工作单位,是恢复和并发控制的基本单位
  • 事务以BEGIN TRANSACTION 语句开始,以COMMIT语句或ROLLBACK语句结束
    eg

设银行数据库中有一转账事务T

BEGIN TRANSACTION;
read(A);
A:=A-50
write(A);
if(A<0)
    ROLLBACK;
else
   {
read(B);
B:=B+50;
COMMIT;
    }

2.事务的ACID特性

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)
  1. 事务的状态及其转化


    1-5-1.png

故障恢复

  • 故障是不可避免的

    • 系统故障: 计算机软、硬件故障
    • 人为故障:操作员的失误、恶意的破坏等
  • 数据库的恢复
    把数据库从错误状态恢复到已知的正确状态(亦称为一致状态或完整状态),这部分主要内容: 故障分类和恢复,检查点技术,数据库镜像技术

  • 恢复操作的基本原理:冗余
    利用存储在系统其他地方的荣誉数据来重建数据库。

  • 建立冗余数据

    • 数据存储(backup)
    • 登录日志文件(logging)


  • 故障的种类

    • 事务内部故障
    • 系统故障:软故障
    • 介质故障:应故障
    • 计算机病毒:常导致数据不一致
      一、事务内部故障分类
  • 可预见

    • 通过事务程序本身可发现
  • 非预期(不能由应用程序处理)

    • 运算溢出
    • 并发事务发送死锁而被选中撤销盖事务
    • 违反了某些完整性限制等

注: 事务故障意味着事务没有达到预期的终点(COMMIT或ROLLBACK),数据库可能处于不正确的状态。恢复:撤销事务(UNDO),强行回滚。
二、 系统故障或软故障:是指造成系统停止运转的任何事件(硬件错误、操作系统故障、DBMS代码错误、系统断电),使得系统要重新启动

  • 故障时,事务未提交----强行撤销(UNDO)
  • 故障时,事务已提交,但缓冲区中的信息尚未写回到磁盘---重做(REDO)
    三、在发送介质故障(硬故障)和遭受病毒破坏时,磁盘上的物理数据遭到毁灭性破坏。此时,恢复的方法如下:
  • 重装转储的后备副本到新的磁盘,使数据恢复到转储时的一致状态
  • 在日志中找出转储以后所有提交的事务
  • 对这些已提交的事务进行REDO处理,将数据库恢复到故障前某一时刻的一致状态。
    注: 事务故障和系统故障的恢复由系统自动进行
    介质故障的恢复需要DBA配合执行
  • 利用日志进行故障恢复的两个问题
    1.搜索日志将耗费大量的时间
    1. REDO处理:重新执行,浪费了大量时间
      解决方案一 :
      具有检查点(checkpoint)的恢复技术
  • 在日志文件中增加检查点记录(checkpoint): 记录检查点时刻所有正在执行的事务清单
  • 增加重新开始文件: 记录各个检查点在日志文件中的地址

检查点技术
利用检查点恢复技术

  • 提高数据库科用性的解决方案---数据库镜像(Mirror)

    DBMS自动把整个数据库或其中的关键数据复制到另一个磁盘上、并保证镜像数据与主数据库的一致性,每当主数据库更新时,DBMS自动把更新侯的数据复制过去


数据库的控制主要通过四个方面实现:数据库恢复、并发控制、完整性控制和安全性控制。
事务的ACID特性:原子性、一致性、隔离性、持久性
事务的状态:活动状态,部分提交状态,失败状态、中止状态、提交状态
故障的种类及其恢复:事务内部故障、系统故障、介质故障、计算机病毒
计算机病毒具有检查点(checkpoint)的恢复技术:检查点记录、重新开始文件
数据库镜像

相关文章

  • Laravel 5框架学习之数据库迁移(Migrations)

    database migrations 是laravel最强大的功能之一。数据库迁移可以理解为数据库的版本控制器。...

  • [Laravel5.1教程]Laravel Migration基

    Laravel Migration 是 artisan的一个功能,可以理解成 数据库的版本控制

  • 关系数据库维护

    一 DBMS必须提供数据库的恢复、数据库的并发控制、数据库的完整性检查和数据库的安全性保护四个方面的功能。 数据库...

  • 生产环境数据库发布流程

    MySQL数据库安全权限控制管理 1.制度与流程控制 1.1 项目开发制度流程 开发环境 ---→功能测试---→...

  • 数据库-事务控制

    介绍一下DBMS的一个高级功能-事务控制。 事务控制是由多条sql语句构成,表示数据库一系列相关操作的集合。在sq...

  • 第 6 课 PostgreSQL 系统表介绍

    什么是系统表 在关系数据库中,为了实现数据库系统的控制,必须提供数据字典的功能。数据字典不仅存储各种对象的描述信息...

  • 【Android】数据库版本控制

    1.为什么使用数据库版本控制? 当应用被用户安装后,开发者在新版本功能研发过程过,对数据库的表执行新增、删除、修改...

  • Transaction

    事务 在实践开发中,控制数据库事务是一件非常重要的工作。将多条语句作为一个整体进行操作的功能,被称为数据库事务。M...

  • MySQL 安全机制

    MySQL 安全控制 DCL(Data Control Language 数据库控制语言) 用于数据库授权、角色控...

  • MySQL 安全机制

    MySQL 安全控制 DCL(Data Control Language 数据库控制语言) 用于数据库授权、角色控...

网友评论

      本文标题:数据库的控制功能

      本文链接:https://www.haomeiwen.com/subject/dhdrdjtx.html