mysql关系运算选择投影连接,[转载]选择、投影和连接运算(关系数据库)

一、选择

选择又称为限制,它是在关系R中选择满足给定条件的诸元组,记作:

σf(R)={t|t∈R∧F(t)=‘真’}

其中F表示选择条件,它是一个逻辑表达式,取逻辑值‘真’或‘假’。

逻辑表达式F的基本形式为:X1 θ

Y1[φ X2 θ Y2]

…,其中θ表示比较运算符号,可以是>、≥、<、≤、=或≠。X1,Y1等是属性名或常量或简单函数。属性名也可以用它的序号来代替。θ表示逻辑运算符,可以是∧或∨等。[]表示任选项。即[]中的部分可以要也可以不要。…表示上述格式可以一直重复下去。

因此选择运算实际上是从关系R中选取使逻辑表达式F为真的元组,这是从行的角度进行的运算。如图2-5(a)所示。

a4c26d1e5885305701be709a3d33442f.png

图2-5

现举例说明。有如下学生关系student,课程关系Course和选修关系SC,如下图2-6所示,以下所有的例子都是针对这三个关系的运算。

a4c26d1e5885305701be709a3d33442f.png

图2-6

【例1】查询信息系(IS系)全体学生。

σSdept=’Is’(Student),其结果为图2-7(a)所示。

a4c26d1e5885305701be709a3d33442f.png

图2-7

a4c26d1e5885305701be709a3d33442f.png

【例2】查询年龄小于20岁的元组。

σSage<20(Student),其结果为图2-7(b)所示。

二、投影

关系R上的投影是从R中选择出若干属性列组成新的关系。记作:

∏A(R) = { t[A] | t∈R }

其中A为R中的属性列。

投影操作是从列的角度进行的运算,如图2-5(b)所示。

【例3】查询学生关系Student在学生姓名和所在系两个属性上的投影。

∏Sname,Sdept(Student),其结果如图2-8(a)所示:

a4c26d1e5885305701be709a3d33442f.png

图2-8

a4c26d1e5885305701be709a3d33442f.png

【例4】查询学生关系Student中都有哪些系,即查询学生关系Student在所在系属性上的投影。

∏Sdept(Student),其结果如图2-8(b)所示。

三、连接

连接也称为θ连接,它是从两个关系的笛卡儿积中选取属性间满足一定条件的元组,记作:

a4c26d1e5885305701be709a3d33442f.png

其中A和B分别为R和S上度数相等且可比的属性组。θ是比较运算符。连接运算从R和S的笛卡儿积RxS中选取关系R在A属性组上的值与关系S在B属性组上值满足比较关系θ的元组。

连接运算有两种最为重要也是最为常用的连接,即等值连接和自然连接。

当θ为“=”时的连接称为等值连接。它是从关系R与S的笛卡儿积中选取A,B属性值相等的那些元组。即等值连接为:

a4c26d1e5885305701be709a3d33442f.png

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R与S具有相同的属性组B,则自然连接可记作:

a4c26d1e5885305701be709a3d33442f.png

一般的连接是从行的角度进行运算的。如图2-5(c)所示。但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算的。如图2-5(d)所示。

【例5】设关系R,S分别为下图2-9中的(a)和(b),a4c26d1e5885305701be709a3d33442f.png的结果为图2-9(c),等值连接为a4c26d1e5885305701be709a3d33442f.png的结果为图2-9(d),自然连接Ra4c26d1e5885305701be709a3d33442f.pngS的结果为图2-9(e)所示:

a4c26d1e5885305701be709a3d33442f.png

图2-9

你可能感兴趣的:(mysql关系运算选择投影连接)