数据库系统概论第五版第二章答案 王珊老师版本
第五题的个人解释:试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?
1. 试述关系模型的完整性规则。
实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
- 举个栗子:
- 选修(学号,课程号,成绩)
- 其中加粗了的学号和课程号都是主属性;
- 则“学号”和“课程号”两个属性都不能取空值。
2. 在参照完整性中,什么情况下外码属性的值可以为空值?
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码\(K_s\)相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
- 取空值(F的每个属性值均为空值);
- 或者等于S中某个元组的主码值。
即属性 F 本身不是主属性,则可以取空值,否则不能取空值。
- 举个栗子:
- 学生(学号,姓名,性别,专业号,年龄)
- 专业(专业号,专业名)
- 其中加粗了的学号和专业号都是主码;
- 则学生关系中每个元组的“专业号”属性只能取下面两种类值:
- 空值:表示尚未给该学生分配专业;
- 非空值:这时填入的该值必须是“专业”关系中某个“专业号”的值;