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

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

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

形式化关系查询语言

形式化关系查询语言是数据库查询的核心工具,主要以关系代数为基础。关系代数通过一系列基本运算(如选择、投影、并、集合差、笛卡尔积、更名等)构建复杂查询表达式。

基本运算

选择运算

选择运算(σ)用于筛选满足特定条件的元组。条件由谓词定义,通常支持比较运算(=、≠、<、≤、>、≥)。多个谓词可通过逻辑连接符组合成一个大谓词。

投影运算

投影运算(π)是一元运算,用于保留或排除某些属性。常用大写希腊字母π表示,例如π的投影会返回一个元组,但去除指定的属性。

关系运算的组合

通过组合各种关系运算,可以构建复杂的查询。例如,找出物理系的所有教师的名字,可以通过选择运算筛选教师身份,再投影出教师名单。

并运算

并运算(∪)将两个关系的结果合并,包含所有出现在任一关系中的元组。例如,找出2009年秋季学期或2010年春季学期开设的课程。

集合差运算

集合差运算(−)用于找出一个关系中但不在另一个关系中的元组。例如,找出2009年秋季学期但不在2010年春季学期开设的课程。

笛卡尔积运算

笛卡尔积(×)将两个关系的元组组合,生成笛卡尔积的元组。例如,R × S的结果将包含R和S的所有元组的组合。

更名运算

更名运算(ρ)用于给关系代数表达式的结果赋予元组变量名称。例如,ρ_R(R)会将结果元组的各个属性重新命名为x1、x2等。

附加关系代数运算

集合交运算

集合交运算(∩)用于找出两个关系的公共元组。例如,找出2009年秋季学期和2010年春季学期都开设的课程。

自然连接运算

自然连接(∈)用于关联两个关系。首先形成笛卡尔积,再基于共同属性选择满足条件的元组,去除重复属性。

外连接运算

外连接(⊙)是自然连接的扩展,用于处理确实信息。左外连接、右外连接和全外连接分别处理不同情况。

扩展的关系代数运算

广义投影

广义投影允许在投影列表中使用算术运算和字符串函数等扩展投影的功能。

聚集运算

聚集运算用于对多个值应用聚集函数(如求和、平均、最小值等)。例如,计算所有课程的总学分。

元组关系演算

元组关系演算允许在元组中使用变量。例如,存在量词(∃)用于判断是否存在满足条件的元组。

域关系演算

域关系演算关注属性域的取值范围。例如,选择运算中的值域和定义域的关系。

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

转载地址:http://grqwz.baihongyu.com/

你可能感兴趣的文章
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
查看>>
NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
查看>>
NLP学习笔记:使用 Python 进行NLTK
查看>>
NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
查看>>
NLP:使用 SciKit Learn 的文本矢量化方法
查看>>
Nmap扫描教程之Nmap基础知识
查看>>
Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
NMAP网络扫描工具的安装与使用
查看>>
NMF(非负矩阵分解)
查看>>
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>