資料庫除運算

除運算的含義–給定關係R (X,Y) 和S (Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關係P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合

基本介紹

  • 中文名:資料庫除運算
  • 定義:X上分量值x的象集Yx投影集合
  • 要求:相同的域集
  • 給定關係R:R (X,Y) 和S (Y,Z)
解釋,舉例,

解釋

有關係:R(x,y) S(y,z)
R S
A B C B C D
a1 b1 c2 b1 c2 d1
a1 b2 c3 b2 c1 d1
a1 b2 c1 b2 c3 d2
......
R÷S的結果為a1
x相當於A y 相當於B,C z相當於D
按照除運算規則,我們不必關注D
只需比較B,C當S關係中的B,C所有的組合(b1,c2)(b2,c3)(b2,c1)都出現在R關係中時,結果才為A
R÷S = {tr[X] | trÎR∧πY (S) íYx }
Yx:x在R中的象集,x = tr[X]
除操作是同時從角度進行運算

舉例

R:
A
B
C
a1
b1
c2
a2
b3
c7
a3
b4
c6
a1
b2
c3
a4
b6
c6
a2
b2
c3
a1
b2
c1
S:
B
C
D
b1
c2
d1
b2
c1
d1
b2
c3
d2
R÷S
A
a1
/*
(1) 找S與R的共同屬性,其元組看做整體 k
(2)選擇R中包含k的 非S與R相同屬性的 屬性 即為R÷S
*/
解答如下:
在關係R中,A可以取四個值{a1,a2,a3,a4},其中:
a1的象集為:{(b1,c2),(b2,c3),(b2,c1)}
a2的象集為:{(b3,c7),(b2,c3)}
a3的象集為:{(b4,c6)}
a4的象集為:{(b6,c6)}
S在(B,C)上的投影為{(b1,c2),(b2,c3),(b2,c1)}。
顯然只有R的象集a1包含S在(B,C)屬性組上的投影,所以R÷S={a1}。

相關詞條

熱門詞條

聯絡我們