笛卡尔乘积

笛卡尔乘积是指在数学中,两个集合XY的笛卡尔积(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)}。

矩阵的笛卡尔乘积就是矩阵的直积

讲到笛卡尔乘积,就难免会提到数据库中的 "自然连接(⋈)"。

要求:连接两个表 R ⋈ S
(表中标黄的数据后面会说到)

先看两个表头,发现A C是重复出现的

所以连接后,新表头为

然后把A C这两列单独拎出来,如下

发现有两组相同的,(也就是上面标红的数据
所以这两个表连接之后只有 两条 记录。

此时,可以做出下图

这时候从原来的R表、S表中找到对应数据填上

这样表格就完成了。

然后根据上述过程,尝试完成下面的例题:

结果:

我们还可以知道 当R和S没有公共属性时,则R⋈S = RXS
(没有公共属性,即每个属性都有它们唯一确定的值。所以RXS就没有需要划去的,也没有相同属性需要整合)

参考链接


发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注