粉丝5123获赞2.1万

好,我们开始讲第七章啊,第七章,第七章呢,是 二人关系,那么他在结合论当中是比较重要的一个内容啊,那么第七章的主要内容有包括有序对,迪卡尔乘机。那么二人关系的定义已表示法, 那么关系的运算,关系的性质,关系的必包,等价关系划分,平息关系,这些我们都是要讲的啊,都是要讲的。 今天我们来讲一下这个游戏,对以迪卡成绩以及二人关系的这个表示啊,二人关系定义表示。 好,首先我们来看一下什么是有序对啊?什么是有序对, 有两个元素 x, y 按照一定的顺序组成了二元组,那么称作是有序对啊,有序对,那么这里呢,有两个,这个 keeppoint 是吧?关键点,一个是顺序是吧?一个是有顺序的。第二就是二元组啊,有顺序的二元组, 那我们把它称作是一个有事以对啊, 那么有序队呢?是用间括号来括起来的啊,有序队啊,那么有序队一个是有顺序性是吧? 第二个就是如果两个有序对,如果相等的话,就是,那么前面两项相等,后面两项对应的两项相等。嗯, 好,我们来看一下 decal 乘积啊,设 a b 为集合 a, 以 b 的 decal 乘积即做 a 乘 b, 且 什么呀,写什么呀? a 成 b 的元素都是什么呀?都是有序队啊,那么有序队的这个前前进是吧?有序队的前进来自于 a 集合 a 集合的元素,那么有序队的后键呢?是来自于 b 集合的元素啊,那么这个程度是有序队。呃呃,迪卡尔成绩是吧。所以呢,迪卡尔成绩其实就是什么呀?就是有序队的啊,集合,那么这个有序队呢,是由 a 集合里面的元素和 b 集合里面的元素共同组成的啊,这个底杆成绩在以后大家学数字库里面啊,数字库表的这个 内程啊,也会内程,其实也是这个 d k 二乘机啊,数据库表的内程啊,内连接。好,我们来看一个例子啊,看一个例子, 那么是 a 是这个一二三集合, b 是 a b c 集合啊,那么 a 乘 b, a 乘 b 就是什么呀?就是 a 乘 a e b 的第二成绩,是吧?那他其实是有序队的集合啊,那么有序队的前键是来自于 a 的是吧?那就是一 a 一 b 一 c 啊,那就是前键 是来自 a 是吧?后键是来自于 b 集合啊,那么二 a 二 b 二 c 三 a 三 b 三 c 啊,就是这么一个有序类的集合,那么 b 乘 a 呢? b 乘 a, 就是这个 b 集合里面,是吧?先由 b 集合里面组成的元素啊,那么是由构成前键,那么 a 集合的元素呢?是来构成这个后键啊,然后组成这个游戏队的一个成绩啊,就这样。 好,我们来看一下这个啊, a 呢,是等于空级的几和 b 等于空级,那么 p a 乘 a 是吧?首先我们要看一下 p a 等于什么是吧? p a 等于什么啊?那么 p a 应该是 一个是空级,是吧?空级是一定要有的,是吧?空级。另外还有就是什么呀?这是零个元素,那么还有就是一个元素的集合,一个元素就是什么呀?空集的集合,是吧?这是一个集合的元素,那就是他自身啊, 那么这是这个 p a, 那么 a 呢? a u 是等于这个空级的几何的是吧?那么 p a 乘 a 就是什么呀?诶?由这里面拿一个元素出来,是吧?空级, 然后这里面拿个元素出来啊,这也是什么呀?这也是空级啊,这样组成游戏队,然后这里面其实还有个元素,是吧?那就是空级的 集合,然后再次空起啊,这样啊,那就等于这个,是吧?等于这个 啊,好,我们看一下 p a 乘以 b, p a 等于这个,是吧?等于空集和空集的集合的这个集合,那么 b 集合呢? b 集合是空集,空集是没有元素的,所以呢?没有元素是, 所以他当然也没没办法拿拿这个元素出来去构造这个游戏队,是吧?所以呢, p 这个第二成绩,第二成绩里面,如如果 a 和 b 呢?前面和后面呢?有一个是空级,那么他整个就是空级啊。 好,我们看一下 decar 成绩的性质,第一,它不适合交换率,是吧?不适合交换率,因为什么呀?因为 decar 成绩它是有序对的即可。有序对是什么呀?有序对是有顺序的啊, 所以他对这个顺序是非常敏感的啊。第二,他不适合结合率啊,不适合结合率,因为你如果要结合的话,那么他 他们结合之后的他的这个有序队是完全不一样的啊,完全不一样,所以呢,就是这个风,这个是不一样的一个这个有序队啊,所以他也不满足这个结合率。 那么第三,对并应省或者交应算啊,还有集合的应算呢,它是满足分配率的。 那么迪卡尔成绩与并级和交集其实是两个维度啊,两个维度的这个运算,所以呢,他当然就可以这个满足这个分配率啊。所以好。第四, a 和 b 当中有一个如, 如果是空级的话,那么他们的 decar 成绩就一定是空级啊,一定是空级, 这个刚刚我们已经已经这个做过了,是吧?好,第五个,如果 a 里面 a 集合里面有 m 个元素, b 集合里面有 n 个元素,那么 a 乘 b 抵考成绩的元素就是什么呀? m 成 n 的,是吧?因为什么呢?它有 m 中可能,是吧,取值的可能,它有 n 中取值的可能,那么它们构成了有序列的取值可能就是 m 成 n 的啊, 这个证明我们就不证了啊。好,接下来我们来看一下这个恶言关系啊,恶言关系,那么恶言关系 呢?其实这个定义啊,其实他是一个,嗯,我们来看一下他的定义啊, 如果一个集合,他是空集,或者呢,他他的元素都是有序,对啊,那么他这样的一个集合称作是一个二元关系, 这里说明什么呀?说明空级也是一个二元关系,是吧?如果他不是空级呢?那么他的元素必须是什么呀?二元二元组,是吧?有序,对啊,有序,对,那么这样的集合呢?称作是一个二元关系。二元关系。 好,我们来看下这个实力啊,那么这是一个集合,是吧?这是一个集合,那么这里面的元素都是什么呀?都是有序, 对,所以呢,它是一个二眼关系啊,这个 s 集合呢? s 集合呢?这里有一个游戏队,是吧?但是这个 a 和 b 不是游戏队,所以呢,它不是一个二眼关系啊,它不是一个二眼关系啊, 那么这就是这个恶言关系的定义啊。他要么是空级,是吧?如果他不是空级呢?他的元素必须什么呀?都是有序队啊,一定要都是有序队啊,不能出现其他的这个情况啊。 好,我们来看一下这个 a 到 b 的关系与 a 上的关系是 a b 为几何?那么 a 乘 b 的任何子级所定义的二元关系叫做什么呢?叫做 a a 到 b 的二人关系,是吧?也就是说 a 乘 b 的任何子级啊, a 以 b 的底卡儿乘积是吧? a 以 b 的底卡儿乘积,都是什么呀? 都是有序队是吧?都是二元二元这个二元这个组有序队啊,有序队,所以呢,他的子级呢?当然也是有序队的啊,所以呢,这个集合呢,就称作 a 到 b 的二元关系,当 a 等于 b 的时候呢,就称作 a 上的二元关系,是吧? a 上的二元关系就是 a 乘 a 啊, a 乘 a, a 乘 a 的这个自积啊。好,我们来看一下这个 a 等于零一集合, b 等于一一二三集合,那么我们看一下,这里有 r 一 r 二, r 三、 r 四,是吧?好,我们看一下这个, 我们看一下 r 一 r 一零啊,有个零二,是吧?二肯定是从这来的,是吧?零肯定是从 a 来的,所以呢, r 一肯定是 a 到 b 的关系啊, a 到 b 的关系, r 二呢? r 等于 a 乘 b, 那么 r 等于 a e b 的低个儿乘积就是什么呀?这个肯定是,是吧?肯定是 a 乘 b, 肯定是这个 a 乘 b 的子级啊,所以呢,它也是什么呀?它也是这个 a 到 b 的关系啊, a 到 b 的二人关系,那么 s m s n 等于空级,空级是任何几何的子级是吧?他肯定也是这个这个 a 乘 b 的子级啊 啊, r 四呢? r 四零一是吧?零从这里取一个,一从这里取个,肯定也是这个啊,可能也是这个,所以呢, r 一 r 二, r 三 s 四都是 上面都是 a 到 b 的关系啊,都是 a 到 b 的关系,那么 r 三和 s 四这个稍微有点特殊啊,稍微有点特殊,为什么呢?因为他也是 a 到 a 的关系 啊,你可以把这个这个 b 集合给给盖住,是吧?那么空级肯定是 a 乘属于 a 乘 a 的啊,空级肯定属于 a 乘 a 的,那么零到一的集合呢?零到一的集合呢啊,零到一的这个游戏队其实也是什么呀?也是 a 乘 a 的集合,所以这个 r 三 r 四也是 a 上的二元关系。 好,我们来看一下这个二人关系的这个技术啊,技术,那么假设啊,假设 a 有 n 个元素啊, a 有 a 有 n 个元素,那么 a 乘 a 肯定就会是这个 n 的平方个元素,是吧? a 乘 a 是 a 的皮肤跟元素,这个就是什么呀?这个就是有序,对啊,有序对,有序对集合的这个个数,是吧?有序对集合的元素个数,那么 a 乘 a 的子级有多少个呢?有多少个呢? 子级的个数,这个就是什么呀?前面我们讲过,是吧,其实就是你 p 就是求密集,求的是, 我们之前讲秘籍的时候讲过,是吧?你要求一个集合的秘籍,其实就他求他子级啊,求他子级,所以呢, a 乘 a 的子级呢?就是有多少个呀,就有二的 n 的平方个啊,因为我们前面讲了,是吧,如果 a 有 n 个元素,那么他有多少个秘籍啊?那就是二的 n 字方个秘籍啊, 它的面积有二的 n 字方格元素啊,所以呢,这个也是同样的,是吧?所以呢, a 上有二, r 的 n 次方, r 的 n 平方个啊,二零,二零关系。 好,我们来看一下几个比较特殊的关系啊,特殊的二元关系,第一个就是空级啊,那么空级是任何几何的子级,是吧?所以空级呢,也是一个这个很重要的二元关系,我们把它称作是一个空关系。 第二就是权益关系,权益关系就是最大的这个,哎,这个集合是吧, 就是最大的这个 a 乘 a 啊, a 乘 a 里面最大的就是他自身啊,这个就是 a 乘 a, 所以他就是一个权益关系啊,就是所有的这个律师队都包括在里面了啊,第二个就是恒等关系啊,第二就是恒等关系。 横等关系就是什么呀?就是这两个有序的元素啊,是相等的啊,相等的,那么这个元素来自哪里呢?来自于 a 集合啊,来自 a 集合。 好,接下来就是小于等于关系,小于等于关系就是什么呀? x 小于等于 y 啊, x 小于等于 y 小等关系, x 小等于 y, 那么整除关系呢?就是 x 整除以 y, 是吧?整除以 y 包含关系,那么就是 x y 的子级啊, x y 的子级,那么这里签名是什么呀?证明 x y 都是都是几何啊,都是几何,那么 a 是几何的几何了啊, 好,我们来看一个例 子啊,看一个例子,那么 a 是等于一二集合啊, a 等于一二集合,那么 ea 等于多少呢? ea 就是这个 a 乘 a 的所有的可能性,是吧? a 乘 a 啊, a 乘 a 所有的这个可能性,那就是一一一二二一二二,是吧? 那么 i a 呢? i a 就是 x 等于 x, 是吧?一等于一二等于二,是吧?二等于二,这样的,这个就是 i a 啊。好,我们看一下,这个 a 等于一二三 b 等于这个 a b 啊, a b, 那么其实这里面讲的都是什么?都是 a 上的关系,所以这个 b 呢?没有任何,没有任何作用啊,还是这个 a 啊,那么 l a 呢?就是小于等于关系,是吧?那就是一 一一一二一三二二二三三三,整除关系啊。 d a, 那就是一一一二,是吧?一三二二三三啊,这就是整除关系。 好,我们看下这道题,这道这个例子啊,这个例子,那么 p b 等于什么呢?那么 a 等于 p b 啊, 这个 p b 就是 b 集合的密集,是吧? b 集合的密集,那么这个密集呢?是这个 b 集合从这儿来的啊,这个 b 集合啊,等于 a b, 那么密集就等于这个了,是吧?密集就等于这个,这个我们就不再细讲了。那么则 a 上的这个包含关系,包含关系呢?其实就是什么呀?哎,他就是一个有序队,是吧?有序队,二也有序队,那么有序队的话,前面是后面的元素的这个子级 啊,我们来个看一下空级,从空级开始,是吧?空级是空级的子级,空级是任何颜色子级,所以他有四个元素啊,一个、两个,三个四个。 好,接下来看一下 a 集合啊, a 集合应该有两个,是吧?一个是他自身,一个就是 a b 集合啊,一个是他自身啊,一个是 a b 集合, b 集合也是一样的,是吧?然后就是最后他这个 a b 集合, a b 集合只有他自身了啊, 这就是他这个包含关系啊,包含关系的这个这个奥运关系, 那么类似的定义呢?还有大于等于是吧,小于大于关系,真报案关系等等啊,好,我们来看 一下关系的表示啊,关系的表示,哎,就说给你一个恶言关系是吧,给你一个这个有时对的集合,你怎么样来表示他啊?你除了用集合的表示方法之外,其实还有两种更加形象或者是更加直观的表示方法 啊,一个是关系几证,一是关系几证,另外就是关系图几证,我们可能都在这个代数里面其实都学了,是吧,他是有行有列的啊,那么关系几证其实是不是一个特殊的这个几证,那么几几证里面的元素要么是零, 要么是一啊,要么是零,要么是一,那么这个零表示什么呢?零表示对应的行和列呢的元素是没有啊,没有有序,对的啊,如果是一的话,就是有有序,对,是吧? 对应的行和列是有存在,有序堆的话就是一,如果不存在就没有啊,就是零。好,我们来看一下这个 x l a 等于 x e, x 到 x m 是吧? y 等于这个, 那么 r 就是 a 到 b 的关系,那么这样的话,我们可以这样写啊,行是吧? x 就是行啊, x 一 x 二到 x m 啊,这就是 y 一 y 二到 y n 对应的啊, x 啊,我应该,我应该是这个写,我应该写反了啊,就是 x 在这里啊, x 在这里,这是 y 啊, 对应的 x 到 y, 如果有边的话啊, x 到 y, 如果存在这样的有序,对的话, x 一 y 一,如果是存在的话,它就等于一啊,也就这个地位置是一,如果没有就是零啊,没有就是零,这样的啊,这样的一个集镇,布尔集镇是吧?布尔集镇 好。第二个是关系图,关系图其实就是一个带有顶点和有向边的一个图啊,顶点,顶点就是什么呀?就是 a, a 的元素啊, a 的元素,那么边呢?边其实就是这个有序对,是吧?如果存在有序对,就是存在边啊。 那么从这两个这个定义我们可以看出 a 关系矩阵,它好像可以表示这个功能更强大一些,是吧?关系矩阵可以表示 a 到 b 的关系,也可以表示 是 a 上的个关系,那么关系图呢?关系图只能表示什么呀?只能表示 a 上的关系啊,只有一个 a, 是吧?没有 b 集合,这里呢?有 a 集合,有 b 集合啊, 这个就是这个关系的表示。我们来看一个例子吧,我们来看一个例子,那么 是 a 是,是 a 等于一二三四啊,是 a 等于一二三四,那么 r 等于一一,是吧?一一一二二三 啊,四四二,那么 r 的这个关系起见就可以这样来表示,是吧?我们可以这个 x 一 x 二,是吧?那就是一二三四,这也是一二三 三四。那么如果是 a 上的关系,那个关系之间就是什么呀?就是一个有这个行和列相等的一个行,行数和列数相等的,是吧?好,我们看一下,一一有边,一一有边,就这里是一,是吧?一二有边,这里是一, 然后呢?这一行就没有其他的了,这没有的话就是零零啊,然后二打头的, 二打头的有二三二四,是吧?二三二四没有,其他的没有,其他的用零来表示啊,好看。三打头有没有?三打头?没有啊,没有,就是零啊。 啊?我们看一下四打头的,四打头的只有四二,是吧?四二在这,其他地方都是零啊。好,这就是什么? 这个就是这个,这个关系取证啊,关系取证。好,我们来看一下关系图,关系图。哎,这里有一二三四四个顶点,是吧?这是零啊,一二 三四啊,那就是一到一有这个边,那就是他自身的顶点上的坏了啊,这个是一到一的边,一到二的边啊,这个然后是二到三的边,二到三这里啊, 然后呢?二四四二,是吧?二四四二啊,这样的,这个就是关系图啊,这个就是关系图, 这个就是这个二人关系的这种两种表示法啊,两种表示法。 好,今天的这个我们课就讲这么多啊,那么接下来的时间大家做一下这个课后习题啊。大家翻到这个一百三十九页啊,做一下第十题啊,第十一题啊, 大家做一下这个 co 习题啊,一百三十九页。第十题和第十一题。

