第三节 关系的完整性 (1) (2) (3)
学生关系中每个元组的“专业号”属性只取下面两类值:
(1)空值,表示尚未给该学生分配专业
(2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不
存在的专业中。选修(学号,课程号,成绩),“学号”和“课程号”是选修关系中的主属性,按照实体
完整性和参照完整性规则,它们只能取相应被参照关系中已经存在的主码值,学生(学号,姓名,性别,
专业号,年龄,班长),“班长”属性值可以取两类值:
(1)空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;
(2)非空值,这时该值必须是本关系中某个元组的学号值。
2.3.3 用户定义的完整性
用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的
语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应
用程序承担这一功能。
例:课程(课程号,课程名,学分),“课程名”属性必须取唯一值,非主属性“课程名”也不能取空值,
“学分”属性只能取值{1,2,3,4}。
|