05_关系代数
- 格式:ppt
- 大小:376.00 KB
- 文档页数:46


【数据库复习】关系代数
关系代数
问:为何称为代数?
答:因为存在操作符和操作数,操作数为表,操作符为交、并等;
关系代数有分为基于集合的关系代数和基于包的关系代数;
关系代数的基本操作:并、选择、投影、笛卡尔积、差、重命名;
基本操作的意思是其他的操作符可以通过基本操作推出;
注意:如果我们使用并、交、差运算,必须保证R和S的属性集合是相同的,当然如果不同,也可以通过重命名操作;
补充:
1.自然连接
2. θ连接
3.重命名
表达式树
基于包的关系代数
1.并
如果元组t在R中出现m次,S中出现n次,则在R∪S中出现m+n次;
2.交
如果元组t在R中出现m次,S中出现n次,则R∩S中出现min(m,n)次;
3.差
如果元组t在R中出现m次,S中出现n次,则R-S中出现(1)如果m>n,则出现m-n次;(2)如果m<>
4.消除重复操作符
δ(R) 能对关系R消除重复元组;
5.聚集操作符
SUM(A)
AVG(A)
MIN(A)
MAX(A)
COUNT(A)
其中A为某个属性;
6.分组操作符
γ
包含了以某个属性作为分组属性,还有聚集操作符;
7.排序元组
τA(R) 表示根据A属性进行排序;
8.外连接
左外连接:
右外连接:
9.扩展投影运算
关系代数表达式的分步表示
因为用一个表达式直接表示复杂的代数表达式会很不清楚,因此我们可以通过分步表示;
比如:
可以表示为:
关系代数
关系代数是关系数据库系统查询语言的理论基础。
关系代数的9种操作:
并、交、差、乘、选择、投影、联接、除、自然联接运算。
五个基本操作:
并(∪) 差(-) 笛卡尔积(×) 投影(σ) 选择(π)
四个组合操作:
交(∩) 联接(等值联接) 自然联接(RS) 除法(÷)
关系代数表达式:
由关系代数运算经有限次复合而成的式子称为关系代数表达式。这种表达式的运算结果仍然是一个关系。可以用关系代数表达式表示对数据库的查询和更新操作。
关系代数(演算)要求掌握各种语句的应用,多做书中的例题可以帮助自己熟能生巧。
关系代数表达式举例
用关系代数表示数据查询的典型例子
[例]设教学数据库中有3个关系:
学生关系S(SNO,SNAME,AGE,SEX)
学习关系SC(SNO,CNO,GRADE)
课程关系C(CNO,CNAME,TEACHER)
下面用关系代数表达式表达每个查询语句。
(1) 检索学习课程号为C2的学生学号与成绩。
πSNO,GRADE(σ CNO='C2'(SC))
(2) 检索学习课程号为C2的学生学号与姓名
πSNO,SNAME(σ CNO='C2'(SSC))
由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有关的信息,然后再执行选择投影操作。
此查询亦可等价地写成:
πSNO,SNAME(S)(πSNO(σ CNO='C2'(SC)))
这个表达式中自然连接的右分量为"学了C2课的学生学号的集合"。这个表达式比前一个表达式优化,执行起来要省时间,省空间。
(3)检索选修课程名为MATHS的学生学号与姓名。
πSNO,SANME(σ CNAME='MATHS'(SSCC))
关系代数分类
引言:
关系代数是一种用于描述和操作关系数据库中数据的形式化语言。它主要包括关系的基本运算、集合运算和关系的扩展运算。本文将对关系代数的分类进行详细介绍。
一、关系的基本运算
1. 选择运算:选择运算是根据给定的条件从关系中选取满足条件的元组。它使用谓词逻辑来描述选择条件,常用的符号是σ。例如,从一个学生关系中选择年龄大于20岁的学生,可以表示为σ(年龄>20)(学生)。
2. 投影运算:投影运算是从给定关系中选择指定的属性形成一个新的关系。它使用集合运算来描述投影条件,常用的符号是π。例如,从一个学生关系中选择仅包含学生姓名和年龄的新关系,可以表示为π(姓名, 年龄)(学生)。
3. 连接运算:连接运算是将两个关系按照指定的条件进行连接形成一个新的关系。它使用集合运算和谓词逻辑来描述连接条件,常用的符号是⨝。例如,从一个学生关系和一个课程关系中连接出选修了某门课程的学生信息,可以表示为学生⨝(学生ID=选课表中的学生ID)选课表。
4. 除运算:除运算是从一个关系中删除满足指定条件的元组,形成一个新的关系。它使用谓词逻辑来描述除条件,常用的符号是÷。例如,从一个学生关系中删除选修了某门课程的学生信息,可以表示为学生÷(学生ID=选课表中的学生ID)选课表。
二、集合运算
1. 并运算:并运算是将两个关系的元组合并在一起形成一个新的关系。它使用集合运算来描述合并条件,常用的符号是∪。例如,将一个学生关系和一个教师关系合并在一起,可以表示为学生∪教师。
2. 交运算:交运算是从两个关系中选取共有的元组形成一个新的关系。它使用集合运算来描述共有条件,常用的符号是∩。例如,从一个学生关系和一个选课表关系中选取同时存在的学生信息,可以表示为学生∩选课表。
3. 差运算:差运算是从一个关系中删除与另一个关系共有的元组,形成一个新的关系。它使用集合运算来描述差条件,常用的符号是-。例如,从一个学生关系中删除已经选修了某门课程的学生信息,可以表示为学生-选课表。
11关系代数基本概念集合运算投影选择笛卡尔积自然连接θ连接改名除法复合运算对关系的约束小结2基本概念◆关系代数:是从抽象的观点出发学习数据库查询的问题,定义查询运算符。关系代数中,表达式的运算数是关系,关系用关系名表示。将要描述的任何运算符用于关系或用于关系的表达式,逐渐构造更为复杂的表达式。一个查询就是关系代数的一个表达式。◆关系代数运算包括:集合运算符:∪(并),-(差),∩(交),╳((广义)笛卡尔积)专门的关系运算符:σ(选择),π(投影),θ(连接),|╳|(自然连接),÷(除)逻辑运算符:∧(与),∨(或),┐(非)算术比较运算符:>(大于),≥(大于等于),<(小于),≤(小于等于),=(等于),≠(不等于)
3基本概念并集、差集、选择、投影、改名运算不能由其他关系运算导出,称为基本运算。交集、笛卡尔积、θ连接、自然连接可由其他关系运算导出,称为导出运算(非基本运算)。设关系模式R(A1,A2,……An),它的一个关系为R,则用t∈R表示t是R的一个元组,t[Ai]表示元组t中相应于属性Ai的一个分量。象集(image set):给定一个关系R(X,Y),X和Y为属性集,当t[X]=x时,x在R中的象集是R中的属性集X上值为x的诸元组在Y上分量的集合,表示为Yx={t[Y]|t∈R,t[X]=x}。41 关系的基本集合运算◆集合运算:并、交、差。对于关系R和S,R∪SR和S的并,是在R中或在S中的元组的集合,即R和S的所有元组合并,结果中有重复的元组,则只保存一次。R∪S={t|t∈R∨t∈S}R∩SR和S的交,是在R和S中都存在的元组的集合。R∩S={t|t∈R∧t∈S}R-SR和S的差,是在R中而不在S中的元组的集合。R-S={t|t∈R∧┐t∈S}交运算可以用差运算来表示:R∩S=R-(R-S)R-S不同于S-R,后者是在S中而不在R中的元组的集合。这三种基本集合运算不改变关系模式。是否任意两个关系都可以进行集合运算?