数据库笛卡尔积

数据库笛卡尔积,第1张

所谓笛卡尔积,通俗点说就是指包含两个集合中任意取出两个元素构成的组合的集合.

举例子,假设R中有元组M个,S中有元组N个,则R和S的笛卡尔积中包含的元组数量就是M*N.这个规则可以向多个关系扩展.

上面的例子的笛卡尔积结果就是tj_angela给出的(ac,ad,bc,bd)

属于的含义就是R是d1*d2*……*dn子集,这里其实是相等的.

1. 域是指一个数学对象集合中的所有元素的取值范围。

在计算机领域中,我们通常将其理解为数据类型的取值范围。

2. 笛卡尔积是指将两个集合中的元素按照一定的规则进行组合生成一个新的集合。

在数据库中,我们常常使用笛卡尔积来实现多表查询。

3. 属性在数据库中是指关系模式中描述关系的特性或者字段,也就是关系中的列。

通常每个属性都有一个对应的数据类型,用来规定该属性可以存储的数据类型范围。

例如,在学生表中可以定义属性包括姓名、年龄、性别、学号等。

按照行来计算,可以把每行的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

扩展资料:

一、运算性质:

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月的考勤信息,理论上这些人应该每天都有记录。但是实际上有的人在某些天上面的数据缺少了,然而不论是一天一天的查询,还是一个一个人的查询,都比较麻烦。

在这种情况下,可以针对每个人每一天做一个笛卡尔积处理。去除与实际表的关联,就很容易找出确实数据了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存