哈喽,大家好,我是李月,今天给大家讲解一下迪卡吉。迪卡吉呢是我们在数学上的一个概念,它是指两个集合的其中 a 一个元素与另外一个集合的元素进行两两组合。 那么在我们的数据库中,他是怎样的一个表现形式呢?比如说我们这里有一个表 a, 我们可以把它看成一个集合,然后表 b 也可以把它看作一个集合。当我们要执行低卡耳机的时候呢,可以直接使用 costoree, 然后就可以得到他们的低卡耳机了。 迪卡基呢是我们之后要讲解了脚印的所有观念的基础,不管是左观念还是右观念,都是以迪卡基为基础来进行观念关系的。


好,那么我们来到了第一章第三节,迪卡耳机啊,关系与映射这一部分的话呢,考察的就是一些基本的概念啊,我们了解即可,知道一下就 ok 了。好,首先第一个迪卡耳机,迪卡耳机这一个表示方法,我们来看一下啊,它的定义, 设 ab 是两个集合,那么集合这样的一个形式, 我们把它称之为迪卡尔基,记做什么呢?记做 a 乘 b 好了,这么一个形式,我们称之为迪卡尔基。什么意思啊?老师,这个地方好,我们通过一道例题来讲解一下,大家就明白什么叫迪卡尔基啊。我们首先来看一下这个形式, 离开耳机其实就是把它变成一个什么,变成一个坐标的形式,而这个坐标,他的横坐标,这个原 x 的这个元素要来自于什么呢?要来自于的是 a 集合,而 y 这个元素,这个第二个啊,第二个重坐标,我们叫重坐标,对不对?这个坐标,第二个我们要来自于什么呢?来自于 b 这个集合当中啊,那么把他们各自分别取完之后组成的这一个, 呃,坐标所构成的这一个什么呢?构成的一个集合,我们叫做迪卡尔基。好,举个例子啊,这道例题来看一下, 射 a 级和他是一二三啊,他包含了一二三这三个元素,然后呢,他要求的是什么呢?哎,他现在要求的是 a 和 a, a 乘 a, a 乘 a 乘自己本身,乘自己本身。好,根据迪卡尔机他的一个定义,我们可以知道,迪卡尔机他其实有两部分构成, 对,前面一个来自于什么?前面一个 x, 他是来自于 a 集合,然后第二个他是来自于什么? b 集合,但是你会发现我们这个地方 a 乘是 a, 所以你会发现两个坐标其实都来自于什么啊?这道题特殊,在这个点 y 集合他也来自于 a 这一个集合当中。哎,所以我们通过这样的一个运算啊,这样子一个运算,我们可以知道的是他的迪卡尔基 a 与 a 的迪卡尔基,大家来看一下 一,一对不对?好,那如果你这个一在 a 集合当中,我们取了一个一之后,我们第二个,第二个我们可以取什么呢?我们可以取一、二、三,对不对?所以 可以得出以下的这三个,如果我们的第一个,我们第一个取的是二,那么我们第二个坐标可以从取什么?一二、三。

