① (学习中被鄙视)关于数据库 笛卡儿积的计算
设关系R和S的属性个数分别为r和s则(RxS)操作结果的属性个数为_____,元组个数为____。
属性: r+s 这个看来你是毫无疑问了
元组:RxS-->元组的每个分量是有序排列。你分析得有道理,不是r*s, 我觉得应该用迪卡尔乘积RXS写法来表示(不管2个集合里面有多少元素,RXS就是代表RXS的笛卡尔积)。
如果非要追究到详细的行数,这题只能无解。
② 数据库关系代数中,笛卡尔积和自然连接的区别
区别:
笛卡尔积对两个关系R和S进行操作,产生的关系中元组个数为两个关系中元组个数之积。
等值连接则是在笛卡尔积的结果上再进行选择操作,挑选关系第 i 个分量与第(r+j) 个分量值相等的元组。
自然连接则是在等值连接(以公共属性值相等为条件)的基础上再行投影操作,去掉 S 中的公共属性列,当两个关系没有公共属性时,自然连接就转化成笛卡尔积。
1、自然连接一定是等值连接,但等值连接不一定是自然连接。
2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性
3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
笛卡尔积:
在数学中,两个集合X和Y的笛卡儿积(Cartesian proct),又称直积,表示为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)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。
③ 数据库问题 笛卡尔积怎么计算
按照行来计算,可以把每行的3列看做一个整体(看成1列)。
设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB。
笛卡尔积的符号化为:
A×B={(x,y)|x∈A∧y∈B}
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
(3)数据库的笛卡儿积扩展阅读:
一、运算性质:
1、对任意集合A,根据定义有
AxΦ =Φ , Φ xA=Φ
2、笛卡尔积运算不满足交换律,即
AxB≠BxA(当A≠Φ ∧B≠Φ∧A≠B时)
3、笛卡尔积运算对并和交运算满足分配律,即
Ax(B∪C)=(AxB)∪(AxC)
(B∪C)xA=(BxA)∪(CxA)
Ax(B∩C)=(AxB)∩(AxC)
(B∩C)xA=(BxA)∩(CxA)
二、应用场合:
在某些情况下用于寻找连续日期中残缺的数据,可以先用笛卡尔积做一个排列组合,然后和目标表进行关联,以查询少了哪些数据。
例如:在一张考勤记录表中,记录了100个人在2018年8月的考勤信息,理论上这些人应该每天都有记录。但是实际上有的人在某些天上面的数据缺少了,然而不论是一天一天的查询,还是一个一个人的查询,都比较麻烦。
在这种情况下,可以针对每个人每一天做一个笛卡尔积处理。去除与实际表的关联,就很容易找出确实数据了。
④ 数据库里的笛卡儿积是什么东西
笛卡尔积又叫笛卡尔乘积,是一个叫笛卡尔的人提出来的。 简单的说就是两个集合相乘的结果。 具体的定义去看看有关代数系的书的定义。 直观的说就是 集合A{a1,a2,a3} 集合B{b1,b2} 他们的 笛卡尔积 是 A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)} 任意两个元素结合在一起
⑤ 可以用容易理解的方式讲一下数据库关系运算里面的笛卡尔积,除,连接和自然连接吗书上的看不懂!谢了!
1.假如R表有(A,B,C)三个栏位 5条记录 ,S表有(A, B,C) 三个栏位3条记录,则
笛卡尔积 R X S 是将两个结果集笔数相乘,栏位照搬得做法
R表 S表
A B C B C D
a b c b g a
d a f d a f
c b d
则 笛卡尔积 R X S 为
R.A R.B R.C S.A S.B S.C
a b c b g a
a b c d a f
d a f b g a
d a f d a f
c b d b g a
c b d d a f
2. 除,是将集合 R 中与 集合 S 相同栏位数据一样的结果集选出来,但只显示 R 中 不存在 S 中的栏位,如
R S 除的结果
A B C D C D A B
a b c d c d a b
a b e f e f e d
a b d e
b c e f
e d c d
e d e f
3. 自然连接,一般用在有公共栏位的情况下,否则就是笛卡尔积;它的结果中会消除重复的栏位,并且公共栏位值不相等的记录不会出现,如
R S 自然连接结果
A B C B C D A B C D
a b c b c d a b c d
d b e b c e a b c e
b b f a d b d b c d
c a d d b c e
c a d b
4.连接又分θ 连接和 F连接,这个我也不太明白
敲了这么多字,累死我了。
⑥ 数据库中笛卡尔积的子集是什么意思
假设2张表,笛卡尔积就是2张表的所有记录的排列组合,比如: select * from 表1,表2, 就是 表1,表2的笛卡尔积。但是,实际情况中,真正使用的都是它的子集(即2表是有关联条件的),只有在极特殊的情况下才会用笛卡尔积
⑦ 数据库笛卡尔积有重复的需要去掉吗
笛卡尔乘积就是两个关系相乘,得到一个更大的关系,其字段数为原来的两个关系字段数的和,记录数为两个关系的记录数的乘积。这跟去重没关系啊。
⑧ 关系数据库,笛卡儿积
关系数据库中的笛卡尔积的结果就是两个表中行数的乘积
笛卡尔积:
SELECT * FROM table1, table2
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积
第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小
回答补充
属性是结果的列数 +
元组是结果的行数 ×
⑨ 数据库笛卡尔乘积现象,求解释
出现笛卡尔积是因为两个表都有满足条件的重复数据,如果只是一个表重复就不会出现这样的情况