【学习数据库】关系代数
【学习数据库】关系代数
文章目录1.关系代数的符号表示2.传统的集合运算(1)并(2)交(3)差(4)广义笛卡儿积3.专门的关系运算(1)选择
文章目录
(2)投影(3)连接等值连接自然连接(4)除
1.关系代数的符号表示
关系代数的符号表示
符号符号
名称名称
U
并
∩
交
–
差
广义笛卡儿积 ×
σ
选择
π
投影
⋈
连接
÷
除
>
大于
<
小于
≥
大于等于
≤
小于等于
=
等于
不等于
与
或
非
∧
∨
┐
2.传统的集合运算
传统的集合运算
关系R
学号学号 姓名姓名
182056218 梁志文
182056204 温阳
关系S
学号学号 姓名姓名
182056222 温阳
182056227 郭昊程
关系T
学号学号 成绩成绩
182056218 100
182056204 60
((1)并)并
概念:关系R和关系S的所有元组的合并,再删去重复的元组,组成一个新关系
新关系RUS
学号学号 姓名姓名
182056218 梁志文
182056204 温阳
182056227 郭昊程
((2)交)交
概念:在两个关系R与S中取相同的元组,组成一个新关系
新关系R∩S
学号学号 姓名姓名
学号学号 姓名姓名
182056204 温阳
((3)差)差
概念:在关系R中删去与关系S中相同的元组,组成一个新关系
新关系R-S
学号学号 姓名姓名
182056218 梁志文
((4)广义笛卡儿积
)广义笛卡儿积
概念:将关系R和关系T交错组合,组成一个新关系
姓名姓名
学号学号
学号学号 成绩成绩
182056218 梁志文 182056218 100
182056204 温阳 182056218 100
182056218 梁志文 182056204 60
182056204 温阳 182056204 60
新关系的行数是两个关系行数的乘积,列数是两个关系列数的和
3.专门的关系运算
专门的关系运算
((1)选择)选择
概念:在指定的关系中,按给定的条件选取其中的若干个元组(行),组成一个新的关系
σ姓名=‘梁志文’( R )
学号学号 姓名姓名
182056218 梁志文
((2)投影)投影
概念:在指定的关系R中,根据从左到右的次序,按照指定的若干属性及它们的顺序取出各列,再删去结果中重复元组,组成
一个关系
π姓名( R )
姓名姓名
梁志文
温阳
((3)连接)连接
概念:从两个关系R、T 的笛卡儿积中选取满足连接条件的那些元组
这里为了区分两个关系的学号,r.学号代表R关系的学号,t.学号代表T关系的学号
姓名姓名
学号学号
学号学号 成绩成绩
182056204 温阳 182056218 100
182056218 梁志文 182056204 60
等值连接
等值连接
姓名姓名
学号学号
学号学号 成绩成绩
182056218 梁志文 182056218 100
182056204 温阳 182056204 60
当条件是等于时,这种连接称为等值连接
当条件是等于时,这种连接称为等值连接
自然连接
自然连接
在等值连接中,等号两边的属性是同一属性,去掉重复列的关系。因此自然连接使用在R和和T有公共属性列的情况
在等值连接中,等号两边的属性是同一属性,去掉重复列的关系。因此自然连接使用在
有公共属性列的情况
R⋈T
学号学号
姓名姓名 成绩成绩
182056218 梁志文 100
182056204 温阳 60
((4)除)除
最后一个重点,一定理解并记牢
我们重新建几个表
A表
姓名姓名 选课选课
梁志文 语文
温阳 语文
梁志文 数学
B表
选课选课 学分学分
语文 3.0
数学 4.5
注意:要进行除法的两个关系必须有公共属性(列)
A÷B
姓名姓名
梁志文
如何得到除法的结果呢?
1.将表A按非公共列分组,即姓名相同的为一组
姓名姓名
梁志文
温阳
2.求表A的象集
姓名姓名 选课选课
梁志文 语文
梁志文 数学
温阳 语文
3.将B投影到公共属性,即选课
选课选课
语文
数学
4.若第二步得到的表包含第三步得到的表,则对应姓名行添加到结果中
姓名姓名
梁志文
作者:程序鸡