应该具备以下3种功能:
( l )定义功能,即提供定义完整性约束条件的机制;
( 2 )检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;
( 3 )违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动
作来保证数据的完整性。
(A仅作用于职称='
O(Operation) 触发完整性检查数据库操作即用户发操作
请求需要检查该完整性规则立即检查延迟检查:
D(Data) 约束作用数据象定义功能提供定义完整性约束条件机制
检查功能检查用户发操作请求否违背完整性约束条件
违约处理发现用户操作请求使数据违背于完整性约束条件i则采取定作保证数据完整性
完整性约束条件包括六类约束条件能非简单能极复杂
完善完整性控制机制应该允许用户定义所六类完整性约束条件
检查否违背完整性约束机通条语句执行完立即检查称
类约束立即执行约束(Immediate Constraints)完整性检查需要延
迟整事务执行结束再进行检查确提交称类约束延迟执行
约束(Deferred Constraints)例银行数据库借贷总金额应平衡约
束应该延迟执行约束账号A转笔钱账号B事务账
号A转钱账平必须等转入账号B账才能重新平衡才
能进行完整性检查
发现用户操作请求违背完整性约束条件系统拒绝该操作、
于延迟执行约束系统拒绝整事务数据库恢复该事务执行前
状态
条完整性规则用五元组 (DOACP)表示其;
C(Condition) 选择A作用数据象值谓词;
A(Assertion) 数据象必须满足断言或语义约束规则主体;
P(Proeedure) 违反完整性规则触发程
例 号能空约束
D 约束作用象Sno属性
O 插入或修改Student元组
A Sno能空
c (A作用于所记录Sno属性)
P 拒绝执行该操作
教授工资低于1000元约束
D 约束作用象工资Sal属性
O 插入或修改职工元组
A Sal能于1000
C 职称='教授'教'