一、前言
概念:关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。
关系代数的运算按运算符不同可分为传统的集合运算和专门关系运算两类。
如下图
关系代数中的一些符号
二、集合运算符
传统的集合运算是二目运算符,包括并、交、差、笛卡尔积四种运算。
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,t是元组变量,t属于R表示t是R的一个元组
1.并运算
结果仍然为n目关系,由属于R或属于S的元组组成。
例如
2.交运算
结果仍然为n目关系,由即属于R又属于S的元组组成。
例
3.差运算
例子:
4.笛卡尔积
例
三、专门的关系运算
例题模板:
专门的关系运算包括选择、投影、连接、除运算等。
1.选择运算
选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度出发
例:
二、投影运算
例:
3.连接
两种常用的连接运算
等值连接
自然连接
例:
等值连接
自然连接
由此可见,自然连接取消了重复列B
连接中的悬浮元组
定义:两个关系R和S在做自然连接时,关系R中某些元组
有可能在S中不存在公共属性上值相等的元组,从而
造成R中这些元组在操作时被舍弃了,这些被舍弃的
元组称为悬浮元组。
悬浮元组的扩展概念
外连接 (Outer Join)
如果把悬浮元组也保存在结果关系中,而在其他属性(在悬浮连接中关系间没有匹配的属性元组值)
上填空值(Null),就叫做外连接
左外连接
只保留左边关系R中的悬浮元组
右外连接
只保留右边关系S中的悬浮元组
例:
4.除运算
象集概念
例: