数据库的完整性1数据库的完整性2数据库完整性定义机制3利用完整性定义机制实现参照完整性1数据库的完整性1
1DBMS的完整性控制机制DBMS的完整性控制机制应具有两方面的功能:(1)定义功能:为数据库用户提供定义完整性约束条件的机制
(2)检查功能:检查用户发出的操作请求是否违背了完整性约束条件,如果发现用户的操作请求使数据违背了完整性约束条件,则执行相应的处理,以保证数据库中数据的完整性
如下的二元组描述了DBMS实现一个数据库完整性的机制:数据库完整性机制=(完整性约束集,完整性约束检查)完整性约束集中的每个成员可抽象为一个五元组:完整性约束集成员=(数据对象,约束,触发DBMS完整性检查的操作,触发条件,违反完整性约束时的操作)
数据对象指完整性约束作用的数据对象,可以是表、记录、字段等;触发DBMS进行完整性检查的操作,可以是增、删、改、建表、创建主码等;对数据对象触发完整性检查时,相关的数据对象应满足一定的触发条件;当数据违反完整性约束时,执行相应的操作
2数据库完整性的分类可从不同角度对数据库的完整性分类,例如,完整性约束条件作用的对象可以是关系、元组、列3种,根据完整性约束条件作用的对象,可分为:①列约束
又称为字段约束,主要是对字段的类型、取值范围等定义约束
主要是对元组中各字段间的联系定义约束
是定义表内若干元组间的约束,或定义表之间联系的约束
按照完整性约束对象的状态来分,可将完整性分为静态完整性约束和动态完整性约束
①静态完整性约束:指数据库处于一确定状态时,数据对象应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束
例如,规定学号的前两位表示入学年份,中间两位表示系的编号,后三位为顺序编号;出生日期的格式为YYYY/MM/DD等
②动态约束:指数据库从一种稳定状态转变为另一稳定状态时,新、旧值之间