数据库完整性和分类


1.数据库完整性

  (1)数据库完整性:DBMS应保证的DB的一种特性--在任何情况下的正确性,完整性,一致性

  (2)广义完整性:语义完整性,并发控制,安全控制,DB故障回复

  (3)狭义完整性:专指语义完整性

  (4)关系模型完整性复习:实体完整性,参照完整性,用户自定义完整性

  (5)在后续数据库设计中,完整性约束条件的发现和构建是重要的一环

  (6)数据库完整性管理的作用

    1)防止和避免数据库中不合理数据的出现

    2)DBMS应尽可能地自动防止DB中语义不合理现象

2.DBMS如何保证数据库的完整性

  (1)通过DDL语言定义完整性约束规则

  (2)依照完整性约束规则(DBMS)形成完整性程序

  (3)用户进行操作时先通过完整性程序对操作进行检查,检查通过后才可以操作数据库

3.完整性约束规则的一般形式

  (1)Integrity Constraint  ::= (O, P, A, R)

  (2)解释 O:数据集合(约束的对象:列,元组,集合)

       P:谓词条件(什么样的约束)

       A:出发条件(什么时候检查)

       R:响应动作(不满足时怎么办)

4.数据库完整性的分类

  (1)按约束对象分类

    1)域完整性约束条件:施加于某一列上,对给定列所要更新的某一候选值是否可以进行约束条件判断,这是孤立进行的

    2)关系完整性约束条件:施加于关系/Table上,对候选元组是否可以进行约束条件判断,或对一个关系的若干元组和另一个关系中的若干元组间的联系是否成立进行约束条件判断

  (2)按约束来源分类

    1)结构约束:来自于模型的约束,例如函数依赖约束,主键约束(实体完整性),外键约束(参照完整性),是否允许空值

    2)内容约束:来自于用户的约束,例如用户自定义约束,关心元组或属性的取值范围(eg:Student中Sage是否在15-45之间)

  (3)按约束状态分类

    1)静态约束:要求DB在任何时候均应满足的约束,例如Person 中Age的大小范围只能在0-150之间,不允许其他数值

    2)动态约束:例如Teacher 中Salary 只能升不能降

相关