因为你这是概念性的问题 ,建议你先看看图片链接的内容,希望有帮助
选择是根据条件查询出信息,投影就是去掉重复的数据,连接是根据两张表中有关系或相同的列合并两表的信息
ps:连接怕百度会删除
举个例子吧,原Student(编号,姓名,出生日期),元组有(1,王五,女,1978-1-1), (2,王五,男,1978-1-1),在(姓名,出生日期)上投影后会相同的2行(王五,1978-1-1)
投影运算的含义简单点就是:从表中选择需要的属性列。列是属性,行是元组..
而且作投影之后可能会出现重复项,比如:
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}。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)