关系代数学习

个人笔记, 网上摘抄

 
垂直 平行 恒等于 相似相同 三角形  
                 
正比 逻辑和 逻辑或 积分 不等于 小于等于 大于等于 约等于 无穷

 

 

2018-10-22 13:27:34

image

image

对于集合操作中U,∩,-操作需要满足并相容性

并操作

image

举例

 image

差运算

image

 

 

举例

image

笛卡儿积

笛卡儿积是将关系R中的每个元组与关系S中的每个元组进行拼接组成一个新的关系

下面是RxS的结果,R和S使用上图中的R,S

image

选择操作

选择操作就是从关系中选出符合条件的元组,选出某一些行来进行操作

image

 

举例

选择A2值为a或b的元祖

imageimage

投影操作

投影操作是从关系R中选出某些列。

image

举例

将A1和A3进行投影,如果投影中有重复的元组则需要去掉

image

连接操作

连接操作是先对两个关系做笛卡儿积生成一个新的关系,然后在新的关系上做选择操作

image

Ɵ是比较运算符,如>,<,=等

举例

下图中先将R和S进行笛卡尔积运算,然后在选出B<=H的元组来。

image

下图中使用了自连接操作

image

自然连接

自然连接是一种特殊的等值链接,他要求关系R和关系S具有相同的属性组B(b1,b2,b3……),这些属性组的取值是相等的,在最后生成的关系中去掉属性重复的列。

image

举例

下图中属性相同的只有一项B

image

除操作

除操作比较复杂,它是一种全包含操作,通过下面的例子来解释除操作

image

在(1)中计算R除以S操作,首先生成的关系中没有R和S的公共属性A3。其次生成的关系中每个元组与S中的元组进行组合都能出现在R中。

在(3)中只有(a,e)的原因是只有(a,e)与S中的每个元组组合才能出现在R中,而像(d,b)这种元组如果如S中每个元组组合的话不能全部出现在R中。

在(2)中我们可以这样来理解除法运算,找出即出现c又出现f的元组,并且这些元组的其余属性值是相等的。如包含c和f的元组有【(a,b,c)】,【(d,b,c),(d,b,f)】【(a,e,c),(a,e,f)】,其余属性值相等的有(a,e),(d,b)。

外连接操作


提出问题

有三张表分别是Teacher(T#, Tname, Salary), Course(C#, Cname), Teach(T#, C#)

请列出所有老师的信息,包括姓名,工资,所教课程

下面是关系代数公式:

image

image

通过自然连接然后进行投影,我们可以选出需要的信息。但是我们发现遗漏了一个老师,这是因为在自然连接的时候只有相等的才能被选择出来,

而在Teach表中没有编号为003的老师,也就是说编号为003的老师没有教授课程,所以在最终结果中我们遗漏了一个老师。

两个关系R和S进行连接时,如果关系R中的元组在S中没有找到相匹配的元组,或者关系S中元组在R中没有找到相匹配的。为了避免元组信息的丢失,假定R或S中存在一个值全为空的元组,然后将未匹配的元组与全为空的元组连接起来。

image

如同所示R中的第二行和第三行记录在S中未找到匹配的,那么就与空元组进行连接,S中的元组亦然。所以最后的外连接结果如上图所示。

  • 左外连接,保证左边表中的元组不丢失

  • 右外连接,保证右边表中的元组不丢失

  • 全外连接,保证两个表中的元组都不丢失

下面是左外连接和右外连接,全外链接如上图所示

image

 

 

 

 

 

posted @ 2018-11-29 09:26  multitude  阅读(2191)  评论(1编辑  收藏  举报