总共包括布尔运算,选择,投影,连接,除运算。
布尔运算
同类关系:1.R和S具有相同的度;2.R和S的对应属性定义在同一域上。
布尔运算大多是在同类关系中进行的。
布尔运算包括并,交,差,广义笛卡儿积 ,补,有效补
例子:
dom(宿舍) = { 108,106 } dom(姓名) = {数数,据据,库库,定定,义义}
dom(班级) = {15-1,15-2,15-4,15-5}
关系R和关系S对应属性均定义在如上的域上
关系R
宿舍 | 姓名 | 班级 |
108 | 数数 | 15-1 |
108 | 据据 | 15-2 |
106 | 库库 | 15-5 |
关系S
宿舍 | 姓名 | 班级 |
108 | 定定 | 15-4 |
106 | 库库 | 15-5 |
106 | 义义 | 15-5 |
并::
宿舍 | 姓名 | 班级 |
108 | 数数 | 15-1 |
108 | 据据 | 15-2 |
106 | 库库 | 15-5 |
108 | 定定 | 15-4 |
106 | 义义 | 15-5 |
交:
宿舍 | 姓名 | 班级 |
106 | 库库 | 15-5 |
差:
宿舍 | 姓名 | 班级 |
108 | 数数 | 15-1 |
108 | 据据 | 15-2 |
笛卡尔积:
(笛卡尔积是作用于两个集合;这里是指广义的笛卡儿积,对象是两个关系)
R.宿舍 | R.姓名 | R.班级 | S.宿舍 | S.姓名 | S.班级 |
108 | 数数 | 15-1 | 108 | 定定 | 15-4 |
108 | 数数 | 15-1 | 106 | 库库 | 15-5 |
108 | 数数 | 15-1 | 106 | 义义 | 15-5 |
108 | 据据 | 15-2 | 108 | 定定 | 15-4 |
108 | 据据 | 15-2 | 106 | 库库 | 15-5 |
108 | 据据 | 15-2 | 106 | 义义 | 15-5 |
106 | 库库 | 15-5 | 108 | 定定 | 15-4 |
106 | 库库 | 15-5 | 106 | 库库 | 15-5 |
106 | 库库 | 15-5 | 106 | 义义 | 15-5 |
补:
dom(宿舍) = { 108,106 }
dom(姓名) = {数数,据据,库库,定定,义义}
dom(班级) = {15-1,15-2,15-4,15-5}
在上面的域的基础上,关系R的补:
先算出的元组数(行数):2*5*4-3 = 37。额。。。举例子的时候没考虑那么多,这里就不列出来了,知道意思就行了。
有效补:
先算出关系R的有效补的个数:2*3*3 - 3 = 15。不列了。太多,借一个例子说明问题。
选择,投影,连接 语法示例:
除法:
设关系r(R)和s(S),且 。
上例子:
学号 | 课程 |
201901 | 数据库 |
201901 | 操作系统 |
201902 | 数据库 |
201902 | 数据结构 |
201903 | 数据库 |
课程 |
数据库 |
操作系统 |
象集:
201901的象集,{数据库,操作系统}
201902的象集,{数据库,数据结构}
201903的象集,{数据库}
再看关系C,这种关系越描述越不懂,跟数学中的除法联系起来,自己体会就是了。
=
学号 |
201901 |
最后综合例子的练习: