数据库笛卡尔积怎么算?

数据库笛卡尔积怎么算?,第1张

数据库问题 笛卡尔积怎么计算

3列和1列一样!

按照行来计算~~可以把每行的3列看做一个整体(看成1列)

A1 A2 A3 A1 A2 A3

a b c a b c

a b c b a c

a b c c a b

b a c a b c

b a c b a c

b a c c a b

c a b a b c

c a b b a c

c a b c a b

数据库笛卡尔积

笛卡儿积就是把两个(多个)表的结果集相乘

R表中的每一条数据与S表中的每一条数据匹配并呈现,数量级就是两表的成绩,属性为列相加

数据库笛卡尔积运算 数据库笛卡尔积怎么算

数据库笛卡尔积运算 数据库笛卡尔积怎么算

笛卡儿积就是把两个(多个)表的结果集相乘 R表中的每一条数据与S表中的每一条数据匹配并呈现,数量级就是两表的成绩,属性为列相加

计算机中关系数据库那里,那个广义笛卡尔积怎么算吖?

名称定义

假设 *** A={a,b}, *** B={0,1,2},则两个 *** 的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。可以扩展到多个 *** 的情况。类似的例子有,如果A表示某学校学生的 *** ,B表示该学校所有课程的 *** ,则A与B的笛卡尔积表示所有可能的选课情况。

笛卡儿积的运算性质

由于有序对 中x,y的位置是确定的,因此A×B的记法也是确定的,不能写成B×A.

笛卡儿积也可以多个 *** 合成,A1×A2×…×An.

笛卡儿积的运算性质. 一般不能交换.

笛卡儿积,把 *** A,B合成 *** A×B,规定

A×B={ ½xÎAÙyÎB}

推导过程

给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:

D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}

所有域的所有取值的一个组合不能重复

例 给出三个域:

D1=SUPERVISOR ={ 张清玫,刘逸 }

D2=SPECIALITY={计算机专业,信息专业}

D3=POSTGRADUATE={李勇,刘晨,王敏}

则D1,D2,D3的笛卡尔积为D:

D=D1×D2×D3 =

{(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),

(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),

(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),

(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),

(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),

(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }

这样就把D1,D2,D3这三个 *** 中的每个元素加以对应组合,形成庞大的 *** 群。

本个例子中的D中就会有2X2X3个元素,如果一个 *** 有1000个元素,有这样3个 *** ,他们的笛卡尔积所组成的新 *** 会达到十亿个元素。假若某个 *** 是无限集,那么新的 *** 就将是有无限个元素。

序偶与笛卡尔积

在日常生活中,有许多事物是成对出现的,而且这种成对出现的事物,具有一定的顺序。例如,上,下;左,右;3〈4;张华高于李明;中国地处亚洲;平面上点的座标等。一般地说,两个具有固定次序的客体组成一个序偶,它常常表达两个客体之间的关系。记作〈x,y〉。上述各例可分别表示为〈上,下〉;〈左,右〉;〈3,4〉;〈张华,李明〉;〈中国,亚洲〉;〈a,b〉等。

序偶可以看作是具有两个元素的 *** 。但它与一般 *** 不同的是序偶具有确定的次序。在 *** 中{a,b}={b,a},但对序偶〈a,b〉≠〈b,a〉。

设x,y为任意对象,称 *** {{x},{x,y}}为二元有序组,或序偶(ordered pairs),简记为 。称x为 的第一分量,称y为第二分量。

定义3-4.1 对任意序偶 , , = 当且仅当a=c且b = d 。

递归定义n元序组

={{a1},{a1 , a2}}

= { {a1 , a2},{a1 , a2 , a3}}

= <, a3 >

= <<......

2个表的笛卡尔积怎么用sql语句表示

第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小

SELECT * FROM table1 CROSS JOIN table2

2个表的笛卡尔积怎么用SQL语句表示

SELECT A.*, B.*

FROM A, B

-- 不加WHERE条件,就是笛卡尔积

数据库:5,R*S那个是笛卡尔积运算么?怎么得出来的? 还有6也不太懂 5分

using namespace std

struct Sales_data{

std::string booKNO

unsigned untis_sold

double revenue

}

名称定义

假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。

笛卡儿积的运算性质

由于有序对<x,y>中x,y的位置是确定的,因此A×B的记法也是确定的,不能写成B×A.

笛卡儿积也可以多个集合合成,A1×A2×…×An.

笛卡儿积的运算性质. 一般不能交换.

笛卡儿积,把集合A,B合成集合A×B,规定

A×B={<x,y>½xÎAÙyÎB}

推导过程

给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:

D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}

所有域的所有取值的一个组合不能重复

例 给出三个域:

D1=SUPERVISOR ={ 张清玫,刘逸 }

D2=SPECIALITY={计算机专业,信息专业}

D3=POSTGRADUATE={李勇,刘晨,王敏}

则D1,D2,D3的笛卡尔积为D:

D=D1×D2×D3 =

