关系的完整性

实体完整性

若属性A是基本关系R的主属性,则属性A不能取空值;

参照完整性

一、关系间的引用

在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用

  • 例子
    学生(学号,姓名,性别,专业号,年龄)
    专业(专业号,专业名)

    学生关系引用了专业关系的主码“专业号”;学生关系中的“专业号”值必须是确实存在的专业的专业号 ,即专业关系中有该专业的记录。

二、 外码

设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码$K_s$相对应,则称F是基本关系R的外码。基本关系R称为参照关系,基本关系S称为被参照关系目标关系;

  • 例子

选修关系的“学号” 与学生关系的主码“学号”相对应;
选修关系的“课程号”与课程关系的主码“课程号”相对应;
“学号”和“课程号”是选修关系的外码;
学生关系和课程关系均为被参照关系;
选修关系为参照关系;

  • 外码的特点
  1. 关系R和S不一定是不同的关系;
  2. 目标关系S的主码K_s和参照关系的外码F必须定义在同一个(或一组)域上;
  3. 外码并不一定要与相应的主码同名;
三、参照完整性规则

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值