【数据库系统概论】-数据库完整性

数据库的完整性是指数据的正确性和相容性。

数据库的完整性和安全性是两个不同的概念:数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。数据的安全性是保护数据库防止恶意的破坏和非法的存取。因此,完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。


1、提供定义完整性约束条件的机制

实体完整性、参照完整性和用户定义完整性。一般由SQL的DDL语句来实现。

2、提供完整性检查的方法

一般在更新语句执行后开始检查,也可以在事物提交时检查。检查这些操作执行后数据库中的数据是否违背了完整性约束条件。

3、违约处理

DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作,如拒绝执行、或级联执行等操作,进行违约处理以保证数据库的完整性。

实体完整性

实体完整性定义

关系模型的实体完整性是在CREATE TABLE中用PRIMARY KEY 定义。一种是定义为列级约束条件,另一种是定义为表级约束条件。

列级约束条件: <属性列名> <数据类型> PRIMARY KEY

表级约束条件: PRIMARY KEY (<属性列名>)

实体完整性检查和违约处理

1、检查主码值是否唯一,如果不唯一则拒绝插入或修改;

2、检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。

RDBMS核心一般都在主码上自动建立一个索引,这样将大大提高效率。

参照完整性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值