{(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),

(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),

(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),

(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),

(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),

(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }

这样就把D1,D2,D3这三个集合中的每个元素加以对应组合,形成庞大的集合群。

本个例子中的D中就会有2X2X3个元素,如果一个集合有1000个元素,有这样3个集合,他们的笛卡尔积所组成的新集合会达到十亿个元素。假若某个集合是无限集,那么新的集合就将是有无限个元素。

序偶与笛卡尔积

在日常生活中,有许多事物是成对出现的,而且这种成对出现的事物,具有一定的顺序。例如,上,下;左,右;3〈4;张华高于李明;中国地处亚洲;平面上点的坐标等。一般地说,两个具有固定次序的客体组成一个序偶,它常常表达两个客体之间的关系。记作〈x,y〉。上述各例可分别表示为〈上,下〉;〈左,右〉;〈3,4〉;〈张华,李明〉;〈中国,亚洲〉;〈a,b〉等。

序偶可以看作是具有两个元素的集合。但它与一般集合不同的是序偶具有确定的次序。在集合中{a,b}={b,a},但对序偶〈a,b〉≠〈b,a〉。

设x,y为任意对象,称集合{{x},{x,y}}为二元有序组,或序偶(ordered pairs),简记为<x,y>。称x为<x,y>的第一分量,称y为第二分量。

定义3-4.1 对任意序偶<a,b>, <c, d >,<a,b>= <c, d >当且仅当a=c且b = d 。

递归定义n元序组 <a1,… , an>

<a1,a2>={{a1},{a1 , a2}}

<a1 , a2 , a3 >= { {a1 , a2},{a1 , a2 , a3}}

= <<a1 , a2 >, a3 >

<a1,…an>= <<a1,…an-1>, an>

两个n元序组相等

<a1,…an >= <b1,…bn >Û(a1=b1) ∧ …∧ (an=bn)

定义3-4.2 对任意集合 A1,A2 , …,An,

(1)A1×A2,称为集合A1,A2的笛卡尔积(Cartesian product),定义为

A1 ×A2={x | $u $v(x = <u,v>∧u ÎA1∧vÎA2)}={<u,v>| u ÎA1∧vÎA2}

(2)递归地定义 A1 × A2× … × An

A1 × A2×… × An= (A1× A2 × …× An-1)×An

例题1 若A={α,β},B={1,2,3},求A×B,A×A,B×B以及(A×B)Ç(B×A)。

解 A×B={〈α,1〉,〈α,2〉,〈α,3〉,〈β,1〉,〈β,2〉,<β,3〉}

B×A={〈1,α〉,〈1,β〉,〈2,α〉,〈2,β〉,〈3,α〉,〈3,β〉}

A×A={〈α,α〉,〈α,β〉,〈β,α〉,〈β,β〉}

B×B={〈1,1〉,〈1,2〉,〈1,3〉,〈2,1〉,〈2,2〉,〈2,3〉,〈3,1〉,〈3,2〉,〈3,3〉}

(A×B)Ç(B×A)=Æ

由例题1可以看到(A×B)Ç(B×A)=Æ

我们约定若A=Æ或B=Æ,则A×B=Æ。

由笛卡尔定义可知:

(A×B)×C={〈〈a,b〉,c〉|(〈a,b〉∈A×B)∧(c∈C)}

={〈a,b,c〉|(a∈A)∧(b∈B)∧(c∈C)}

A×(B×C)={〈a,〈b,c〉〉|(a∈A)∧(〈b,c〉∈B×C)}

由于〈a,〈b,c〉〉不是三元组,所以

(A×B)×C ≠A×(B×C)

定理3-4.1 设A, B, C为任意集合,*表示 È,Ç或 – 运算,那么有如下结论:

笛卡尔积对于并、交差运算可左分配。即:

A×(B*C)=(A×B)*(A×C)

笛卡尔积对于并、交差运算可右分配。即:

(B*C) ×A=(B×A)*(C×A)

¤ 当*表示 È时,结论(1)的证明思路:(讨论叙述法)

先证明A×(B È C)Í(A×B) È (A×C) 从<x,y>∈A×(BÈC)出发,推出<x,y>∈(A ×B) È (A×C)

再证明(A×B) È (A×C) Í A×(B È C)

从<x,y>∈(A×B) È (A×C)出发,推出<x,y>∈A×(BÈC)

当*表示 È时,结论(2)的证明思路:(谓词演算法) 见P-103页。¤

定理3-4.2 设A, B, C为任意集合,若C ≠ F,那么有如下结论:

AÍBÛ(A×C ÍB×C) Û (C×AÍC×B) ¤

定理前半部分证明思路 :(谓词演算法)

先证明AÍB Þ (A×CÍB×C)

以AÍB 为条件,从<x,y>∈A×C出发,推出<x,y>∈B×C

得出(A×CÍB×C)结论。

再证明(A×C ÍB×C) Þ AÍB

以C≠F为条件,从x∈A出发,对于y∈C,利用Þ附加式,推出x∈B

得出(AÍB)结论。 见P-103页。¤

定理3-4.3 设A, B, C, D为任意四个非空集合,那么有如下结论:

A×B Í C×D的充分必要条件是AÍ C,BÍ D

¤证明思路:(谓词演算法)

先证明充分性: A×B Í C×D Þ AÍ C,BÍ D

对于任意的x∈A、y∈B,从<x,y>∈A×B出发,利用条件A×BÍ C×D, <x,y>∈C×D,推出x∈C, y∈D。

再证明必要性: AÍ C,BÍ D ÞA×BÍ C×D

对于任意的x∈A、y∈B,从<x,y>∈A×B出发,推出<x,y>∈C×D


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9928241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存