数据库的完整性和恢复技术

一。数据库的完整性

1实体完整性

主码不能为空,且唯一

2参照完整性

被参照表如student表 参照表如sc表 违约处理
可能破坏参照完整性                    ← 插入元组 拒绝(not action)
可能破坏参照完整性                     ← 修改外码值→ 拒绝
删除元组                                   → 可能破坏参照完整性 拒绝、级联删除(cascade)、设置为空
修改主码值                                  → 可能破坏参照完整性 拒绝、级联删除、设置为空null

3用户自定义完整性

1.列表非空

2.列表唯一值

3.check()短语(不带封号)

4.完整性约束命名子句

CONSTRAINT <完整性约束命名条件>[PRIMARY KEY短语 | FOREIGN KEY  语句| CHECK 短语]  没有封号

eg  CONSTRAINT C1 CHECK( AGE >30)

CONSTRAINT PK PRIMARY KEY (SNO)

ALTER TABLE STUDENT

DROP CONSTRAINT C1,

ADD CONSTRAINT C1 CHECK(AGE >30);

二数据库的恢复技术

1.事务的基本概念(TRANSACTION)

事务是用户自定义的一个数据库的操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。例如在数据库中,一个事务可以是一条SQL语句,一组SQL语句,或整个程序

事务特性:原子性,一致性,隔离性,持续性。

2.故障种类

事务内部故障:是一种非预期的故障,不能由应用程序处理的。它表示事务没有达到预期状态,恢复操作叫事务撤销。

系统故障:使得事务异常停止,恢复操作有,事务的撤销和重做。

介质故障:危害性大

计算机病毒:人为破坏。

3.恢复机制中一定的冗余数据利用数据库的恢复 建立冗余的常用技术是  数据转储和登陆日志文件。

时间: 2024-10-14 10:17:06

数据库的完整性和恢复技术的相关文章

数据库 chapter 10 数据库恢复技术

第十章 数据库恢复技术 介绍事务的基本概念和事务的性质,讲解数据库系统遇到故障后进行恢复技术和方法. 事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元,是一个不可分割的工作单位. 事务和程序是两个概念,一般来说,一个程序里面包含多个事务. 事务处理技术主要包括数据库恢复技术和并发控制技术. 事务具有四个特性:原子性(Atomicity).一致性(Consistency).隔离性(Isolation)和持续性(Durability),这四个特性简称为ACID特性. 原子性:事务时数据库的逻

专业Oracle数据库恢复技术支持

数据库作为企业的核心,如果数据库因损坏无法正常运行,导致数据丢失,将给企业带来无法挽回的经济损坏.当您的数据库出现故障,又没有有效的备份之时,我们就是您的最后一道防线,尽最大可能帮您挽救数据库,减少损失.我们有几百套Oracle数据库恢复经历:版本从ORACLE 7.3.ORACLE 8/8I,ORACLE 9I.ORACLE 10G,ORACLE 11G和ORACLE 12C:平台有Linux.Windows.AIX.HP-UNIX.SOLARIS等:客户从西藏到海南,从黑龙江到贵州遍布中国所

MySql学习(六) —— 数据库优化理论(二) —— 查询优化技术

逻辑查询优化包括的技术 1)子查询优化  2)视图重写  3)等价谓词重写  4)条件简化  5)外连接消除  6)嵌套连接消除  7)连接消除  8)语义优化 9)非SPJ优化 一.子查询优化 1. 什么是子查询:当一个查询是另一个查询的子部分时,称之为子查询. 2. 查询的子部分,包含的情况: a) 目标列位置:子查询如果位于目标列,则只能是标量子查询,否则数据库可能返回类似“错误:子查询只能返回一个字段 ( [Err] 1242 - Subquery returns more than 1

SQL数据库文件如何进行恢复

MS Sql Server数据库因其使用方便.易于操作的特点,是最为广泛是用的数据库类型之一,尤其是中小型企业及个人的首选.一般情况下,由于数据文件的破坏,造成数据库无法正常工作,症状现象通常是:在附加数据库时,出现错误代码823错误,在这种情况下,SQL数据库数据恢复显然是重中之重. 一般而言,我们有三种最常见的方式方式恢复sql数据库. 第一是手动找回. 这对懂电脑技术的人而言,可能是最为简单的一种方式,通常需要不到五分钟便可以搞定,但对于没有什么电脑基础的人来说,不要轻易去尝试,以免造成数

通过拼数据库碎片的方式恢复虚拟机磁盘文件丢失问题

背景概述 由于服务器突然断电,造成我公司Xen Server服务器中一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘文件丢失.硬件环境是Dell 720服务器配戴一张H710P的RAID卡,由4块希捷2T STAT硬盘组成的RAID 10,上层环境是Xen Server 6.2版本操作系统,虚拟机是Windows Server 2003系统,10G系统盘 + 5G数据盘两个虚拟机磁盘,上层是Web服务器(ASP + SQL 2005的网站架构).通过电话联系到北亚数据恢复中心进行恢复,

sql2000数据库误删除后自行恢复二次覆盖成功恢复

sql2000数据库误删除后自行恢复二次覆盖成功恢复 [数据恢复故障描述] 今天接到一个客户电话,他的速达sql2000数据库,数据库误删除了,关键之前还没有备份过.他就想自己尝试恢复,使用网上下载的恢复工具恢复出一些数据之后,本来数据库在E盘,结果他又将恢复的数据保存在了E盘,造成了二次覆盖.结果数据库附加不上,他才意识到事情的严重性,联系到我们. 错误如图下图: [数据恢复解决方案] 工程师使用自主研发的数据库恢复软件,手工提取碎片,进行数据库碎片重组与恢复软件远程恢复成功! [数据库修复结

MySQL数据库删除后的恢复工作

上午不小心把昨天刚刚建好的一个数据库删了个精光!幸好mysql中开启了日志功能. 下面总结一下数据库删除后的恢复方法: 首先:将最近的二进制类型的日志文件存成文本文件导出,命令如下: mysqlbinlog  F:/wamp/mysql-bin.000045  > F:/test.txt 其次:打开保存的txt文件,文件格式如下: 其中at 1099代表第1099个命令(姑且这么记),查询这些命令,看看你需要回复的命令在什么地方,然后执行命令. 最后:执行回复命令,如下: mysqlbinlog

MySQL数据库-完全备份及恢复

MySQL数据库-完全备份及恢复 数据库备份的分类 物理角度: 冷备份:也称脱机备份,特点:关掉数据库再备份 热备份:也称联机备份,特点:开启数据库再备份 温备份:数据库只有可读权限的状态下备份 逻辑角度: 对数据库的对象的备份,例如数据表,及数据表中的一些sql语句等 备份策略角度: 完全备份:每次对数据进行整体的备份 差异备份:在第一次完整备份a数据后,以后的每次的备份是a+b,b就是针对于a数据发生变化的数据,称之为'差异数据'.缺点:b的数据内存会越来越大b+=b,导致数据恢复缓慢.恢复

中小型数据库 RMAN CATALOG 备份恢复方案(二)

中小型数据库呈现的是数据库并发少,数据库容量小,版本功能受限以及N多单实例等特点.尽管如此,数据库的损失程度也会存在零丢失的情形.企业不愿意花太多的钱又要保证数据库的可靠稳定,可是苦煞了我这些搞DB的.接上一篇文章,中小型数据库 RMAN CATALOG 备份恢复方案(一),我们继续来给出基于中小型数据库的恢复的脚本与其部署. 1.RMAN还原shell脚本 [python] view plain copy print? --下面的shell脚本用于实现数据库的自动还原,还原成功后,数据库被关闭