【梳理】数据库系统概论 第5章 数据库完整性 5.1 实体完整性 5.2 参照完整性 5.3 用户定义的完整性 5.4 完整性约束命名子句 5.6 断言 5.7 触发器

数据库完整性涉及实体完整性、参照完整性和用户定义完整性,确保数据的正确性和相容性。实体完整性规定主属性不能为空,参照完整性通过外键维护表间关系,用户定义完整性允许自定义约束条件。完整性检查在增删改操作后进行,违约处理通常拒绝执行或级联执行。主键和外键通常伴随索引以提高效率,而触发器和断言提供更复杂的规则执行。

教材:王珊 萨师煊 编著 数据库系统概论(第5版) 高等教育出版社
注:文档高清截图在后

第5章 数据库完整性

数据库的完整性(integrity)是指数据的正确性(correctness)和相容性(compatibility)。正确性指数据符合现实语义、反映实际状况的;相容性指数据库的同一对象在不同关系表中的数据符合逻辑。例如:某网站要求每个用户的注册邮箱必须唯一;“是否参加过ICPC / CCPC / CTF”只能取是或否;被“过柱子”的样品必须是实验室中存在的样品;获取某软件的学生授权的用户必须是在读大学生等等。
数据库的完整性和安全性是部分重叠的概念。保证数据的完整性,是指防止数据库中存在不符合语义(不正确)的数据;保证数据的安全性,是指保护数据库不被破坏和非法存取。
为维护数据库的完整性,DBMS至少要实现如下功能:
1、提供定义完整性约束条件的机制。
SQL的数据定义语言可以定义实体完整性、参照完整性和用户定义完整性,它们将作为数据库模式的一部分存入数据字典。
2、提供完整性检查的方法。
一般在执行增删改的语句后检查,也可以在事务提交(将对数据库的修改正式回写到硬盘的物理数据库中)时检查。
3、违约处理。
DBMS发现违背完整性约束条件的操作时,需要采取一定动作,如拒绝执行或级联执行,保证数据完整性。
目前商用的关系数据库产品都支持完整性控制,DBMS直接负责而不必由应用程序完成,减轻应用程序编写者的负担。更重要的是,关系数据库管理系统(RDBMS)使完整性控制成为了核心功能,从而能为所有用户和应用提供一致的完整性。如果由应用程序的编写者各自实现完整性控制,很可能存在各种漏洞,且有的程序定义的完整性约束可能被其它程序破坏,数据的正确性仍然无法保证。

5.1 实体完整性

1、回忆:2.3 关系的完整性 实体完整性规则 若属性(一个或一组)A是基本关系R的主属性,则A不能为空(null)。空值就是不知道、不存在或无意义(未定义)的值。
关系模型的实体完整性在创建表时用PRIMARY KEY定义,可以定义为列级约束也可以定义为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值