资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数据库系统概论,完整性约束,1,教学目标,了解完整性约束的分类,2,重点,完整性约束的分类,3,概述,数据库的完整性是指数据的正确性和相容性。数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。,4,完整性的约束条件,完整性约束条件作用的对象可以是关系、元组、列三种。,其中列约束主要是列的类型、取值范围、精度、排序等的约束条件。,元组的约束是元组中各个字段间的联系的约束。,关系的约束是若干元组间、关系集合上以及关系之间的联系的约束。,5,完整性的约束条件,完整性约束条件涉及的这三类对象,其状态可以是静态的,也可以是动态的。,所谓静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。,6,动态约束是指数据库从一种状态转变为另一种状态时新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。,综合上述两个方面,我们可以将完整性约束条件分为六类。,完整性的约束条件,7,静态列级约束,静态列级约束是对一个列的取值域的说明,这是最常用也最容易实现的一类完整性约束,包括以下几方面:,1.,对数据类型的约束,包括数据的类型、长度、单位、精度等,2.,对数据格式的约束,3.,对取值范围或取值集合的约束。,4.,对空值的约束,5.,其他约束,完整性的约束条件,8,静态元组约束,一个元组是由若干个列值组成的,静态元组约束就是规定元组的各个列之间的约束关系。,静态关系约束,在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。(参照完整性外码约束),完整性的约束条件,9,动态列级约束,动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:,1.,修改列定义时的约束 例如,将允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。,2.,修改列值时的约束 修改列值有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。例如,职工工资调整不得低于其原来工资,学生年龄只能增长等等。,完整性的约束条件,10,动态元组约束,动态元组约束是指修改元组的值时元组中各个字段间需要满足某种约束条件。例如职工工资调整时新工资不得低于 原工资,+,工龄*,1.5,,等等。,动态关系约束,动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。,完整性的约束条件,11,小结,完整性约束可以分为:静态列级约束,静态元组约束,静态关系约束,动态列级约束,动态元组约束,动态关系约束等,12,
展开阅读全文