并、交 、投影 、笛卡儿乘积 有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/06/15 13:25:59
“ 湛蓝之炎”答得不错,问一下能否举个简单的例子笛卡儿乘积和投影吗?

并:将2个集合(或数据库查询的结果集)中的元素相加,并去掉重复元素(只留下1个)
交:取得将2个集合(或数据库查询的结果集)中共有的元素
笛卡儿积:从2个集合(或数据库查询的结果集)中各取1个元素两两配对,元素个数变成原先每个集合中元素个数的乘积
投影:取得查询结果集中的部分字段,并去掉重复元素(数据库专有)

例:
假设有一个集合包含A, B两个元素,另一个包含C, D, E三个元素
那么它们的笛卡尔积就是AC,AD,AE,BC,BD,BE

至于投影,只存在于关系数据库中,假设一个查询结果集包含A, B, C三个字段,每个字段中有若干个值,那么对A作投影就是取A这个字段中的所有值.但是这时候可能会出现重复项,要去掉,因为投影之前可能会出现A的值相同,但B或C的值不同的情况,如下表:
A B C
a1 b1 c1
a1 b2 c2
a2 b2 c3
a2 b2 c4

作A的投影就是a1, a2;
作B的投影就是b1, b2;
作C的投影就是c1, c2, c3, c4;
作A和B的投影就是{a1, b1},{a1, b2},{a2, b2}

这一两句话说不清楚 请参考《数据库系统概论》高教出版社