数据库的传统集合运算(并、差、交、笛卡尔积)和专门的关系运算(选择、投影、连接、除运算) | 您所在的位置:网站首页 › 数学中投影的符号有哪些 › 数据库的传统集合运算(并、差、交、笛卡尔积)和专门的关系运算(选择、投影、连接、除运算) |
转载:https://blog.csdn.net/zgcr654321/article/details/82077809
正文如下: 各种运算符如下: 数据库中每行就是一个元组,每列就是一个属性。 数据库的传统集合运算包括:并、差、交、笛卡尔积运算。这四种运算都与数学上的同名运算概念相似。 并: 差: 交: 笛卡尔积: 广义笛卡尔积(Extended Cartesian Product):两个分别为n目和m目关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1*k2个元组,记作:R×S={tr⌒ts| tr∈R∧ts∈S}或记做R×S={(r1,…,rn ,s1,…,sm)∣((r1,…,rn)∈R∧(s1,…,sm)∈S)。 r,s为R和S中的相应分量。 简单来说,就是把R表的第一行与S表第一行组合写在一起,作为一行。然后把R表的第一行与S表第二行依此写在一起,作为新一行。以此类推。当S表的每一行都与R表的第一行组合过一次以后,换R表的第二行与S表第一行组合,以此类推,直到R表与S表的每一行都组合过一次,则运算完毕。如果R表有n行,S表有M行,那么笛卡尔积R×S有n×M行。 下面举一个例子: 关系表R和S如下图所示: R并S、R减S、R交S、选择、R与S的笛卡尔积结果如下所示: 选择B>'4'(R),即选择语句的条件,对R的关系做水平分割,选择R中符合条件的元组。
数据库的专门关系运算有:选择(对关系进行水平分割)、投影(对关系进行垂直分割)、连接、自然连接(关系的结合)、除运算等。 选择(selection): 选择就是"筛选行"。选择一般要对一张表选择符合条件的行(但包含所有列)。 举例: 投影(projection): 投影就是"筛选列"。一个数据库表,如仅希望得到其一部分的列的内容(但全部行),就是投影。 举例: 除法(division): 记为R÷S,它是笛卡尔积的逆运算。设关系R和S分别有r列和s列(r>s,且s≠0),那么R÷S的结果有(r-s)个列,并且是满足下列条件的最大的表:其中每行与S中的每行组合成的新行都在R中。注意有时关系之间的除法也有"余数",可能S×T的结果为R的一部分(最大的一部分),R中的多余部分为"余数"。 举例: 运算过程: C, D是关系S中的两个属性, 故在R集合中对除了C, D的属性, 即A, B两属性进行投影, 得到a, b; b, c; e, d;这三组, 然后用这个结果与关系S进行笛卡尔积运算, 发现b c c d这组在关系R中没有, 其余a, b; e, d; 做的运算在R中存在. 因此最后结果为a, b; e, d。 连接(join):
两表笛卡尔积的结果比较庞大,实际应用中一般仅选取其中一部分的行,选取两表列之间满足一定条件的行,就是关系之间的连接。 根据连接条件的种类不同,关系之间的连接分为等值连接、大于连接、小于连接、自然连接。 条件是类似于"B列=D列"的"某列=某列"的条件,就是等值连接; 条件是"某列>某列"的,就是大于连接; 条件是"某列4∧D>3",表示"C列值>4,且D列值>3",二者需同时满足。 用"∨"表示"或",即两边的条件有一个成立即可。 例如"性别='女'∨年龄 |
CopyRight 2018-2019 实验室设备网 版权所有 |