迪卡尔基啊,他是将这个表里面的呃,每一行跟这边呢相互结合,比如 a 零 f 三 k 二,然后呢再跟 a 零 n 二 x 一啊,然后呢这个 b 一呢也是一样的,再跟他,再跟他,然后最终就得到了这样的一个大表。那这种呢就通过迪卡尔基啊,这两个他是有一个规律的,就是说 他的列数啊,加上 s 的列数,等于最终这个的列数,他是不是两列?这边是三列,这边是五列,这种呢叫做几卡几的运算,他这个是两行,这个是两行,他的行数其实是相同的关系,对不对?因为这个要分别跟他的每一行去进行运算,然后这一行要跟每一行运算,所以他两个的行数相乘,就是得到最终的这个行数。

同学们好,今天我们来学习一下递开耳机运算,相对于前面讲过的叉 b 胶运算来说,递开耳机的它它的一个概念啊,就是说可能是非常的一个麻烦。那我们来看一下啊, 递开耳机这个机呢,它的意思就是说得把两个表给积乘积乘起来,那我们怎么样来算呢? 把二表的第一行与 s 表的第一行组合在一起,那也就是说这个积运算它同样得需要两个关系,两张表, 也就说把二表的从第一行开始与第二行依次写在一起,或者是说呈在一起作为新的一行,直到,嗯,直到二表与 s 表的每一行都组合完了, 那这个广义的低卡耳机我们就给它盛完了。来看一下 有 r 表、 s 表这两张表,那我们说对这两张表求低卡耳机怎么来算呢?那也就是每一行给它盛起来, a 一、 b 一、 c 一, 乘以 s 表的这一行,再乘以 s 表的第三行, 这一行乘完了以后,我们再用第二行 a 一、 b 二、 c 二去同时乘以 s 表的这一行,这一行,这一行,再用第三行 a 二、 b 二、 c 一 去乘以 s 表的这一行,这一行,这一行,那就说乘完了以后来看一下, a 一、 b 一、 c 一 这三个 a、 b、 c 都是二表的,然后这个分别是 s 表的第一行,第二行,第三行就给它乘完,乘的话我们就直接给它写在一行里就可以了。 然后 a 一、 b 二、 c 二,也就是说拿二表的第二行去乘以 s 表的一二、三行,那也就是说再继续往后看, a 二、 b 二、 c 一、 a 二、 b 二、 c 一, 拿 r 表的第三行去乘以 s 表的这三行, 把它们切成的结果写在一行里长这个模样的,或者是说我们如何去做选择题呢?当选择题里出现两张基础表和另外一张 成完了以后,行数非常多的这样一张表,那我们就断定他是低卡耳机了。那你学会了吗?记得点赞关注哦!

接下来我们看一下一种特殊的连接,也就是交叉连接,那么在 c 口中使用 cross string 来表示这个交叉连接, 这是人机,也称为迪卡耳机,那么它实际上是相当于两个表中所有的行进行两两组合,那么出来的这种所有的可能结果, 因此这种交叉连接他最终的数量呢是两个表中行数的这个相乘。接着我们看一下仍然是我们前面的这个两个表,胎宝一和胎宝二 进行交叉连接,那么他的数据是首先对于 tba 一的第一个 id 等于一和 tebo 二的这个所有的行,也就是一三五进行这个两两连接,那么出来了就会有这个 三条记录。然后是这个 tbo 一的第二个行和 tbo 二进行两两连接,又出来了三行,然后继续是这个第三行,仍然是出来三行,那么这就是最终是三乘以三等于九行, 那么这时间就是一个这个交叉连接的一个效果。我们可以看一下 交车连接的这个语法,这里我们基于前面的一个呃这个 视力来进行一个修改。我们看到这个交叉连接呢, 他没有写这个 on 条件,因为他是无条件的连接,也就是两两连接,那么他的数量呢? 这里我们可以看到默认是两百,然后我们可以一直往下拉, 那么我们可以这个通过前面介绍的一个这个聚合函数炕的心来看一下。我们可以看到这个交叉连接呢, 他有两千八百八十九行,他实际上是所有的部门和所有的员工进行两两组合出来的一个这个低卡耳机 所有的数据库都是一样的,其他数据库也可以实现这个交叉连接。 另外交叉连接如果我们用这种 老的写法也很简单, 就是写上两个表,不用写任何这个沃尔条件,那么他出来的结果也是也和我们这个教程连接效果是一样的, 还是用这个炕的心看一下,也是两千八百八十九行。咱们这是一个老的写法, 那么这个交叉连接他通常是用于生成一些这种交叉表,比如说我们有一个这个员工的打卡信息, 那么我们知道所有的员工都有,比如说从一号到这个三十一号都会出一个这种表,他哪天就是打卡了,就会勾上一些信息,那么这样呢,我们就可以用 这个员工表和这个日期表进行一个交叉连接,出现一个这个完整的这个打卡信息。 我们再来看另外一种这种特殊的连接,叫做字连接,那么字连接实际上他就是一个普通的连接,只不过他不同的地方是这个我们在字连接两边呢都是同一个表,也就是把一个表和自己进行连接, 那么这种连接有什么好处呢?我们看一下这里我们有一个失利,我们有一个员工表,这两张员工表呢进行一个字连接, 那么这是因为我们在员工表中,我们知道他有一个所谓的这个直属领导,那么他的直属领导也就是他的 manager id, 这个 manager id 呢,他 他本身也是一个员工,因此呢这个媒人者 id 实际上他能够对应到一个 employ id, 因为他这张员工表存在这种上下级关联的信息存储到这样表中,因此呢我们通可以通过这种字连接,能够显示出这种上下级关系的这些数据。 那么与这个类似呢,就是我们经常见的这个系统中的这个菜单的上下集, 你知道这个菜单他有负极和子极,如果没有显示这种上下级关系,也可以通过这种字连接来这个显示。 那么我们看一下这这一个例子,实际上我们来运行一下, 我们看一下这个,看一下有没有已经写过的,没有呢,我们还还是就是自己来写一下。 嗯,今天 这不是这个 第一个员工表,他是我们 dvm 表示他这个 manager 信息,然后第二个员工表是员工信息,他们进行关联,我们先写上,哦,这个 经理这个 money 讲了他的员工边 他的员工编号等于员工的清理的编号, 也就是我们这个员工他的经理他这个编号实际上是在这个员工表中也是一个员工编号。这样呢,我们通过这种关系呢,就把他们进行一个关联,然后我们显示一些信息,比如说我们先选这个底盘的这个信息应该就没有了, 为了区分,我们加上一个这个裂的别名, 这是员工的这个 first name, last name, 那么这两列是员工的这个姓名,那么我们同时对应还可以显示这个他的这个 manager m 就是表示这个 manager 信息,那么他的 manager 的一个他的姓名 我们看一下。 那么通过这种查询呢,通过一个这个字连接呢,我们可以显示这个员工他的姓名,也就是前面这个两列和这个员工他的直属领导,他的这个姓名 自己显示他们这个所属关系了,所有的这个员工,他们的上级领导的信息都能够在这显示,那么这是一个自连接,自连接在其他的数据库中也是 效果也是一样的。 那么我们说了这个我们这个连接查询,我们称为多表连接查询,其实也就意味着我们呢可以使用这个多个座椅 进行多表连接,那么比如说我们还是回到这个, 比如这个部门底趴的满词,这个他进行一个连接,转一点 department id, 等于这个地点底盘的门 id, 那么这里呢我们是关联出这个部门表和这个员工表, 如果我们还想显示一些其他信息,我们知道这个员工表,他还有一些这个职位信息,我们可以接着再说一眼 drops, 比如说我是这个 j, 他的连接条件是职业的作为爱地,等于这个员工他有一个叫作为爱地, 我们只要找到这个不同的表之间这个能够进行连接的这个相同的字段, 那么连接了这三个表之后, 我们就可以从这个三个表中分别获取一些信息,比如说这个部门表,我们想看这个部门的名称, 那么这个员工表呢,我们就可以享受这个员工的一些信息。 职位表呢,我们可以通过这个职位表的一些,比如说职位的这个开头看他的一个完整的描述,我们这是三个表的一个关联查询,那么这里我们可以看出来我们的长按结果就是 这个部门有哪些员工,这些员工他的职位是什么,都是一些描述性的信息,那么这些信息我们是来自于这三个表的一个观点, 这就是多表关联。 那么在最后呢,我们来看一下这个六种收银库,对于这个搜索中的这个多表连接支持情况, 总的来说呢,他们都支持这种大多数的这种表连接。然后呢我们就是有个别的数据库是支持这个老的标准,但是我们建议大家还是使用这个最新的这个新的转望标准, 然后另外需要注意的是,这个 mac 口不支持权外链接,然后斯克拉的不支持这个意外链接和权外连接。 简单回顾一下,那么这张我们首先给他介绍了一下如何使用这个表的别名,那么表的别名我们可以看到,在这个多表连接的时候呢,我们使用这个表的别名,尤其是我们在这个字连接的时候,我们知道这两个表呢 他的名称都是一样的,是同一张表,如果我们不使用表的别名,那我们就没有,就是没有办法区分到底是哪个表了,因此呢,这个表别名还是很有用的。然后我们介绍了这个老的这个连接语法和新的连接语法, 但是我们这推荐使用这个新的这个专用按连接语法。最后我们介绍了这个搜索中的各种内连接,左右外连接,全连接,这个交叉连接,还有这种特殊的这个自然连接。 那么我们对于这个烧烤的东北人街查询呢,就先介绍到这里。


子涵,子涵,快醒醒,跑路吧,机房着火了,我就想查个日志啊。我靠,你干啥了?我?我把几十亿行的日志表跟用户表联表查了一下,好像没加无线条件,那是低卡耳机,那是无线。


哈喽,大家好,我是你们的阿福老师,欢迎关注阿福课堂。接下来我们讲传统集合运算,它属于数据库的知识, 集合与集合之间是有关系的,也就是关系之间的运算啊,它分为传统集合运算,还有特有运算。为什么叫传统集合运算呢?是在高中的时候我们学过的啊,非常类似哈,那么集合与集合之间可以做差运算, 交运算啊,这个集合跟这个集合的交运算,还可以做并运算,还可以做笛卡其运算。本讲我们讲的是传统集合运算,我们先来看一下概念, x 这个集合减掉这个集合表示什么呢?由属于 r 但不属于 s 的 行组成,即 r 中去掉 r 和 s 的 公共部分,你看它减它等于啊,这个 r 减掉它们公共部分就是它的交集。 好,我们看一下,并 r 和 s 的 并是这样表示由属于 r 和 s 的 行合成新表, 然后呢,去掉重复行啊,这是病胶呢啊,它是这么表示, r 和 s 的 胶是这么表示。由抽取 r 和 s 中相同的行啊,相同的行抽取相同的行,从什么 r 和 s 中 啊?抽取相同的行,得到新的表,去除重复行,你看它的胶啊,可以用 r 减掉 r 和 s 的 差,对吧? 好,那么迪卡奇用乘来表示,将 r 的 每一行分别与 s 的 每一行组合,得到新的表。 好,那么新表的行数是 r 和 s 的 行数的乘积,比如说这个 r 是 二, s 是 三,那么得到的行数是二乘三等于六, 那么他的列呢?是 r 和 s 列数的总和,那么他是二,他三的话,相加都等于五,后面还会有体现。 那么对于前面三个差并交啊,他们呢?没有改变列数, 就说它的列数和它的列数,一般而言都是都是某一个,那么运算后呢?列数还是不变,但笛卡尔的运算后呢?列数会增加啊,后面我们给大家看案例,就会有有体会这句话。好,接下来我们看一下第一个案例, 这里面有个集合, r、 s、 t, 我 们可以看到它们的列都是 abc 三列,对吧? 运送后的也是三列,没有变化吧。好,那么如啊,有三个关系 r, s, 如 t 所示,则由关系 r s 得到关系 t 的 操作是用什么操作得到这张表的?他两个做运算得到这张表是什么运算呢?用的是叉, 还记得我们之前叉的这个关系吗?好,叉 r 减掉 s, 这样表示由属于 r 但不属于 s 的 行组成。那么重点来了,既在 r 中去掉 r s 的 公行,那我们先找到 r 和 s 的 公行, 你看 a 一 二,那么他和他是公共行吧。好,接下来这个 b 二幺,那这边也有 b 二幺,他们也有,是不是? 好,那也就说这两行都是公共的,这些都是公共的,对吧?好,那也就说啊,在 r 中减掉 s 的 公共行,减掉他们俩还剩多少?还剩这个,那么再过把它交过来,是不是公共行? 是不是得到的 c 三幺,那么这是结果,那这种运算叫什么呢?叫差,准确表示呢,那就是 r 减掉 s 等于多少 t, 对 不对?答案是做了差运算,这就是这个,就是差运算,对吧?这个啊,好,接下来我们看一下第二题, 有三个关系 rs 和 t, 如上图,则由关系 r 和 s 得到。关系 t 的 操作用的是叉啊,为什么是叉呢? 好,我们再看它结论啊,看到这个定义有属于 r 但不属于 s 的 行组成既 r 中减掉啊,这个 r 和 s 的 公共行,它们公共行,我们看一下, a 一 二 a 一 二好, d 二幺 d 二幺有吗?没有,那么也就说对于他而言,减掉他们的公共的,那么这里面还剩下多少这个,所以把这部分剩下的移到这里来说,刚好的,那是 b 二幺 c 三幺,对吧? b 二幺 c 三幺,是不是 好,那么所以的话呢?啊,就是差,是不是做了差运算,怎么表示呢?就是 r 减掉 s 等于多少 t, 它们三者之间的关系对吧?好,那么它们的列都是 a b c 都是 a b c, 运送后代都是 a b c, 对 吧?啊,不管是交也好,差也好,变也好,它们的列数都不变,只是 笛卡急运算,是不是列会发生变化,后面我会有体现啊。今天我们看第三题,上面三个关系啊,这个 r s t 由关系 r s 通过运算得到 t 所使用的运算为多少呢?我们来看一下,那么你看啊, 这个得到是 a a 零幺,那么这里面有 a 零 k, 这里也有 a 零 k, 对 吧?他们俩 共有的,那显然就是什么交集运算,它是抽取 r o s 相同的行,得到新的表去重,你看它相同的行,这一行跟这行是相同的吧,其他没有了,然后你们都放在这里,放这里过后呢?把去重,去重数,把这个干掉啊,那这个时候就只留下谁啊? 只留下这一个好得到的最后结果啊。所以他们做的运算是什么?交运算,就是啊 啊,然后跟这个这样子是交运算对吧? s 等于多少?等于 t, 对 不对?这是交运算啊,好,那接下来我们看一下啊。真题四有三个关系 r、 s、 t, 其中关系 t 由关系 r s 通过某种操作得到的,那该操作为什么呢? 为并好,我们来看一下并的这个这个定义,由 r s 的 行合并为新表,去除重复行,那说白了就把这一部分搬到这里来, 然后再把这个搬到这里来,搬到这里,这个部分搬到上面。好,那么这种这是叫什么呢?叫做并运算,对吧?那就是 r 跟 s 是 并,并的是这样的,一个 u 到一个 u, 是 吧? s 等于多少?等于 t 这样的关系,你发现没有,他们的列 ab 都是都是 abc, 对 吧? 好,那么接下来我们看一下第五题。第五题我们一看,哎,列不一样了,还记得我们之前所所说的最开头的时候说的这句话吗?这头这句 x 并加运算后没有改变,列 d、 k、 r 及运算后列数会增加,你以后但凡看到列增加的啊,肯定肯定就是 d、 k、 r 计算,知道吧?你看变了,它是怎么增加的呢?我们先来看列 啊,新表的列数是 r、 s 的 列的总和,说白了就是这哥们放到这里来了,这哥们放到这里来了, 那么之前是二,这个根本是三,现在相加变成五数得到,这个是五啊, 是不是能理解吧?好,那么我们来看这句话。新表的行数是 r s 行数的乘积,我们看一下这一行乘上它 和他,然后他跟这个相成就等于什么?这部分不变,这个把它拼在这里,然后这个这一行放到这里,然后再跟这个 是不是相成就放在这里,对不对?好,然后接下来这一个跟这一个还跟什么?这个是不是如果跟 上面这个的话,先把它放在这里,然后再把它这部分是放在这里, 是不是?然后接下来再跟下面这就是下面这部分,再和下面这部分放这里。是不是得到多少呢?是,这个是两行,这里也是两行,最后得到的是一二三四,是不是?是他的一个什么成绩? 是吧?爱的是,是不是?那这种运算的就是谁啊? d k i g, 对 吧?好,那同学们我们就讲完了,大家把这个好好复习一下,同学们再见。拜拜。

经常会有一些这样的一些需求,那我们再看一下这里面的话公式,这里有一个公式来用这个公式来实现是不是非常的困难?是不是非常的困难, 对吧?那这边的话我们来看到就是有一个两列的话形成这样的低卡耳机,大家会发现这个的话做起来 你会觉得天呐,我做一个 dk 耳机这么困难吗?对不对?那是不是有这样的一个困扰,对吧?那么原则上的话,我们在利用我们的这个抛块的功能的话,能够实现说下面是比较简单的这样内容, 我们先把它创建连接,然后这边的话也是一样啊,把这个数据放到这里面来,那这边的话就实现了我们所需 要的一个数据的一个迪克尔及把它转换成我们的一个表。那这的话特别是在一些鞋服类的鞋或者做财务的人的话,经常会有这个需求啊,我们需要。

来做一个这个迪卡尔的这个爱心的一个函数,首先呢我们先把这个表格先这样子,把这个 x 和 y 轴先做出来,然后呢我们在前面的这个文件选项公式这里选择点选这个重新计算,勾选迭代计算,最多迭代次数改成一点确定,然后我们现在在第四这个单元格里边 输入等于第四加零点一回车,然后这里的计算结果呢是零点一,这个是我们后面要去让这个爱心动起来的关键啊,在这个我们 x 轴这里面写入的是负一点八一,我们找到后面他有一个这个 开始菜单里面有一个叫数据处理,然后找到这个序列,把它的行改成列在不长值这里呢,前面改为零点零一啊,后面呢改为这个一点八一点确定,然后在 y 的 下方输入等于 这串函数,把这上面这串函数给他复制进去啊,点回车确定,我们给他进行一个这个下拉的这个填充,那我填充完了以后,然后呢再给他选中我们这个这两栏数据,在我们的这个表格上方呢,找到他的这个 插入里面,给他找到这个散点图,点开之后,然后选择第一个插入预设样式,然后我们给他就说是调整一下啊, 把里面的这个数字呢全部给它删删掉,就只去删除我们的这个数字啊,然后把线条颜色咱们给他改一个这个红色吧,变成红色变完之后哈按 f 九,你看这个会动的这个爱心呢就完成了,看到吧,那么大家学会了吗?

