迪卡尔沙曼运算

笛卡尔乘积是啥定义这是啥定义
小彬°EW嶸60
名称定义假设集合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&IA&Uy&IB}推导过程给定一组域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}} =
= 两个n元序组相等 = &U(a1=b1) ∧ …∧ (an=bn)定义3-4.2 对任意集合 A1,A2 , …,An,(1)A1×A2,称为集合A1,A2的笛卡尔积(Cartesian product),定义为A1 ×A2={x | $u $v(x = ∧u &IA1∧v&IA2)}={ | u &IA1∧v&IA2} (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)&C(B×A). 解 A×B={〈α,1〉,〈α,2〉,〈α,3〉,〈β,1〉,〈β,2〉,
为您推荐:
其他类似问题
扫描下载二维码The page is temporarily unavailable
nginx error!
The page you are looking for is temporarily unavailable.
Please try again later.
Website Administrator
Something has triggered an error on your
This is the default error page for
nginx that is distributed with
It is located
/usr/share/nginx/html/50x.html
You should customize this error page for your own
site or edit the error_page directive in
the nginx configuration file
/etc/nginx/nginx.conf.关系代数_百度百科
本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
简述英文翻译: relation algebra关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的。关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的包括四类:集合运算符、专门的、算术比较符和比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的,所以按照运算符的不同,主要将关系代数分为传统的集合运算和专门的关系运算两类。
关系代数关系代数之“传统的集合运算”
传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四种运算。
⒈ 并(Union)
设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的组成。其结果关系仍为n目关系。记作:
R∪S={t|t∈R∨t∈S}
⒉ 差(Difference)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:
R-S={t|t∈R∧t?S}
⒊ 交(Intersection Referential integrity)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作:
R∩S={t|t∈R∧t∈S}
⒋ 广义笛卡尔积(Extended cartesian product) 
两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。
关系代数关系代数之“专门的关系运算”
专门的关系运算(Specific relation operations)包括选择、投影、连接、除等。
为了叙述上的方便,我们先引入几个记号。
⒈ 设关系模式为R(A1, A2, …, An)。它的一个关系设为R。t∈R表示t是R的一个。t[Ai]则表示元组t中相应于属性Ai的一个分量 。
⒉ 若A={Ai1, Ai2, …, Aik},其中Ai1, Ai2, …, Aik是A1, A2, …, An中的一部分,则A称为属性列或域列。フA则表示{A1, A2, …, An}中去掉{Ai1, Ai2, …, Aik}后剩余的属性组。t[A]=(t[Ai1], t[Ai2], …, t[Aik])表示元组t在属性列A上诸分量的集合。
⒊ R为n目关系,S为m目关系。设tr∈R(r为下标),ts∈S(s为下标),则trts(整个式子上方加一个半弧,r和s为下标) 称为元组的连接(Concatenation)。它是一个(n+m)列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。
⒋ 给定一个关系R(X,Z),X和Z为属性组。我们定义,当t[X]=x时,x在R中的(Images Set)为:
Zx={t[Z]|t∈R, t[X]=x}
它表示R中属性组X上值为x的诸在Z上分量的集合。
⒈ 选择(Selection)
选择又称为限制(Restriction)。它是在关系R中选择满足给定条件的诸元组,记作:
σF(R) = {t|t∈R ∧ F(t)='真'}
其中F表示选择条件,它是一个,取逻辑值‘真’或‘假’。
逻辑表达式F的基本形式为:
X1 θ Y1 [ φ X2 θ Y2 ]
θ表示比较运算符,它可以是&、≥、&、≤、=或≠。X1、Y1等是属性名或或简单函数。属性名也可以用它的序号来代替。φ表示,它可以是フ、∧或∨。[ ]表示任选项,即[ ]中的部分可以要也可以不要,...表示上述格式可以重复下去。
因此选择运算实际上是从关系R中选取使F为真的。这是从行的角度进行的运算。
⒉ 投影(Projection)
关系R上的投影是从R中选择出若干属性列组成新的关系。记作:
ΠA(R) = { t[A] | t∈R }
其中A为R中的属性列。
⒊ 连接(Join)
连接包括θ连接,,,半连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
连接运算从R和S的笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的。
连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。
θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。
(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。
一般的连接操作是从行的角度进行运算。但自然连接还需要取消了重复列,所以是同时从行和列的角度进行运算。
4. 除(Division)
给定关系R(X,Y)和S(Y,Z),其中X, Y, Z为属性组。R中的Y与S中的Y&127;可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X)。该P中只包含R中投影下来的的X属性组,且该X属性组应满足:R(Y)=S(Y)。
企业信用信息如何进行笛卡尔积运算?请说明方法,
大王丶路过lHs
笛卡尔积对于并、交差运算可右分配.即: (B*C) ×A=(B×A)*(C×A说白了,就是一个集合里的每一个元素和另一个集合的每一个元素“交配”一
能否举例说明,另外这个有顺序吗?
为您推荐:
其他类似问题
扫描下载二维码如何避免出现笛卡尔积运算.
如何避免出现笛卡尔积运算.
& 两表关联的时候通过最小的粒度关联
SQL&create volatile MULTISET TABLE&& tb_test_01
statis_month number(6)
,area_code varchar2(5)
insert into tb_test_01 values(200902,'A2101');
insert into tb_test_01 values(200902,'A2102');
SQL&create volatile MULTISET TABLE&& tb_test_02
statis_month number(6)
,area_code varchar2(5)
insert into tb_test_02 values(200902,'A2101');
insert into tb_test_02 values(200902,'A2102');
测试1:表tb_test_01和tb_test_02的最小粒度是area_code,这里我们使用statis_month关联两表
看出来的记录数是多少.
select a.statis_month,a.area_code
from tb_test_01 a
inner join tb_test_02 b
on a.statis_month = b.statis_month
这里输出的记录数是2(表tb_test_01的两条记录) X 2(表tb_test_2的两条记录) = 4,产生了笛卡尔积运算,显然这不是我们想要的结果.
测试2:通过最小粒度area_code关联
select a.statis_month,a.area_code
from tb_test_01 a
inner join tb_test_02 b
on a.area_code = b.area_code
STATIS_MONTH AREA_CODE
------------ ---------
这里通过最小的粒度关联,达到我们想要的结果.
总结:在实际应用过程中通过关联表的最小粒度关联,可以避免产生笛卡尔积.这里的最小粒度可以理解为表中的唯一性约束的字段值.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2564次
排名:千里之外

我要回帖

更多关于 迪卡尔沙曼 的文章

 

随机推荐