博客
关于我
【数据库系统概念】第6章 形式化关系查询语言 知识总结
阅读量:395 次
发布时间:2019-03-05

本文共 1519 字,大约阅读时间需要 5 分钟。

《系统概念》第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版——机械工业出版社

你可能感兴趣的文章
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_使用NIFI表达式语言_来获取自定义属性中的数据_NIFI表达式使用体验---大数据之Nifi工作笔记0024
查看>>