[数据库] 关系代数θ连接操作与除操作

时间:2021-04-28 11:35:01

θ连接操作

连接操作应用举例

连接也称为θ连接,关系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-πSNOSNOSC ×πCNOC -πSNO,CNO SC )