2.3.3 用户自定义的完整性

2.3.3 用户自定义的完整性

用户定义完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。用户定义的完整性也称为域完整性或语义完整性。

域完整性是指数据库数据取值的正确性。它包括数据类型、精度、取值范围以及是否允许空值等。取值范围又可分为静态和动态两种:静态取值范围是指列数据的取值范围是固定的,如年龄小于150;动态取值范围是指列数据的取值范围由另一列或多列的值决定,或更新列的新值依赖于它的旧值。

实体完整性和参照完整性是关系模型中必须满足的完整性约束条件,只要是关系数据库系统就应该支持实体完整性和参照完整性。根据不同的关系数据库系统应用环境的不同,域完整性一般通过用户定义一些约束条件来实现。例如:选课表(课程号,学号,成绩),可以对成绩这个属性定义必须大于等于0的约束条件。