好,那么我们来看一下第二张关系数据库,那么对于这一张的话,我们需要重点掌握的就是这个关系代数,那这个关系代数的话,在考试里面主要是这一个选择题和填空题为主。 我们来看一下这一个查询操作,那这个查询操作的话一共有几种,首先第一个就是这一个选择, 然后呢是投影啊,然后是连接,然后是这个除啊,这一个并插胶,那这个并插胶的话,其实就是我们高中学过的那个集合的那个并插胶,然后还有一个就是这个迪卡尔级,那我这个画圈圈的这几个是他新增的 啊,那这一个并插胶的话,其实是我们比较熟悉的,我们来看一下这一个集合运算符啊,这一个并插胶迪卡尔极, 那对于这一个专门的这一个关系运算符,主要是这一个选择,那这个选择的话,这个符号念作这一个 c 吗?然后呢这一个投影的这个符号念作这一个屁啊,注意这一个投影符号不是那个派啊,不是那个派, 然后呢就是这一个连接符号,还有就是我们的这个除法计算。好,我们首先来看一下这一个并,那这一个并的话,大家在高中的时候都学过了, 假设我们这里有这一个集合 a, 然后呢我们还有一个集合 b, 那 这一个 a 并 b, 就是 这样一个大的集合,那这一个大集合它是包含了 a 和 b 的。 好,那这里的话,我们给了大家一个例子,假设我们的这一个关系 r, 它是这样一个 关系 abc, 然后呢里面有这一个圆柱,那对于这一个关系 s, 同样的也是这个 abc, 它里面也有这个圆柱,那这一个 r 并上 s 啊,那这个 r 并上 s, 它的结果就应该为这一个包含 r, 并且呢包含 s 的 这样一个结果。好,我们首先来看一下,那我们先把这个 r 的 这样一个圆组给他写上去,也就是这一个 a 一、 b 一, 这一个 c 一。 然后呢我们来看一下 r 的 第二个原组,是这一个 a 一、 b 二和这一个 c 二,第三个原组 a 二、 b 二和这个 c 一。 好,那么我们再来看一下这个 s 的 原组,那这个 s 的 原组,它是这一个 a 一、 b 二和 c 二啊,那这个时候这一个 a 一、 b 二 和这个 c 二,它其实和这个 r 的 原组它是重复了,所以说这里的话,我们只保留一项,也就是这一个第二个原组。 好,我们来看一下这一个 s 的 第二个原组,也就是这个 a 一、 b 三和 c 二,那这个 a 一、 b 三和 c 二的话,其实在我们的这个 r 里面是没有的,所以说我们要把这一个 s 的 第二个原组给它写到这一个结果里面,所以说就是这一个 a 一、 b 三和这一个 c 二。啊,这是我们的这一个 s 的 这样一个第二个圆柱。好,我们来看一下这一个 s 的 第三个圆柱,那这个 s 的 第三个圆柱是这一个 a 二、 b 二和 c 一, 那这一个 a 二的这一个 第三个圆柱其实是重复的,所以说我们这里的话啊,就是这个圆柱。好,那我们下面的这三项它是属于 s 的 这一个原组,那这两项它是既属于 r 又属于 s 的 原组。好,我们来看一下这个属于 r 的 原组,也就是这一个第一项,所以说这样的一个结果,也就是我们的这个 a 并 b 的 这样一个原组。好,我们来看一下 这一个差运算,那这个差运算他是说属于 r 不 属于 s 的 圆柱组成,那这里的话,他是用这一个 r 减去这个 s 啊,他是对这一个 r 减 s 的 这样一个定义 啊,属于 r 不 属于 s 的 所有圆柱的组成。好,那么我们来看一下,首先这一个关系 r 的 这个圆柱的组成。好,那么我们来看一下,首先这一个关系 r 的 这个圆柱的组成。好,那么我们来看一共有三条圆柱, 然后呢我们来看一下 s 的 原主,也是三条,它说属于 r 不 属于 s 的 这一个所有的原主,那么我们就来看一下这一个哪些原主,它是既属于 r 也属于 s, 那 这个时候你会发现 这一个 r 的 这一个第二条和这一个 r 的 这一个第三条原主,它是既属于 r 也属于 s, 所以 说 那这一个 r 减 s, 它说的是属于 r 不 属于 s 的 所有原组,那属于 r 不 属于 s 的 原组,那不就是只有第一条吗?所以说我们最后的结果,也就是这一个 r 的 第一条原组, 好,我们来看一下这一个交运算,那这个交运算的话也非常的简单,假设我们这里有这一个集合 b 和它相交了,所以说我们的这一个 a 交 b 啊,也就是中间的这一块啊,也就是中间的这一块,那中间的这一块的话,它是既属于 a 也属于 b 的 这样一个 集合。好,那对于这一个关系数据库里面的交,它说的是,那这一个交的话,它是既属于 r 也属于 s 的 原主,那这个的话,它是说的是这一个 r 交 s 的 这样一个定义。好,那么我们来看一下这个 r 交 s 的 这一个结果,他说属于 r 也属于 s, 那 你就去找哪哪哪些记录,他既在 r 中,也在这个 s 中,那这个时候你会发现,哎,这一个 第二条记录,这个 r 的 第二条记录, a 一、 b 二和 c 二啊,他在这个 s 中也有,就是这一个 a 一、 b 二和 c 二,所以说我们的这一个 r 交 s 的 第一条记录就产生了,就是这一条记录。好,那这个时候我们再来看, 那这个 r 的 第二条记录,就是这一个 a 二、 b 二和这个 c 一, 那你会发现这一条记录其实在这个关系 s 中也有,所以说我们的这个 r 交 s 的 第二条记录也有了。 好,那么我们来看一下这一个 r 的 第一条记录,那这个 r 的 第一条记录,你会发现这一条记录其实在这一个 s 当中是没有与它对应的啊,同样的,这一个 s 的 这一个第二条记录,你会发现 他在 s 中,但是他没有在 r 中,所以说我们的这个 r 交 s 的 这样一个结果啊,就是这两条记录啊,就是这两条记录。好,我们来看一下这一个迪卡尔吉,那这个迪卡尔吉的话,他也很简单,那这个迪卡尔吉的话, 假设我们这里的这一个 r, 他 有这一个 n 列啊,这一个 n 他 指的是这个 r 的 列数, 然后呢这一个 m 它指的是这个 s 的 列数,那你这一个 r 和 s 的 迪卡尔极啊,它的列数就应该是 n 加 m 列啊, n 加 m 列,那这个行的话, k 一 它指的是这一个 r 的 这一个行, 然后呢这一个 k 二它指的是这个 s 的 行啊,那这个时候我们的这个 r 和 s 的 这个迪卡尔极, 他的这一个列数就应该是这一个 m 加 n 列,然后呢这个行是 k 一 乘 k 二个圆组啊,那么我们还是给到大家一个例子,假设我们这里的这个关系 r, 它一共是有这个三列 三行,然后呢这个 s 它也是这一个三列三行,那这个 r 和 s 的 第二节,它的这个列数就应该是三加三六列啊,那么我们来看一下我们的这个结果,首先你直接把这一个 r 的 这一个 属性给它写上去, r a, r, b, r, c, 然后呢再把这一个 s 的 这一个属性给它写上去 啊, s a, s, b 和这个 s c, 好, 那这个时候这一个列确定呢?我们来看一下这个行,那这个行的话,他说的是 r 的 这一个原组个数乘以这个 s 的 原组个数,那这个时候我们的这个 r 的 这一个 原组也是三个,那这一个 s 的 原组他也是三个,所以说他乘出来的这个结果应该是有九个原组啊,九个原组, 那他是怎么乘的?我们来看一下。首先我们考虑把这一个 r 的 这一个第一行啊,考虑把这个 r 的 第一行和这一个 s 的 这一个第一行、第二行、第三行依次做一个拼接啊,那这个时候你会发现这里啊, 这里的这一个 r, 它全部都是属于 r 的 第一行,然后我们后面的话,它是分别去给这一个 s 的 行数做了一个拼接,比如说这里的话它就是这个 s 的 第一行 s 一, 那我这里就记为 s 一, 那这一行的话它是这一个 s 的 第二行,然后 这里的话它是这一个 s 的 第三行,那我们来依次我们后面接着看,那么这里的话 他是这一个 r 的 第二行,然后呢我们考虑把这个 r 的 第二行和这个 s 的 这些行数做一个拼接啊, 那这里的话他还是这个 s 一 啊,这里的话还是这个 s 二啊,这里的话就是这个 s 三啊,然后同理啊,后面的话都是一样的话, 这里的话他就是这一个 r 的 这个第三行,然后呢这里的话就是这一个 s 的 第一行,这里的话是这个 s 的 第二行啊,这里的话是这个 s 的 第三行,那这个的话就是这一个 dk 级的这个运算。 好,我们来看到后面的这一个选择投影的这个预算,那么首先这里的话我们给大家列了几张表。首先第一个就是这个学生表,那这个学生表里面它是有这个学号、姓名、性别、年龄和这个所在系的啊,那这个的话大家稍微看一下 第二张表是这个课程表,课程表有这一个课程号、课程名和这一个先行课以这样一个学分。 第三张表是这个成绩表,那成绩表里面的话,他就是这一个学号课程号和这个成绩。这三张表大家稍微看一下,我们后面会用到。 好,我们来看一下这一个选择预算,那这个选择的话,他说的是从这一个关系 r 中选出这一个使逻辑式 f 为真的这个元组,那这一个选择预算的话,他主要是从这个行的角度来进行预算的, 那么我们还是给大家一个例子吧,这样直接看这个定义比较抽象,现在他让我们去查询这一个信息系啊,全体的这样一个学生啊, 我们来看一下这个表,现在是要查询这一个学生,所以说我们用到的是这个学生表,那学生表里面的话,我们是查询所在系,所在系的话,也就是这个 is 系,这一个计算机系,那现在要去查询这一个信息系的这样一个学生, 那你是不是应该考虑是从这一个行的角度来计算的啊?你要从这个行的角度来计算, 如果说你从列的角度来印上的话,那你查出来的就只有这一个 is 了啊,只有这个 is, 那 查询这一个信息系的全体学生,我们首先是这一个 c 个码啊, c 个码,然后呢这一个 c 个码后面跟的是这一个,这一个细,这一个细的这样一个字段,那这个细的这一个字段的话, 你既然是要查询 is 系,所以说你这个系的这一个字段的话,应该是等于这个 is, 然后呢你是从这一个学生表当中开始查的啊,那你 这样去从这一个行的角度来进行计算,那最后输出的结果,它必定是包含了这一个学生表中所有的这一个字段的,也就是这个属性的。好,那查出来的话就是这一个 学号、姓名、性别、这一个年纪和这个系,那这个时候我们看一下我们的这个系,它就是这个 is 系,也就是这个信息系啊,通过这样的话就可以对这个数据库做一个 行的这样一个预算。好,我们来看一下第二个例子,那第二个例子他说的是要去查询年龄小于二十的这个学生,同样的我们还是用这一个选择来做这一个行预算。首先 sigma, 然后呢这一个 年龄他是小于二十的,然后呢是从这一个学生表当中开始查的,那查找出来之后我们的结果在这里啊,那这个时候查找出来我们的这个结果他是包含了这一个 学号、姓名、性别以及这一个年龄,还有这一个姓名。那这个时候我们发现这一个年龄这里的话他全部都是小于二十的,因为这里的话他是一个条件,就是年龄小于二十。 好,我们来看一下这个投影预算,那这个投影预算的话,他是从这一个列的这一个角度来进行计算的,刚刚的那一个选择他是从这个行的角度来计算。 那么我们还是给大家例子,他现在让我们去查询这一个学生的这个姓名和这个所在系,就是要求从这个学生表的这一个上面去进行一个投影预算。 好,那首先首先是做了这一个投影,然后是从这一个学生表当中去进行投影,投影的这一个结果是你要输出这一个姓名和这一个细名啊,那输出来的结果我们来看一下, 那你是从这个列读列的角度来进行操作的,所以说你这里的话又只写了两列,所以说我们输出的结果就只有这一个姓名和这一个姓名这两列, 那通过这样的运算的话,就做了一个投影的运算。好,我们来看一下第二个例题,那第二个例题他说的是查询这一个学生 表中都有哪些系,那,那你现在是要看他有哪些系,所以说我们还是考虑从这一个列的这个角度来进行这个预算。首先是这个投影,从这一个学生表当中投影,那投影的结果你要输出的是这个列啊,那我们输出的结果就只有这一个 细的这样一列啊,那这个的话就是这个投影的运算,那最后一个的话就是这个连接运算,那这个连接的话,他一共是有几类的?首先第一个就是这一个连接,那这个连接的话,他说的是从这这这两个 关系的这个笛卡尔集中选举这一个属性间满足一定的条件的这个元组,那这一个 a、 c、 t、 b 就是 这一个条件。 然后第二个的话就是这个等值连接,等值连接的话,它说的是从这一个关系 r 与 s 的 笛卡尔集中选举这一个属性 a 和这一个属性 b 相等的这样一个值。 第三个是自然连接,那自然连接的话,他和前面两个连接不太一样,自然连接他是一种特殊的等值连接, 两个关系进行比较的分量必须是相同的属性组,并且呢他还会在这个结果中把这个重复的属性 去掉,那么你会发现在前面这一个连接和这个等值连接里面,他其实是没有去掉这个重复的属性的, 他就是直接从这个迪卡尔级当中去寻找这一个满足这一个条件的源组。首先我们来看一下这个连接,那现在的话,他给到了两个关系 r 和 s, 然后呢现在要求的是这一个连接,这一个 r 和 s 的 连接的结果,并且呢这一个满足的关系是这一个 这一个属性 c 小 于这一个属性 e 的 这样一个值。首先的话,你会考虑将这一个 r 和 s 去做一个笛卡尔极, 那你现在去把这一个 r 和 s 做了一个笛卡尔极之后,那么它的这一个属性应该是有五个的,也就是这一个 r a, r b, 然后呢这一个 c e 是 属于 r 的, 然后呢这一个 s b, 然后和这一个 se, 它一共是有五个属性,那它的这样一个行啊,也就是这个圆柱它应该有多少个行呢 啊?首先这一个 r 它是有这一个四个圆柱,也就是这一个四行,然后呢这一个 s 它是有这一个五行,所以说这一个 r 和这个 s 做 d 卡尔极之后,它应该是有这个二十行的啊,是有二十行的。那现在我们要从这一个 d 卡尔极中选出这一个 c, 那 这个 c 的 话,它是属于这一个 r, 要选定的是这个属性 c 的 这个值,它是小于这个属性 e 的 这样一个值的这个圆组。好,那我们来看一下属性 c 小于这一个属性 e, 那 么我们来看一下这一个选择的结果,也就是从这一个笛卡尔极中选出这一个 c 小 于 e 的 值。首先那对于这一个第一行第一行属性的这一个 c, 它是五,然后呢第一行属性的这个 e 它是七,那五肯定是小于七的。然后呢对这个第二行 c 的 值是五,这个 e 的 值是十,也是小于的, 然后第三行的这一个 c 的 值是六啊,这个 e 的 值是七,也是小于的,那这一个 c 的 第四行, 那这一个第四行 c 的 值是六,这个 e 的 值是十,也是小于的。然后第五行这个 c 的 值是八,这个 e 的 值是十,它也是小于的啊,那这个的话,就是这一个一般连接, 也就是我们常说的这个连接。好,那么我们来看一下这一个第二类,也就是这个等值连接,那等值连接 它还是从这一个 r 和 s 的 这个 decode 中去选取这一个满足条件的这一个元素,那这里的话等值连接它满足的条件就是这一个 这道属性 b 的 值要是相等的啊,也就是这一个关系 r 中的这一个属性 b 的 值和这一个关系 s 中属性 b 的 值要是相等的,那同样的,你从这一个 d 卡尔极中去选举,那这个 r 和 s 的 d 卡尔极,它一共是有二十行的,那你现在只要去找这一个关系 r 中属性 b 的 值和这个关系 s 中属性 b 的 值相等的 这个圆组就可以了。好,那么我们来看一下这个结果,那这个结果的话,你会发现这一个关系 r 中属性 b 的 值和这个关系 s 中属性 b 的 值,它都是相等的啊,它都是相等的, 那这个的话就是这一个等值连接。好,我们来看一下最后一个,一个 r 和 s 的 这一个自然连接,它是从这一个 r 和 s 的 这个 decode 中去 选举这个相应的结果,那选举的这个结果的话,我们要去除这一个重复的这个列,并且呢这一个重复的这个列的值还是要相等的好。首先我们来看一下这一个 r, 那 这个 r 的 话,它是这一个三列四行啊。然后呢这一个 s, 那 这个 s 的 话,它是这一个两列 五行啊,两列五行。所以说按照这一个笛卡尔极的结果,那么我们的列数应该是有这一个列的啊,按照这一个笛卡尔极,他应该是有五列,但是这个自然连接,我们要去除掉这个重复的列, 那这一个 r 和 s 的 这个笛卡尔极中重复的列,应该是这一个属性 b 的 这样一个列,属性 b 的 这样一个列, 所以说我们要去除掉一个这一个 b 的 这一个列,所以说话我们这一个自然连接的结果应该就是这个四列,那么来看一下这一个原整数, 那按照正常的这个迪卡尔级来说,他应该是有这个二十行的啊,他应该是有二十行的,但是我们现在去除掉的这一个 b 的 这一个列, 他是在这个关系 r 和这个关系 s 上他是要相等的。首先我们来看一下这一个 r, 那 这个 r 的 话,他是第一列,也就是这一个 a 一 和这个 a 二。那么首先我们来看一下 我们的这一个自然连接的结果,他应该也是这一个 a 一 和 a 二。我们来看一下这一个属性 b 的 这一列属性 b 的 这一列的话,他是这一个 b 一、 b 二、 b 三和 b 四,那么这一个 s 中他是这一个 b 一、 b 二、 b 三。所以说对于这一个 b 四这样一列的话,我们就可以考虑直接给它去除了,因为在这一个关系 s 中没有这一个 b 四嘛?好,那么我们来看,对于这一个 b 一, 那这个 b 一 的话,在这个 s 中它是只有一个的,所以说这个自然连接的结果也就是这一个 a 一 b 一, 那么这一个 c 的 值它是五啊,所以说我们自然连接的结果,这个 c 的 值是五,那这个一的值它是这个三,所以说我们这里的话是这个三,这是第一条记录。 那么对于第二条记录,我们来看一下这个 b 二啊, b 二,那对于这个 b 二的话,在 s 里面它是有两个的啊,然后这里一个 b 二,所以说自然连接的结果它应该是有两个 b 二的两个 b 二, 我们分别来看一下这一个属性 e 的 值啊,那属性 e 的 值的话,在这个 s 里面它是有两个值的,一个是七,一个是二,所以说我们这里的话,这个 e 的 值它就是七和二。然后呢这个 c 的 这样的值,在这个关系二中它是六,这种这里的话是六。我们来看一下这个属性 b 的 值为 b 三的时候,当这个属性 b 的 值为 b 三的时候,我们发现在这个关系 s 中它也是有两个的,所以说 我们要考虑把这两个都写进去。那当这一个属性 b 的 值为这一个 b 三的时候,那这个属性 e 的 值分别是十和二,然后呢这一个 c 的 值是这个八,所以说我们这个的话也是有两条记录的,那这个的话就是这个自然连接的这个结果。 好,那最后一个的话就是外连接,外连接的话,他说的是返回两个表中匹配的记录,还能保留其中一个或两个表中不匹配的记录,那么这个不匹配的记录就以这个空值来进行这个填充。对于这个外连接的话,一共是有两类,第一个叫做左外连接,然后第二个这个右连接,那么对于这一个 r 与 s 的 这一个左外连接, 对于这个 r 和 s 的 这个左外连接,那么我们首先会返回这个左表中的所有记录,也就是返回这个 r 当中的这个所有记录,以及右表中与左表中相匹配的记录,那么我们首先返回的是 r 的 记录,然后呢再返回的是这个 r 与这个 s 匹配的记录, 然后如果说这一个右表中没有匹配项,那么结果中的这个右表的这个列就用这个墨纸填充,那如果说这个 r s 左外连接,那么我们最终返回的是这个 s 中没有匹配的记录,然后呢这些没有匹配的记录,我们就用这个墨纸来填充,那么我们来看一下第二个的这一个右外连接。假设这里的 r 与这一个 s 右外连接 啊,那么首先会返回右表中的这个所有记录,也就是返回这一个 s 表相匹配的记录,也就是这一个 r 与 s 匹配的这一个记录。如果左表中没有匹配项的话,那么结果中的这个左表的列用这个 no 值来填充啊,那这个时候我们就会返回这个 r 的 这一个列,如果这个列中没有相应的值的话,那么我们就用这个 no 值来填充,那这个的话就是这个左外连接和右外连接。 好,我们来看一下这一个 y 连接,那当这一个 r 和 s y 连接的时候,那么我们来看一下它的结果是什么?首先这一个 r 和 s y 连接,它本质还是一个自然连接啊,那这个自然连接的话,还是从这个 r 和这个 s 的 decode 曲当中去寻找这个结果。 首先对于这个自然连接的结果,它是从这一个 descartes 中选出这一个属性相同的这一个值,并且呢还要去去掉这一个重复的这一个属性,所以说那这一个外连接的结果,它还是只有四列,也就是这一个 ra, 那 这个 b 的 话,你可以把它理解为这一个 r b, 或者说这个 s b, 然后呢这一个是 r c, 然后呢这一个是 se。 好,那么对于这一个属性 a 的 值,它一共是有两种, a 一 和这个 a 二。所以说我们这里的话,这一个属性 a 的 值,它也是只有两种, a 一 和这个 a 二。那么我们来看一下这一个 b 的 值,那这一个 b 的 值的话,它是一共有四种, b、 b 二、 b 三和 b 四。当这一个 b 的 值为 b 的 时候,那这一个属性 c 的 值为五,然后呢这一个属性 e 的 值为三。所以说我们就诞生了这一个 第一行记录,那么当这一个属性 b 的 值为这个 b 二的时候,那这一个 c 的 值是六。然后呢你会发现这个 e 的 值它是有两个的,一个是七,一个是二。所以说我们就诞生了这一个第二条记录和这个第三条记录。那 现在当这一个 a 是 等于 a 二的时候,那这一个 b 它是等于 b 三或者是 b 四。我们首先来看一下 b 三,当这一个 b 的 值为 b 三的时候,那这一个 c 的 值是八,然后呢在这个关系 s 中,我们会发现这一个,当这个 b 的 值等于 b 三的时候,我们是这个一有两个值的,一个是十,一个是二,所以说我们就诞生了这一个第四条记录和这一个 第五条进入。我们来看一下,当这个 b 的 值等于 b 四的时候,那这一个 c 的 值它是十二,但是在这个关系 s 中啊,你会发现这个没有这一个 b 为 b 四的值,所以说那这个时候我们的这一个 b 等于 b 四的时候,那这个 e 的 值它就是为空,所以说我们这里的话就用这个空值来填充,那这个的话就是这个 r 和 s 的 这个外连接。 好,我们来看一下这个除法计算,那么对于这一个 r 除以 s, 它的结果应该是保留 r 中的某些列,但是这些列呢,应该是去除掉这一个 r 与 s 的 这一个重复列, 那现在对于这一个 r, 它的列数为这一个 a b c, 那 现在要去除掉这一个 r 与 s 当中的重复列,你会发现只有这一个 b 列和这个 c 列是重复的,所以说我们要考虑把这个 b 列和这个 c 列去除掉。 那么对于这一个行的话,我们应该是去选择那些 b 列和 c 列相等的值的那些行,那这个时候你会发现这一个 b 列和这个 c 列相等的值就是这一个 b 一 c 二,然后呢 还有这一个 b 二 c 一 啊,还有这一个 b 二和这一个 c 三,那这个时候你会发现这三列他们其实对应的剩余的这一个 r 中的这个列就只有这一个 a 一 啊,所以说我们最后 r 除以 s 的 结果就是这一个 a 一。 那么对于我们这个章节 啊,首先你要明白这一个选择预算他是关注这个行的,然后呢对于这一个投影预算,他是关注这个列的, 那这一个自然连接和这个等值连接他们又有所不同,那这一个自然连接他是会要求去除掉这个重复的这个列,而等值连接则不必去除这个重复的列。 那么对于这一张的关系代数,他是学习下一张 sec 语句的这一个基础,所以说这一张的话,大家还是要稍微的去做一些练习,那么在下一张的话,这个 sec 语句你才能够写出来。 好,然后这里的话给大家留了一些习题,大家可以先去做一下。那对于这一个 student 表和这个 course 表,其实就是我们之前啊 ppt 上面的那三张表,大家啊如果不太呃记得住的话,可以稍微去看一下,然后再来做这个题。