数据库关系代数操作与扩展操作
数据库关系代数操作与扩展操作
序: 本篇主要介绍数据库的关系操作及其用数学怎么表示。 **1.**关系代数操作分为集合操作和纯关系操作。(下面附战德臣老师课件的一张图以便于理解) **2.**并运算(U) 类似于数学定义,假设关系A和关系B是并相容的,则关系A与关系B的并运算结果也是一个关系。记作A U B。 数学描述:A U B ={ t | t ∈A v t ∈B},其中t是元组。 并运算是将2个关系的元组合并成一个关系,在合并时去掉重复的元组。 并运算经常出现在题目中有“或者…或者…”的题中。 3.交运算 (交运算基本与并运算一样)假设关系A和关系B是并相容的,则关系A与关系B的并运算结果也是一个关系。记作A ⌒B。 数学描述:A ⌒ B ={ t | t ∈A v t ∈B},其中t是元组。 4.差运算 关系R与关系S的差(Difference)由属于R而不属于S的所有元组组成,即R中删去与S中相同的元组,组成一个新关系,其结果仍为n目关系。
数学描述:R-S={t|t∈R∧┐t∈S}
通过差运算,可实现关系数据库记录的删除。
用集合表示的差运算的关系如下:
5.笛卡尔积 附图一张,博主认为战老师的理解很好 6.投影
给定一个关系R,投影运算结果也是一个关系,记作Πa®,他从关系R中选出属性包含在a中的列构成。 数学描述: 一些简单的例子:投影出a3列的元组: Πa3® 投影出a3,a1两列的元组:Πa3,a1® 7选择. 对一个关系R,给定一个条件,从关系R中选择出满足条件的元组。 数学描述: 一些简单的例子:8连接
当要涉及到多个表进行操作时,就需要进行连接操作。 (同样附战老师的理解图一张┗|`O′|┛) 这里附一题以便于理解: R×S:是R中的每一个元组,依次与S中的全部元组进行连接(即直接在后面加上(ง •_•)ง) :是寻找A中与B中相同的列与其进行连接,但注意这里要去掉相同的,例如:本题R中B与S中的B无相同的数,所以R中的第二元组就不需要与S中的进行连接了。 9.除 除法运算经常用于题目中有“查询…全部的/所以的…”问题。
附图一张便于理解