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

完整性子系统(数据库)

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

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

    完整性子系统 : DBMS中处理完整性定义与检查的子系统。数据库完整性功能是通过DBMS的完整性子系统实现的。现代数据库管理系统一般都有完整性子系统,负责处理数据库的完整性语义约束的定义和检查,防止因错误的更新操作产生的不一致性。用户可以使用完整性保护机制,对某些数据规定一些语义约束。
1.完整性子系统功能
完整性子系统是根据“完整性规则集”工作的,完整性规则集是由DBA或应用程序员事先向完整性子系统提供的有关数据约束的一组规则。
(1)监督事务执行(尤其是更新操作),检查是否违反完整性规则。
(2)如出现违反现象时,作出适当的反应(例如,拒绝操作,报告违反,也可能改正错误)。
其完整性检查是由一组完整性规则提供的。
2.完整性子系统的约束条件分类
在完整性子系统中,完整性的约束条件可以从不同角度进行分类,因此会有多种分类方法。
(1)集合约束(set constraint):指在对数据库进行插入、更新或删除时,其操作对象是记录的完整集合而不只是一个特定记录的约束。即仅从单一记录本身还无法判断是否满足该约束,而要考虑与该记录有关的数据记录的集合。例如,在供应商和装运单关系中,只有当某个供应商目前没有装运单时才允许删去这个供应商,亦即删除某供应商的操作应在该供应商的所有装运单删除后才能进行,这就是集合约束。
(2)状态约束(state constraint): 指数据库状态的变化只涉及变化的数据库状态是否正确,数据之间是否满足一致性,而同数据库中所有其他数据状态无关的一种约束。例如,“教学数据库中输入的学生课程考试成绩应是0~100之间的整数”就属于状态约束。
(3)变迁约束(transition constraint): 对数据库修改前和修改后的状态相比较应满足一定条件的一种约束。例如,“当修改一个人的年龄数据时,修改后的值必须大于旧值”,就属于变迁约束。
(4)立即约束(immediate constraint):当数据库状态改变时,只要插入、更新或删除过程一旦执行,就要立即对数据所应满足的约束条件进行检查的一种约束。该约束要求数据库在任何时刻的状态都必须与这些约束相一致。
(5)推迟约束(deferred constraint): 指在改变数据库状态的执行过程中可能要违反约束条件,而在整个过程执行完后才满足的一种约束。例如,转账事务需要把一笔金额从一个账号转到另一个账号,从而要更新两个不同的金额;在更新了一个金额后,账上金额总和是错误的,而只有在第二个金额更新之后,金额总和才是正确的。这种完整性约束的检验,只在事务结束即事务提交时才进行,所以属于推迟约束。
(6)有条件与无条件类型的约束(constraint of conditional and unconditional type): 指对约束条件的一种划分。例如,以关系模式R (NAME,AGE,SALARY)为例,AGE<300是无条件约束; 而IF AGE<30 THEN SALARY<100便是有条件约束。
(7) 局部约束与全局约束(local and global constraint): 局部约束是指在某一特定范围内所应满足的限制,全局约束是指在整个数据库范围内均应满足的限制。如在一个关系内部属性域之间的函数依赖、多值依赖等,是局部约束。参照完整性约束则是全局约束。
(8)一致性约束(consistency constraint): 数据库中为了维护数据与现实世界的一致性,对数据库的插入、删除和修改操作必须遵循两条约束规则: ①实体完整性(即存在性约束); ②参照完整性。
(9)存在性约束(existing constraint):主属性非空的约束。在一个关系中,主键是唯一标识一个元组的,因而它也唯一标识该元组所表示的作为现实世界事物的抽象的某个实体。如果组成主键的属性中某些分量为空值,则将难以判断该元组与其他元组(相应地,该元组所对应的实体与其他实体)的区别。因此在关系的元组中,主键键值的任一分量都不允许为空值,这就是存在性约束或实体完整性约束。
(10)系完整性约束(set integrity constraint): 指在网状数据库中系结构的完整性约束,即对系的首记录或成员记录进行操作时所应遵守的一种约束。如在插入一个成员记录时,要保证其未来的首记录值已经存在才能插入,在插入后要建立与首记录的相应联系。在删除首记录时,与该首记录相应联系的成员记录在不与其他首记录发生联系时应一起删去,否则保留。在DBTG的模式描述中规定成员记录的入系类别和出系类别时可提供这类完整性约束。一个完善的完整性子系统应该允许用户根据实际应用定义各种完整性约束条件。

74
73
25
news

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

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