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

前言

忘记关系模型中主属性、主码、元组等名词的可以去看看: CSDN:数据库 关系模型的基本概念

1. 试述关系模型的完整性规则。

实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。

  • 举个栗子:
  • 选修(学号课程号,成绩)
  • 其中加粗了的学号和课程号都是主属性;
  • 则“学号”和“课程号”两个属性都不能取空值。

2. 在参照完整性中,什么情况下外码属性的值可以为空值?

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值);
或者等于S中某个元组的主码值。

  • 举个栗子:
  • 学生(学号,姓名,性别,专业号,年龄)
  • 专业(专业号,专业名)
  • 其中加粗了的学号和专业号都是主码;
  • 则学生关系中每个元组的“专业号”属性只能取下面两种类值:
    1. 空值:表示尚未给该学生分配专业;
    2. 非空值:这时填入的该值必须是“专业”关系中某个“专业号”的值;

资料参考

发布了29 篇原创文章 · 获赞 42 · 访问量 8499

猜你喜欢

转载自blog.csdn.net/qq_43068326/article/details/104714509