一、笛卡儿积
王珊版教材定义:笛卡儿积是域上的一种集合运算。
光看概念并不太明显的看出笛卡儿积是什么,举个例子:
给出关系R:
姓名 | 班级 |
---|---|
张三 | 1班 |
李四 | 2班 |
给出关系S:
专业 | 性别 |
---|---|
计算机 | 男 |
计算机 | 女 |
R✖S(笛卡儿积)的结果是:
姓名 | 班级 | 专业 | 性别 |
---|---|---|---|
张三 | 1班 | 计算机 | 男 |
张三 | 1班 | 计算机 | 女 |
李四 | 2班 | 计算机 | 男 |
李四 | 2班 | 计算机 | 女 |
我们可以看到笛卡儿积的结果是两关系元组基数的乘积,即2×2 = 4
二、等值连接
等值连接是从关系R与S的广义笛卡儿积中选取A、B属性值相等的元组。
给出教师信息表A如下:
教师号 | 教师名 |
---|---|
2017 | 司小东 |
2018 | 魏大勇 |
课程表B如下:
教师名 | 课程名 |
---|---|
司小东 | 数学模型 |
魏大勇 | 数据库原理 |
如果我想通过教师号获得课程名,那就需要把两个表连接起来了,按照教师名这个属性来连接,
结果如下:
教师号 | A.教师名 | B.教师名 | 课程名 |
---|---|---|---|
2017 | 司小东 | 司小东 | 数学模型 |
2018 | 魏大勇 | 魏大勇 | 数据库原理 |
三、自然连接
自然连接是一种特殊的等值连接,它会把重复列消除。
也有:
自然连接一定是等值连接,等值连接不一定是自然连接。
所以对于自然连接后的结果应该是:
教师号 | 教师名 | 课程名 |
---|---|---|
2017 | 司小东 | 数学模型 |
2018 | 魏大勇 | 数据库原理 |
tip:等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
相信大家到现在通过三个小例子对这三个有一些区分了吧。?