所谓笛卡尔积,通俗点说就是指包含两个集合中任意取出两个元素构成的组合的集合.
举例子,假设R中有元组M个,S中有元组N个,则R和S的笛卡尔积中包含的元组数量就是M*N.这个规则可以向多个关系扩展.
上面的例子的笛卡尔积结果就是tj_angela给出的(ac,ad,bc,bd)
属于的含义就是R是d1*d2*……*dn子集,这里其实是相等的.
设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB.
笛卡尔积的符号化为:
A×B={(x,y)|x∈A∧y∈B}
例如,A={a,b}, B={0,1,2},则
A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}
B×A={(0, a), (0, b), (1, a), (1, b), (2, a), (2, b)}
运算性质:
1.对任意集合A,根据定义有
AxΦ =Φ , Φ xA=Φ
2.一般地说,笛卡尔积运算不满足交换律,即
AxB≠BxA(当A≠Φ ∧B≠Φ∧A≠B时)
3.笛卡尔积运算不满足结合律,即
(AxB)xC≠Ax(BxC)(当A≠Φ ∧B≠Φ∧C≠Φ时)
4.笛卡尔积运算对并和交运算满足分配律,即
Ax(B∪C)=(AxB)∪(AxC)
(B∪C)xA=(BxA)∪(CxA)
Ax(B∩C)=(AxB)∩(AxC)
(B∩C)xA=(BxA)∩(CxA)
区别:
笛卡尔积对两个关系R和S进行 *** 作,产生的关系中元组个数为两个关系中元组个数之积。
等值连接则是在笛卡尔积的结果上再进行选择 *** 作,挑选关系第 i 个分量与第(r+j) 个分量值相等的元组。
自然连接则是在等值连接(以公共属性值相等为条件)的基础上再行投影 *** 作,去掉 S 中的公共属性列,当两个关系没有公共属性时,自然连接就转化成笛卡尔积。
1、自然连接一定是等值连接,但等值连接不一定是自然连接。
2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性
3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
笛卡尔积:
在数学中,两个集合X和Y的笛卡儿积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。
假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
等值连接:
等值连接是关系运算-连接运算的一种常用的连接方式。是条件连接(或称θ连接)在连接运算符为“=”号时(即θ=0时)的一个特例。
自然连接:
自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)