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

本文详细介绍了数据库完整性,包括实体完整性、参照完整性和用户定义完整性,以及完整性检查和违约处理。实体完整性通过主键定义,参照完整性通过外键确保,用户定义完整性允许自定义约束。触发器作为更灵活的数据控制手段,能够在特定事件触发时执行预定义的操作,增强数据库的完整性控制。
摘要由CSDN通过智能技术生成

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

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


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

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

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

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

3、违约处理

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

实体完整性

实体完整性定义

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

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

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

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

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

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

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

参照完整性

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值