笛卡尔积又叫笛卡尔乘积,是一个叫笛卡尔的人提出来的。 简单的说就是两个集合相乘的结果。 具体的定义去看看有关代数系的书的定义。 直观的说就是 集合A{a1,a2,a3} 集合B{b1,b2} 他们的 笛卡尔积 是 AB ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)} 任意两个元素结合在一起
并:将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}
区别:
笛卡尔积对两个关系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)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。
221 关系代数的五个基本 *** 作
考核要求:达到“简单应用”
层次知识点:五个基本 *** 作的含义和运算应用
(1)并(∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。
RUS≡{t| t∈R ∨t∈S}
(2) 差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。
R-S≡{t| t∈R ∧t 不属于S}
(3)笛卡尔积(×):对两个关系R和S进行 *** 作,产生的关系中元组个数为两个关系中元组个数之积。
R×S≡{t| t= tr,ts>∧tr∈R∧ts ∈S}
(4) 投影(σ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。
(5) 选择(π):根据某些条件关系作水平分割,即选择符合条件的元组。
222 关系代数的四个组合 *** 作
考核要求:达到“简单应用”
层次知识点:四个组合 *** 作的含义和运算应用
(1)交(∩):R和S的交是由既属于R又属于S的元组构成的集合。
(2)联接:包括θ(算术比较符)联接和F(公式)联接。
选择R×S中满足iθ(r+j)或F条件的元组构成的集合;
概念上比较难理解,关键理解运算实例等值联接(θ为等号“=”的联接)。
(3)自然联接(RS):在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。 如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。
(4)除法(÷):首先除法的结果中元数为两个元数的差, R÷S的 *** 作思路如下——把S看作一个块,如果R中相同属性集中的元组有相同的块, 且除去此块后留下的相应元组均相同,那么可以得到一条元组, 所有这些元组的集合就是除法的结果
对于上述的五个基本 *** 作和四个组合 *** 作,应当从实际运算方面进行理解和运用。
应用举例
223 关系代数表达式及应用
考核要求:达到“简单应用”
层次知识点:关系代数表达式的应用
本节的内容是有关实际应用,应该多看例题,多做习题,必须达到以下要求: 能够根据给出的关系代数表达式计算关系值,也能够根据相应查询要求列出关系表达式。
(1)在列关系表达式时,通常有以下形式:
π……(σ……(R×S))或者π……(σ……(RS))
首先把查询涉及到的关系取来,执行笛卡尔积或自然联接 *** 作得到一张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影) *** 作。
(2)当查询涉及到否定或全部的逻辑时,往往要用到差或除法 *** 作。
关系代数表达式举例
224 扩充的关系代数 *** 作
考核要求:达到“识记”
层次知识点:了解“外联接”和“外部并”的含义
注意:(1)“外联接”、“左外联接”、“右外联接”和“自然连接”的差异。
(2)“外部并”和“并”的差异
以上就是关于数据库里的笛卡儿积是什么东西全部的内容,包括:数据库里的笛卡儿积是什么东西、并、交 、投影 、笛卡儿乘积 有什么区别、数据库关系代数中,笛卡尔积和自然连接的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)