1 / 29
文档名称:

10_数据库完整性.ppt

格式:ppt   页数:29页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

10_数据库完整性.ppt

上传人:wh7422 2015/8/19 文件大小:0 KB

下载得到文件列表

10_数据库完整性.ppt

相关文档

文档介绍

文档介绍:数据库完整性
单世民
数据库完整性
数据库的完整性是指数据库的正确性和相容性 例如: 性别只能为男或女;本科生的年龄取值范围为14~30岁;学生所在的系必须为学校已开设的系。
完整性是为了防止数据库中不符合语义的数据,防止错误的输入和输出。安全性是保护数据库,防止恶意的破坏和非法存取。
加在数据库数据值上的语义约束条件称为数据库的完整性约束条件,它们作为数据库模式的一部分存入数据库。DBMS中检查数据是否满足完整性条件的机制称为完整性检查。
数据库完整性
为什么要由数据库控制完整性,而不用应用程序来实现完整性控制?
由应用程序来实现完整性控制是有漏洞的。有的应用程序定义的完整性约束条件可能被其他应用程序破坏,造成数据库数据的正确性无法保障。所以,需要使得完整性控制成为DBMS核心支持的功能,为所有的用户和所有的应用提供一致的数据库完整性。
数据库完整性
完整性检查是围绕约束条件进行的,完整性约束条件是完整性控制机制的核心。被约束的对象包括:
关系
元组

约束的状态
静态约束: 数据库每一确定状态时,数据对象所应满足的约束条件,它反映数据库状态合理性的约束。
动态约束: 数据库从一种状态变为另一种状态时,新旧值之间所应满足的约束条件,它是反映数据库状态的变迁的约束。
数据库完整性
完整性约束的种类
关系
元组

静态约束
静态关系约束
静态元组约束
静态列级约束
动态约束
动态关系约束
动态元组约束
动态列级约束
数据库完整性
静态列级约束
对数据类型的约束(类型、长度、单位、精度)
数据格式的约束
对取值范围或取值集合的约束
对空值的约束
其它约束
数据库完整性
静态元组约束 定义各个列之间的约束
静态关系约束 一个关系的各个元组间或者若干关系之间常常存在各种联系或约束。
实体完整性约束
参照完整性
函数依赖约束
关系的不变性
数据库完整性
动态列级约束 修改列定义或列值时应该满足的约束
修改列定义时的约束 允许空值的列改为不允许空值,当前的值存在空值,则不能。
修改某列的值时的约束 新值参照旧值:新工资>=原工资
动态元组约束 修改元组时:更新工资:新工资>=原工资+工龄*
动态关系约束 是加在关系变化前后状态上的限制条件。
数据库完整性
为了维护数据库的完整性,DBMS必须提供的完整性控制机制包括:
定义完整性约束条件的机制
六类约束
完整性检查的方法
立即执行约束
延迟执行约束
违约处理
拒绝执行操作
级联执行其他操作
实体完整性
定义方法 关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。
列级约束条件
表级约束条件