18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 完整性控制(数据库)

完整性控制(数据库)

时间:2022-11-27 10:30:01 | 来源:信息时代

时间:2022-11-27 10:30:01 来源:信息时代

    完整性控制 : 保障正确语义的数据库操作。包括完整性定义和完整性验证两大部分。
1.完整性定义
完整性定义(integrity definition)又称完整性约束条件,是完整性控制的一个重要组成部分。完整性控制的主要目的是防止语义上不正确的数据进入数据库。关系数据库系统中的完整性约束条件包括实体完整性、参照完整性和用户定义完整性。在SQL语言中完整性定义主要是通过CREATE TABLE语句中的[PRIMARY KEY]子句、[FOREIGN KEY]子句或[CHECK]子句来完成。另外,还有一些辅助命令可以进行数据完整性保护。如UNIQUE和NOT NULL,前者用于防止重复值进入数据库,后者用于防止空值。
当然,在数据库逻辑设计时,完整性规则定义有多种方法和手段,较为有效的可以用一个五元组(D,O,A,C,P)来表示,其中各组元意义如下:
D(data): 约束数据对象。
O(operation): 约束操作时限。
A(assertion): 约束规则断言。
C(condition): 约束过滤条件。
P(procedure): 违反完整性规则时触发的事件。
例如,在“工号(ENo)不能为空”的约束中:
D: 约束作用的对象为ENo属性。
O: 插入或修改Employee元组时。
A: ENo不能为空。
C: 无(A可作用于所有记录的ENo属性)。
P: 拒绝执行该操作。
又如,在“经理工资(Sal)不得低于1500元”的约束中:
D: 约束作用的对象为工资Sal属性。
O: 插入或修改职工元组时。
A: Sal不能小于1500。
C: 职位: ‘经理’ (A仅作用于职称= ‘经理’的记录)。
P: 拒绝执行该操作
在违反完整性规则时触发的事件中,并不都是简单地拒绝执行,有时候根据需要直接执行一些维护操作事件,以使数据库符合完整性规则。
2.完整性验证
完整性验证(integrity validate)指根据完整性约束条件检查数据库是否处在不一致状态。
在SQL语言中,一般在INSERT、UPDATE、DELETE语句执行后开始完整性检验,也可以在事务提交时检验。通常,完整性验证是数据库系统根据一定的条件主动做出相应反应的机制。该机制的核心是触发器,其中事件是一个完整性验证的操作,当某一事件发生后,系统自动触发某一动作,从而对该事件做出反应。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