数据库完整性概念

数据完整性

数据完整性(DB Integrity)是指DBMS应保证的DB的一种特性——在任何情况下的正确性、有效性和一致性

广义完整性:语义完整性、并发控制、安全控制、DB故障恢复等

狭义完整性:专指语义完整性,DBMS通常有专门的完整性管理机制与程序来处理语义完整性问题

关系模型中的完整性要求:

  1. 实体完整性:一个关系当中,主键的任何一个部分不能为空
  2. 参照完整性:外键可以取空值,如果不取空值,那么一定取作为主键的那个表当中的某一个值
  3. 用户自定义完整性:语义完整性

为什么会引发数据库完整性问题

不正当的数据库操作,如输入错误、操作失误、程序处理失误等

数据库完整性管理的作用

  • 防止和避免数据库中不合理数据的出现
  • DBMS应尽可能地自动防止DB中语义不合理现象

DBMS怎样自动保证完整性

  • DBMS允许用户定义一些完整性约束规则(SQL-DLL)
  • 当有DB更新操作时,DBMS自动按照完整性约束条件进行检查,以确保更新操作符合语义完整性

完整性约束条件的一般形式

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

  • O:数据集合:约束的对象(列、多列(元组)、元组集合)
  • P:谓词条件:什么样的约束?
  • A:触发条件:什么时候检查?
  • R:响应动作:不满足时怎么办?
posted @ 2019-03-22 11:05  Velscode  阅读(3105)  评论(0编辑  收藏  举报