数据库系统概论 第五章 数据库完整性(1)属性上的用户定义完整性 定义方法 检查时机 违约处理 元组上的用户定义完整性 定义方法,检查实际 ,违约处理元组上的约束条件

关注公众号凡花花的小窝,收获更多的考研计算机专业编程相关的资料
第二十一讲 数据库的安全性
数据库完整性
数据的正确性
是指数据是符合现实世界的语义,反映了当前实际的状况
例如:
学生学号必须唯一
性别只能是男或者女
成绩的取值范围是0-100
数据的相容性
是指数据库的同一对象在不同的关系表中的数据是符合逻辑的,
例如
学生所选的课程必须是学校开设的课程
学生所在的院系必须是学校已经成立的院系
数据库的完整性
数据的正确性和相容性

数据的完整性和安全性是两个不同概念
数据的完整性
防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据
防范对象:不合语义的、不正确的数据
数据的安全性
保护数据库防止恶意的破坏和非法的存取
防范对象:非法用户和非法操作

完整性是组织合法用户通过合法操作向数据库中加入不正确的数据
安全性防范是指非法用户和非法操作存取数据库中的正确数据

为了维护数据库的完整性,数据库管理系统必须:
1.提供定义完整性约束的条件的机制
完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件
sql标准使用了一系列的概念来描述完整性,包括关系模式的实体完整性,参照完整性和用户定义完整性
这些完整性一般是由SQL的数据定义语言语句来实现的。

2.提供完整性检查机制
数据库管理系统中检查数据是否满足完整性约束条件,称为完整性检查
一般在INSERT,UPDATE,DELETE语句执行后开始检查,也可以在事务提交的时候检查

为维护数据库的完整性,DBMS必须:
1.提供定义完整性约束条件的机制
2.提供完整性检查的方法
3.违约处理

3.违约处理
数据库管理系统如果发现用户的操作违背了完整性约束条件,就采取一定的动作
拒绝No action执行该操作
级联CASCADE执行其他的操作
由DBMS进行完整性检查的好处
不必由应用程序来完成从而减轻了应用程序的分担,

你可能感兴趣的:(数据库系统概论 第五章 数据库完整性(1)属性上的用户定义完整性 定义方法 检查时机 违约处理 元组上的用户定义完整性 定义方法,检查实际 ,违约处理元组上的约束条件)