首页 > 数据库 > 文库 > 正文

关系运算:除

2023-05-25 12:34:41
字体:
来源:转载
供稿:网友

数据库的关系运算中,专门的关系运算包括选择,投影,连接和除。本文讲解一下除运算的原理。

在讲解除运算之前,先介绍一下象集的概念。

关于像集的概念:

给定一个关系R(X,Z),X和Z为属性组,当t[X] = x时,x在R中的像集(Images Set)为:

ZX={t[Z]|t∈R,t[X] = x}

它表示R中属性组X上值为x的诸元组在Z上分量的集合。

关系除运算的定义:

关系的除运算是同时从关系的水平方向和垂直方向上进行的运算。假设关系R(X,Y)和S(Y,Z),X、Y、Z为属性组。R÷S应当满足元组在X上的分量值X的像集YX包含关系S在属性组Y上投影的集合。其形式定义为:

R÷S = {tn[X]|tn∈R^πY(S)⊆YX}

R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:

关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组(R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集);

元组在X上的分量值X 的像集YX包含S在Y上的投影。

下面以一个例子来说明:

假设关系R和S如下:

关系的除运算

计算R÷S的过程:

a1的象集为{(b1,c2),(b2,c3),(b2,c1)}

a2的象集为{(b3,c7),(b2,c3)}

a3的象集为{(b4,c6)}

a4的象集为{(b6,c6)}

S在(B,C)上的投影为:

{(b1,c2),(b2,c1),(b2,c3)}

因为只有a1的象集包含了S在(B,C)属性组上的投影,故R÷S={a1},即:

R÷S的结果为:

关系的除运算结果

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表