易学笔记-系统分析师考试-第5章 数据库系统/5.4 数据库控制功能/5.4.3 数据库的完整性

  • 完整性约束条件

概念:是指数据库中数据本身的某些语法或者语义限制、数据之间的逻辑约束以及数据变化时应该遵守的规则等

约束表达形式:通常以谓词逻辑形式表示:原子公式、命题连接词(并且、或者、否则等)

约束对象:关系、元组、属性

约束分类

静态约束

概念:数据库中数据本身的某些语法或者语义限制、数据之间的逻辑约束

分类:

静态属性级约束

数据格式约束

对取值范围约束

取值集合约束

对空值约束

静态元组约束

静态关系约束

实体完整性约束

参照完整性约束

函数依赖约束

统计约束

动态约束

概念:数据变化时遵守的规则

分类

动态属性级约束

修改属性定义约束

修改属性值约束

动态元组约束

动态关系约束

  • 实体完整性:要求主键中的任一属性不能为空
  • 参照完整性

概念:关系R(被参照关系)的主键FK是关系S(参数关系)中主键PK的一部分或者全部,也即是S中某主键的取值必须在R中存在

举例:

关于参照完整性删除方式:

级联删除:将R中要删除的记录对应的主键值也在S中执行删除,如果S中还有外键也同样进行级联操作

受限删除:这是系统默认删除方式,让S中没有任何元组的外键值等于R中要删除的主键值时,系统才允许删除

置空删除:把S中相应外键值置为空,然后删除被参数关系的元组

关于参照完整性插入方式:

受限插入:当R中存在相同的元组时才允许在S中插入

递归插入:先往R中插入值再向S中插入对应值

  • 用户定义的完整性

概念:用户定义的完整性是针对某一个具体数据库的约束性

分类

立即执行约束:一条语句执行完成后立即检查

延迟执行约束:整个事务执行结束后再进行检查

定义完整性的五元组(D,O,A,C,P)

D:表示约束的对象

O:触发的数据库操作

A:对象必须满足的语义条件

C:A对应的谓词

P:违反完整性规则时触发的过程

  • 触发器

概念:一个事件的发生必然触发另外一个事件的发生,前一个事件为触发事件,后一个事件为结果事件

作业过程:一般为数据的插入、修改、删除操作

优点:除了保证完整性之外,还有安全性保护功能

猜你喜欢

转载自blog.csdn.net/u011830122/article/details/84423726