数据库——完整性

本文详细介绍了数据库的完整性,包括完整性概述、实体完整性、参照完整性和用户定义的完整性。讨论了完整性约束的分类,DBMS如何支持完整性,以及完整性和安全性之间的区别。此外,还阐述了实体完整性的SQL实现、参照完整性的违约处理,以及用户定义的完整性,如域约束和断言。最后,探讨了触发器在维护数据库完整性方面的作用。
摘要由CSDN通过智能技术生成

目录

一、完整性概述

1.1约束分类

1.2 DBMS对完整性的支持

1.3完整性和安全性区别

1.4完整性约束命名

二、实体完整性

2.1 SQL中的实体完整性

2.2检查和违约处理

三、参照完整性

3.1违反参照完整性的更新

3.2 SQL中的参照完整性

四、用户定义的完整性

4.1域约束

4.2断言

五、触发器

5.1定义触发器

5.2激活触发器

5.3删除触发器


一、完整性概述

数据库的完整性是指数据库中数据的正确性、一致性、相容性

  • 正确性:保证进入数据库的数据是符合语义约束的合法数据
  • 一致性:保证数据之间的逻辑关系是正确的,对数据库更新时,数据库从一个一致状态到另一个一致状态
  • 相容性:同一个事实的两个数据应当是一致的

1.1约束分类

完整性约束分类

约束类型

含义

类型/域约束

说明给定类型的合法取值

用户自定义的完整性

属性约束

说明属性的合法取值

用户自定义的完整性

关系约束

说明关系的合法取值

实体完整性/用户自定义的完整性

数据库约束

说明数据库的合法取值,通常涉及多个关系

参照完整性/用户自定义的完整性

从约束的状态的角度考虑

  • 静态约束:关于数据库正确状态的约束
  • 动态约束:数据库从一种正确状态转移到另一种状态的转移约束

 

1.2 DBMS对完整性的支持

  • 提供定义完整性约束条件的机制
  1. 完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件
  2. SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性
  3. 一般由SQL的数据定义语言语句来实现
  • 提供完整性检查的方法
  1. 数据库管理系统中检查数据是否满足完整性约束条件的机制称为完整性检查
  2. 一般在 insert、update、delete语句执行后开始检查,也可以在事务提交时检查
  • 违约处理
  1. 数据库管理系统若发现用户的操作违背了完整性约束条件,就采取一定的动作
  2. 拒绝(no action)执行该操作
  3. 级连(cascade)执行其他操作

 

1.3完整性和安全性区别

  • 数据的完整性
  1. 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据
  2. 防范对象:不合语义的、不正确的数据
  • 数据的安全性
  1. 保护数据库 防止恶意的破坏和非法的存取
  2. 防范对象:非法用户和非法操作

 

1.4完整性约束命名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值