θ连接操作
连接操作应用举例
连接也称为θ连接,关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取属性间满足一定条件的元组形成一个新的连接:
记作S⋈R(AθB)
其中:A为包含R中的属性的表达式
B为包含S中的属性的表达式
θ通常为关系比较符
其中θ在“=”时的连接为等值连接
例如:
数据库定义:
DB={ Student(ID,sName,sGPA)
College(cName,State,cGPA) }
其中:
关系Student表示学生信息,属性ID为学生学号,属性sName为学生姓名,属性sGPA为学生平均学分绩。
关系College表示大学信息,属性cName为学校名称,State为所在州,cGPA为入学要求学分绩。
用户所需查询:选择,投影,并运算,差运算,笛卡尔运算,更名运算,θ连接操作,除操作,以下示例:
σID=”1133730208”(Student)
πID(Student)
等。
连接操作常用表示符号
S⋈θR,其中θ表示任意条件
连接操作使用方法及实例
关系R和关系S满足条件θ的θ连接操作的结果是这样构造的:
1. 先得到R和S的积
2. 在得到的关系中寻找满足条件θ的元组
例如:
关系Student
ID |
sName |
sGPA |
1133730208 |
Wang |
3.1 |
1133730209 |
Zhou |
4.0 |
1133730210 |
Zhang |
2.2 |
关系College
cName |
State |
cGPA |
UC Berkeley |
California |
3.2 |
MIT |
Massachusetts |
3.5 |
CMU |
Pennsylvania |
3.0 |
考虑这样的θ操作Student⋈sGPA>cGPACollege
此时θ为sGPA>cGPA
则这里必须考虑9个元组的配对方案。
配对成功元组如下所示:
ID |
sName |
sGPA |
cName |
State |
cGPA |
1133730208 |
Wang |
3.1 |
CMU |
Pennsylvania |
3.0 |
1133730209 |
Zhou |
4.0 |
UC Berkeley |
California |
3.2 |
1133730209 |
Zhou |
4.0 |
MIT |
Massachusetts |
3.5 |
1133730209 |
Zhou |
4.0 |
CMU |
Pennsylvania |
3.0 |
连接操作证明
Student ⋈sGPA>cGPA College = σsGPA>cGPA(StudentхCollege)
除操作
除操作应用举例
数据库定义:DB = {
学生关系: S(SNO, Sname, Age,Sex)
课程关系: C(CNO, Cname,Teacher)
学习关系: SC(SNO, CNO, Grade) }
其中:
学生关系中,SNO为学生学号,Sname为学生姓名,Age为学生年龄,Sex为学生性别
课程关系中,CNO为课程编号,Cname为课程名,Teacher为授课教师
学习关系中,Grade为分数
用户所需查询:选择,投影,并运算,差运算,笛卡尔运算,更名运算,θ连接操作,除操作,以下示例:
σID=”1133730208”(Student)
πID(Student)
等。
除操作常用表示符号
r÷s(其中R和S已知)
除操作使用方法及实例
例如:
学习关系SC
SNO |
CNO |
Grade |
1133730208 |
12345 |
98 |
1133730208 |
25555 |
91 |
1133730201 |
12345 |
88 |
1133730208 |
45555 |
77 |
1133730201 |
45555 |
89 |
课程关系C
CNO |
Cname |
Teacher |
12345 |
系统分析与设计 |
Fan |
25555 |
操作系统 |
Fan |
45555 |
数据库 |
Li |
学生关系S
SNO |
Sname |
Age |
Sex |
1133730208 |
Wang |
21 |
男 |
1133730201 |
Zhang |
20 |
男 |
则 Πsno,cno SC ÷ πCNO C
学号 |
1133730208 |
除操作证明
πSNO,CNO SC ÷ πCNO C
= πSNOSC-πSNO(πSNOSC ×πCNOC -πSNO,CNO SC )