投影運算的含義簡單點就是:從表中選擇需要的屬性列。
列是屬性,行是元組..
而且作投影之后可能會出現重復項,比如:
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}。
數據庫 什么操作最費時間啊?
笛卡爾積,選擇,投影,除。應該是笛卡爾積,因為屬性增加了,計算量也隨之而增加