数据库除法理解

理解

给定关系R和关系S,求R÷S。
数据库除法理解_第1张图片
关系R和关系S拥有共同的属性A2、A3 ,

  1. 首先确定得到的属性为A1。(R÷S得到的属性是关系R包含而关系S不包含的属性,即A1)
    数据库除法理解_第2张图片

  2. 其次确定A1中符合条件的属性值为{a,d}。(关系R中A1的属性值为{a,d},R÷S的结果必然是它的子集,判断当A1为a时,A2和A3属性是否为b和c,发现满足这一条件,因此a被选中,d也是同理被选中)
    数据库除法理解_第3张图片

最后得出,R÷S={a,d}
在这里插入图片描述

理解的关键是R包含而S不包含,当S含有R不含有的属性时,可以忽视该属性

例子

数据库除法理解_第4张图片
在R关系中A属性的值可以取{ a1,a2,a3,a4 }

a1值对应的集为 { (b1,c2) , (b2,c1) , (b2,c3) }

a2值对应的集为 { (b3,c7) , (b2,c3) }

a3值对应的集为 { (b4,c6) }

a4值对应的集为 { (b6,c6) }

关系S在B、C上的投影为 { (b1,c2) , (b2,c1) , (b2,c3) }

只有a1值对应的象集包含关系S的投影集,所以只有a1应该包含在除法结果中A属性里

所以R÷S为
在这里插入图片描述

相关链接

  1. 数据库关系代数中除运算讲解和SQL语句的实现

你可能感兴趣的:(Database,数据库)