试述关系模型的完整性规。在参照完整性中 为什么外部码属性的值也可以为空?什么情况下才可以为空?

大学 完整性,属性,模型 已帮助 人

试述关系模型的完整性规。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?

请帮忙给出正确答案和分析,谢谢!

热搜:下行沟通利于保证信息的传递和完整性

答案解析

难度★★☆ 搜索
  • 正确答案:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件被称作是关系的两个不变性应该由关系系统自动支持。 (1)实体完整性规则:若属性A是基本关系R的主属性则属性A不能取空值。 (2)参照完整性规则:若属性(或属性组)F是基本关系R的外码它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系)则对于R中每个元组在F上的值必须: ①或者取空值(F的每个属性值均为空值); ②或者等于S中某个元组的主码值。 (3)用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。 在参照完整性中外部码属性的值可以为空它表示该属性的值尚未确定但前提条件是该外部码属性不是其所在关系的主属性。 例如在下面的“学生”表中“专业号”是一个外部码不是学生表的主属性可以为空其语义是该学生的专业尚未确定。 学生(学号姓名性别专业号年龄) 专业(专业号专业名) 而在下面的“选修”表中的“课程号”虽然也是一个外部码属性但它又是“课程”表的主属性所以不能为空因为关系模型必须满足实体完整性。 课程(课程号课程名学分) 选修(学号课程号成绩)
    关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。(1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。(2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须:①或者取空值(F的每个属性值均为空值);②或者等于S中某个元组的主码值。(3)用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空,其语义是该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“课程”表的主属性,所以不能为空,因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成绩)