关系模型的完整性约束是对关系的某种约束条件,关系模型中,有三类完整性约束.
1、实体完整性
规则:若属性A是关系表R的主要属性,则属性A不能取空值
例子:在课程表,它有这5个字段(课程编号,课程名,教师,课时数,备注),那么在课程表中,不能取空值,实体完整性规则规定基本关系的所有主关键字对应的主属性都不能取空值,所以在课程表中课程编号,课程名,教师都不能为空.
2、参照完整性
规则:在在现实世界中实体和实体之间存在着某种联系,关系模型中实体和实体之间的联系往往通过关系来进行描述,这样一来就存在关系和关系之间的引用.被引用的关系中,属性值是必须存在的,否则将无法引用.
例子:
学生(学号,姓名,性别,专业号,年龄)
专业(专业编号,专业名称)
学生实体和专业实体可以用下面的关系来表示
学生与专业存在着属性的引用,学生专业号是通过专业编号来引用的.学生关系中,专业编号的值必须是存在的专业编号,学生关系中某个属性的取值需要参照专业关系中的属性进行取值
3、用户定义的完整性
实体完整性和参照完整性是关系模型中必须满足的完整性约束条件,只要是关系数据库,就应该支持这两种完整性,除此之外不同的关系数据库根据应用环境的不同,往往还需要特殊的约束条件,用户定义的完整性可以满足这样的需求.
例子:
选课表(课程编号,学号,成绩)
在定义选课表的时候,我们可以对成绩这个属性定义它必须大于等于0(≥0)的约束,这就是用户定义完整性的一个例子
想看这个 我在北大青鸟的亲身感受 结果还要密码 😥
专业死了你!
OMG….