データベース~~~投影と除算

17849 ワード

投影演算の意味の単純な点は、テーブルから必要なプロパティ列を選択することです.
    ,    ..
, :
A B C
a1 b1 c1
a1 b2 c2
a2 b2 c3
A a1, a2;
:
: , ( )
: , ( )
: ( ), ( )
: , ( 1 )



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)}就是a1 对应bc属性上的值
 
a2的象集为:{( b3, c7),( b2, c3)}
 
a3的象集为:{( b4, c6)}
 
a4的象集为:{( b6, c6)}
 
S在(B,C)上的投影为{(b1,c2),(b2,c3),(b2,c1)}。,只取BC两列
 
显然只有a1的象集(B,C)a1包含S在(B,C)属性组上的投影,全部包含, 所以R÷S={a1}。


  , , , 。 , ,