2024年大数据最全【数据库】02——关系模型是什么东东_数据库模型 连线 箭头,顺利拿到OPPO公司大数据开发架构师offer

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

注意在外码约束中,被引用属性必须书被引用关系的主码。

更广泛的约束被称为引用完整性约束(referential integrity constraint),它放宽了被引用属性构成被引用关系主码的要求。

4 模式图

一个带有主码和外码的数据库模式可以用模式图来表示。

在这里插入图片描述
主码用下划线表示,外码约束从引用关系指向被引用关系。双头箭头表示引用完整性约束。注意实体-联系(E-R)图与模式图不是同一个东西,不要混淆。

5 关系查询语言

查询语言是用户从数据库中请求获取信息的语言。分为三种。

  • 命令式查询语言。用户指导系统在数据库上执行特定的运算序列以计算得出结果,这类语言通常有一个状态变量的概念,状态变量会在计算过程中被更新。
  • 函数式查询语言。计算被表示为对函数的求职,函数将在数据库数据或者其它函数给出的结果上运行,但是没有附带作用,不会更新程序的状态。
  • 声明式查询语言。用户只需要描述所需信息,并不需要给出获取该信息的具体步骤序列或者函数调用。获取信息的方式是数据库系统的工作。

关系代数式函数式查询语言,它构成了SQL查询语言的基础。元组关系演算和域关系演算是声明式的,后面文章我们将进一步介绍。

常用的查询语言比如SQL同时包含命令式、函数式和声明式的方法元素。

6 关系代数

关系代数由一组运算组成,这组运算接受一个或者两个关系作为输出,并且输出一个新的关系作为他们的结果。

其中一些运算只在一个关系上进行,比如选择、投影、改名,这被称为一元运算

同理,并,笛卡尔积和集差等被称为二元运算

6.1 选择运算

我们用sigma(σ)来代表选择。比如选择物理系老师,可以表示为:

在这里插入图片描述
还可以有=,≠,<,≤,>,≥等用于比较,使用and(∧),or(∨)和not(¬)。

选择谓词可以包含两个属性之间的比较,比如系名与其所在教学楼名字相同的所有系。
请添加图片描述

6.2 投影运算

如果我们希望列出所有教师的ID,name和salary,就可以使用投影运算。由于关系是一个集合,任何重复的行都会被删除。使用大写的pi(π)表示。
请添加图片描述

投影运算的基础版本在列表中只许出现属性,在其泛化版本中则允许出现属性的表达式。

另外,关系运算可以复合使用。

6.3 笛卡尔积运算

笛卡尔积运算使用叉号(×)表示,它允许我们结合来自任意两个关系的信息。比如r1×r2。数据库的笛卡尔积与集合中的笛卡尔积略有不同,它不是表示由r1和r2生成的元组对(t1,t2),而是将其拼接为单个元组。假设r1有n1个元组,r2有n2个元组,r中就有n1 x n2个元组。

在这里插入图片描述

由于同一个属性名可能出现在多个不同的关系中,我们需要加以区分,比如teacher.ID。考虑一个问题,一个关系与自己做笛卡尔积,要如何处理?

答案是对关系更名运算来避免。

6.4 连接运算

查询所有教师及他们所教授的课,可以进行如下运算。
请添加图片描述

注意不教授任何课程的教师不会出现在这个结果中。注意,上面的表达式会导致教师ID重复的出现,可以通过投影去除teacher.ID解决。

连接运算使我们将笛卡尔积和选择运算被合并到单个运算中。

在这里插入图片描述

6.5 集合运算

如果想要查找2017年秋季学期、2018年春季学期开设的所有课程的集合,可以使用集合语言中的完成。注意,由于关系是集合,所以重复的值只会出现一次。运算如下。请添加图片描述
为了使并运算有意义,需注意:
1.必须确保输入并运算的两个关系具有相同数量的属性,一个关系的属性数量被称为它的元数
2两个关系的属性类型必须依次对应。

这样的关系被称为相容关系。

运算用表示。可以用它找到同时出现在两个输入关系中的元组。交运算也需要在相容关系里进行。

集差(set-difference)运算用-来表示。他可以找到在一个关系里,但是不在另外一个关系里的元组。比如r-s所产生的关系包含在r中但是不包含在s中的那些元组。集差运算也需要在相容关系里进行。

6.6 赋值运算

赋值概念与其他高级语言是一致的,有时将某个表达式的一部分赋值给临时的关系变量,可以更加方便地编写该表达式。赋值表示。比如之前查找2017秋季,2018年春季都开设的课程可以表示为。
请添加图片描述
请注意,对于关系代数查询,必须始终赋值给临时的关系变量,向永久的关系代数赋值会造成数据库的修改。

6.7 更名运算

更名运算使用小写希腊字母rhoρ表示 ,给关系E重命名为x请添加图片描述

还可以给属性重命名。
请添加图片描述

6.8 等价查询

同一个查询的关系代数编写方式通常不止一种。比如下面这个栗子。
请添加图片描述
数据库的优化器会帮我们选择最高效的方式,而不是严格按照查询步骤进行。

6.9 其他关系运算

聚集运算可以对查询返回的值集进行函数计算,这些函数包括求平均值,最大值,求和等。后续文章会详细介绍。

自然连接是一种特殊的关系代数运算,要求两个连接关系需要具有相同的属性,后续会详细介绍。

外连接允许通过空值表示缺失的值,会在结果中保留这些查询不到完整信息的元组。后续详细介绍。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

**

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值