【数据库系统概念】第6章 形式化关系查询语言 知识总结

来源:互联网 发布:手机连不上虚拟网络 编辑:程序博客网 时间:2024/05/16 03:08

《数据库系统概念》第6章知识点总结

形式化关系查询语言

关系代数

关系代数基本运算:选择、投影、并、集合差、笛卡尔积、更名

 

基本运算

选择运算

选出满足给定谓词的元组,用sigma(σ)来表示,将谓词写作σ的下表

例如:属于物理系的元组可以这样写

 

通常,我们允许在选择谓词中进行比较,使用的是=、≠、<、≤、>、≥

另外,我们可以用连词将多个谓词合并为一个较大的谓词

例如:


投影运算

投影运算是一元运算,它返回作为参数的关系,但把某些属性排除在外。

用大写希腊字母pi(π就大概这个样子写大点。。。我打不出来2333

例如:

 


关系运算的组合

例如:找出物理系的所有教师的名字

 


并运算

就是将两个集合并起来

例如:找出开设在2009年秋季学期或者2010年春季学期或者这两者皆开的所有课程的集合

 

另一方面,设rs是数据库关系或者作为关系代数表达式结果的临时关系。要使r U s有意义,需满足以下两个条件:

1)关系rs必须是同元的,即它们的属性数目必须相同

2)对所有的ir的第i个属性的域必须和s的第i个属性的域相同


集合差运算

- 表示集合差运算,可以找出在一个关系中而不在另一个关系中的那些元组。

例如:找出所有开设在2009年秋季学期但是在2010年春季学期不开的课程

 


笛卡尔积运算

X表示笛卡尔积,可以将任意两个关系的信息组合在一起。


更名运算

关系代数表达式的结果没有可供我们引用的名字,我们可以通过小写希腊字母rho(ρ)表示的更名运算来完成这一任务。

返回表达式E的结果,并把名字x赋给了它

 

返回表达式E的结果,并赋给它名字x,同时将各属性更名为A1A2...An

 

 

附加的关系代数运算

集合交运算

例如:在2009年秋季和2010年春季都开设的课程

集合交运算与集合差运算的关系:

 

自然连接运算

用连接符号来表示

自然连接运算首先形成它的两个参数的笛卡尔积,然后基于两个关系模式中都出现的属性上的相等性进行选择,最后还要去除重复属性。

例如:找出所有教师的姓名,连同他们教的所有课程的course_id

 

自然连接是可结合的

theta连接是自然连接的扩展,它使得我们可以把一个选择运算和一个笛卡尔积运算合并为单独的一个运算,即自然连接是选出笛卡尔积中相同的属性,而theta连接是选出笛卡尔积中满足该选择运算的属性。

 

 

赋值运算

 

R x S的结果赋给temp1

 

外连接运算

外连接是连接运算的扩展,可以处理确实的信息。有左外连接、右外连接和全外连接

左外连接():取出左侧关系中所有与右侧关系的任一元组都不匹配的元组,用空值填充所有来自右侧关系的属性,再把产生的元组加到自然连接的结果中。

右外连接():与左外连接相对称

全外连接():既做左外连接又做右外连接,既填充左侧关系中与右侧关系的任一元组都不匹配的元组,又填充右侧关系中与左侧关系的任一元组都不匹配的元组,并把结果都加到连接的结果中。

 

扩展的关系代数运算

广义投影

广义投影允许在投影列表中使用算术运算和字符串函数等来对投影进行扩展。

例如:

 


聚集

聚集运算可以用来对值的集合使用聚集函数,例如计算最小值或者求平均值

聚集函数:输入值的一个汇集,将单一值作为结果返回。比如输入几个数的集合,返回他们的和作为结果

 

distinct添加在函数名后,可以去除重复

例如:

 

 

元组关系演算

元组关系演算表达式具有如下形式:

其中P是一个公式,公示中可以出现多个元组变量。如果元组不被“存在”或“任意”修饰,则称为自由变量。

 

 

域关系演算

域关系演算是从属性域中取值的域变量,而不是整个元组的值。




注:图片均来自《数据库系统概念》第6版——机械工业出版社

阅读全文
0 0
原创粉丝点击