第四讲-关系代数_2015
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
列出工资大于5000的职员信息.
salary> 5000 (Staff)
2015/4/1
秦斌,CEEE,HUST
14
2. 投影 (一元操作)
Projection
对列的操作
但投影之后不仅取消了原关系中的某些列,而 且还可能取消某些元组(避免重复行)
col1, . . . , coln(R)
R S={t|t∈R∨t∈S}
关系 R 和 S 的并定义了一个包含R、S中所有不 同元组的新关系
R和S必须有并相容性。【两个关系模式完全匹
配,即有同样多的属性,且对应属性有相同的 域】
并相容性可使用投影操作实现
2015/4/1
秦斌,CEEE,HUST
17
3. 并 (续)
若R和S分别有I 和J个元组,将这些元组并置 于一个关 系中就可获得R和S的并,其中最多有 (I + J) 个元组
作用于单个关系R, 得到由R的一个垂直子集构 成的新关系,该垂直子集抽取R中指定属性上 的值,并去掉了重复元组。
2015/4/1
秦斌,CEEE,HUST
15
投影 Example
列出Branch关系中,设置分机构的所有城 市
city(Branch)
2015/4/1
秦斌,CEEE,HUST
16
3. 并 Union (二元操作)
其他的操作 :连接(Join), 交 (Intersection), 除法(Division), 可由上述5 个操作表示。
来自百度文库
2015/4/1
秦斌,CEEE,HUST
5
关系代数操作:选择,投影,笛卡儿积,并,交,集合差
2015/4/1
秦斌,CEEE,HUST
6
关系代数操作:连接与除法操作
2015/4/1
秦斌,CEEE,HUST
7
关系代数运算符
运算符
集∪ 合运∩ 算× 符
含义
并 差 交 广义笛 卡尔积
运算符
比> 较≥ 运< 算 符≤
= ≠
含义
大于 大于等于 小于 小于等于 等于 不等于
2015/4/1
秦斌,CEE,HUST
8
关系代数运算符
运算符 含义
运算符 含义
专门的
关系运 算符
σ 选择 逻辑运 π 投影 算符
2015/4/1
秦斌,CEE,HUST
20
差 (续)
ABC
R a1 b1 c1 a1 b2 c2 a2 b2 c1
ABC
S a1 b2 c2 a1 b3 c2 a2 b2 c1
ABC
R-S
a1 b1 c1
2015/4/1
秦斌,CEEE,HUST
21
差 Example
Client
(clientNo, name, telNo, preType,
maxRent)
PropertyForRent (propertyNo, street, city, type, rooms, rent, ownerNo, clientNo, name, telNo, preType, maxRent staffNo, clientNo)
第四章 关系代数与 关系演算
2015/4/1
秦斌,CEEE,HUST
1
内容
1. 概述
2. 关系代数
一元操作 集合操作 连接操作 除法操作
3. 关系演算(自学,了解即可)
2015/4/1
秦斌,CEEE,HUST
2
概述
关系代数及关系演算是形式语言,作为DML的基 础
关系代数:(高阶)过程性语言;关系演算:非 过程性语言;两者具有互等性。
关系代数运算对象和结果均为关系,因此 结果可输入至新的操作;
允许出现嵌套的关系表达式,如同算术操 作;
关系在关系代数下是封闭的(closure),如 同数字在算术操作下是封闭的。
2015/4/1
秦斌,CEEE,HUST
4
关系代数(续 )
定义了五类基本操作: 选择(Selection), 投 影(Projection), 笛卡尔积(Cartesian product), 并(Union), 集合差(Set Difference); 处理主要的数据获取功能
10
秦斌,CEEE,HUST
2015/4/1
Branch
Staff
Client
PropertyForRent
11
秦斌,CEEE,HUST
2015/4/1
1. 选择 (一元操作)
选择:selection or restriction
对行的操作
F (R) = {t | t R ∧F(t)=true}
作用于单个关系R, 得到一个关系,包含满足条 件F的所有R中元组(行)
2015/4/1
秦斌,CEEE,HUST
12
选择 Example 1
列出所有职位为经理的职员信息.
position = ‘Manager’ (Staff)
2015/4/1
秦斌,CEEE,HUST
13
选择 Example 2
一种语言如果可以生成所有通过关系代数/关系演 算推导出的关系,则称该语言具备关系完备性, 如SQL。
大多数关系查询语言(SQL)具备比关系代数/演 算更强的表达能力,如完成计算,求和,排序等 功能。
秦斌,CEEE,HUST
3
2015/4/1
关系代数
关系代数定义了一系列操作,运用这些操 作可从一个或多个关系中得到一个新的关 系,而不改变源关系(视图的获取);
连接 ÷除
非 ∧与 ∨或
2015/4/1
秦斌,CEE,HUST
9
教学数据库 实例
DreamHome
Branch (branchNo, street, city, postcode)
Staff
(staffNo, name, position, sex, DOB, salary,
branchNo, telephone)
ABC
R a1 b1 c1 a1 b2 c2
ABC
a2 b2 c1
a1 b1 c1 R∪S a1 b2 c2
ABC
a1 b3 c2
S a1 b2 c2 a1 b3 c2
a2 b2 c1
a2 b2 c1
2015/4/1
秦斌,CEEE,HUST
18
并 Example
列出具有分支机构或存在待租房产的城市清单
city(Branch) city(PropertyForRent)
Branch
PropertyForRent
2015/4/1
秦斌,CEEE,HUST
19
4. 差 Set Difference
R – S ={t|t∈R∧┐t∈S}
定义一个关系,其元组属于R,但不属于S R 和 S 必须具备关系并相容性 .
salary> 5000 (Staff)
2015/4/1
秦斌,CEEE,HUST
14
2. 投影 (一元操作)
Projection
对列的操作
但投影之后不仅取消了原关系中的某些列,而 且还可能取消某些元组(避免重复行)
col1, . . . , coln(R)
R S={t|t∈R∨t∈S}
关系 R 和 S 的并定义了一个包含R、S中所有不 同元组的新关系
R和S必须有并相容性。【两个关系模式完全匹
配,即有同样多的属性,且对应属性有相同的 域】
并相容性可使用投影操作实现
2015/4/1
秦斌,CEEE,HUST
17
3. 并 (续)
若R和S分别有I 和J个元组,将这些元组并置 于一个关 系中就可获得R和S的并,其中最多有 (I + J) 个元组
作用于单个关系R, 得到由R的一个垂直子集构 成的新关系,该垂直子集抽取R中指定属性上 的值,并去掉了重复元组。
2015/4/1
秦斌,CEEE,HUST
15
投影 Example
列出Branch关系中,设置分机构的所有城 市
city(Branch)
2015/4/1
秦斌,CEEE,HUST
16
3. 并 Union (二元操作)
其他的操作 :连接(Join), 交 (Intersection), 除法(Division), 可由上述5 个操作表示。
来自百度文库
2015/4/1
秦斌,CEEE,HUST
5
关系代数操作:选择,投影,笛卡儿积,并,交,集合差
2015/4/1
秦斌,CEEE,HUST
6
关系代数操作:连接与除法操作
2015/4/1
秦斌,CEEE,HUST
7
关系代数运算符
运算符
集∪ 合运∩ 算× 符
含义
并 差 交 广义笛 卡尔积
运算符
比> 较≥ 运< 算 符≤
= ≠
含义
大于 大于等于 小于 小于等于 等于 不等于
2015/4/1
秦斌,CEE,HUST
8
关系代数运算符
运算符 含义
运算符 含义
专门的
关系运 算符
σ 选择 逻辑运 π 投影 算符
2015/4/1
秦斌,CEE,HUST
20
差 (续)
ABC
R a1 b1 c1 a1 b2 c2 a2 b2 c1
ABC
S a1 b2 c2 a1 b3 c2 a2 b2 c1
ABC
R-S
a1 b1 c1
2015/4/1
秦斌,CEEE,HUST
21
差 Example
Client
(clientNo, name, telNo, preType,
maxRent)
PropertyForRent (propertyNo, street, city, type, rooms, rent, ownerNo, clientNo, name, telNo, preType, maxRent staffNo, clientNo)
第四章 关系代数与 关系演算
2015/4/1
秦斌,CEEE,HUST
1
内容
1. 概述
2. 关系代数
一元操作 集合操作 连接操作 除法操作
3. 关系演算(自学,了解即可)
2015/4/1
秦斌,CEEE,HUST
2
概述
关系代数及关系演算是形式语言,作为DML的基 础
关系代数:(高阶)过程性语言;关系演算:非 过程性语言;两者具有互等性。
关系代数运算对象和结果均为关系,因此 结果可输入至新的操作;
允许出现嵌套的关系表达式,如同算术操 作;
关系在关系代数下是封闭的(closure),如 同数字在算术操作下是封闭的。
2015/4/1
秦斌,CEEE,HUST
4
关系代数(续 )
定义了五类基本操作: 选择(Selection), 投 影(Projection), 笛卡尔积(Cartesian product), 并(Union), 集合差(Set Difference); 处理主要的数据获取功能
10
秦斌,CEEE,HUST
2015/4/1
Branch
Staff
Client
PropertyForRent
11
秦斌,CEEE,HUST
2015/4/1
1. 选择 (一元操作)
选择:selection or restriction
对行的操作
F (R) = {t | t R ∧F(t)=true}
作用于单个关系R, 得到一个关系,包含满足条 件F的所有R中元组(行)
2015/4/1
秦斌,CEEE,HUST
12
选择 Example 1
列出所有职位为经理的职员信息.
position = ‘Manager’ (Staff)
2015/4/1
秦斌,CEEE,HUST
13
选择 Example 2
一种语言如果可以生成所有通过关系代数/关系演 算推导出的关系,则称该语言具备关系完备性, 如SQL。
大多数关系查询语言(SQL)具备比关系代数/演 算更强的表达能力,如完成计算,求和,排序等 功能。
秦斌,CEEE,HUST
3
2015/4/1
关系代数
关系代数定义了一系列操作,运用这些操 作可从一个或多个关系中得到一个新的关 系,而不改变源关系(视图的获取);
连接 ÷除
非 ∧与 ∨或
2015/4/1
秦斌,CEE,HUST
9
教学数据库 实例
DreamHome
Branch (branchNo, street, city, postcode)
Staff
(staffNo, name, position, sex, DOB, salary,
branchNo, telephone)
ABC
R a1 b1 c1 a1 b2 c2
ABC
a2 b2 c1
a1 b1 c1 R∪S a1 b2 c2
ABC
a1 b3 c2
S a1 b2 c2 a1 b3 c2
a2 b2 c1
a2 b2 c1
2015/4/1
秦斌,CEEE,HUST
18
并 Example
列出具有分支机构或存在待租房产的城市清单
city(Branch) city(PropertyForRent)
Branch
PropertyForRent
2015/4/1
秦斌,CEEE,HUST
19
4. 差 Set Difference
R – S ={t|t∈R∧┐t∈S}
定义一个关系,其元组属于R,但不属于S R 和 S 必须具备关系并相容性 .