目录

系统架构设计师数据库基础篇关系代数运算

系统架构设计师—数据库基础篇—关系代数运算

名词

关系:二维表的表名。

元组:二维表中的一行,在数据库中称为记录。

属性:二维表中的一列,在数据库中称为字段。

域:数据的取值范围,也就是数据库中某一列的取值限制。

关键字:一组可以唯一标识元组的属性,数据中称为主键,由一个或多个列组成。

关系模式:指对关系的描述。其格式为:关系名(属性1,属性2,…………,属性N),在数据库中称为表结构。

选择运算

取得关系R中符合条件的行

示例1

\sigma_{1≥6}(R)

表示选取关系R中第1个属性值大于等于第6个属性值的元组。

示例2

\sigma_{1≥'6'}(R)

表示选取关系R中第1个属性值大于等于6的元组。

投影

取得关系R中符合条件的列组成新的关系。

示例1

查询学生的姓名和所在系

\pi_{Sname,Sdept}(Student)

笛卡尔积

两个关系分别为n列和m列的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。其中的前n列是关系R的一个元组,后m列是关系S的一个元组,记作R×S,如果R和S有相同的属性名,可在属性名前加关系名作为限定,以示区别。若R有K1个元组,S有K2个元组,则R和S的笛卡尔积有K1×K2个元组。

示例1

R=(A,B,C)

S=(A,B,C)

R×S=(R.A,R.B,R.C,S.A,S.B,S.C)

连接

等值连接

关系R、S,取两者笛卡尔积中 属性值相等 的元组进行连接。

示例1

R=(A,B,C)

S=(B,E)

_{R.B=S.B}^{R \Join S} = (A,R.B,C,S.B,E)

自然连接

一种 特殊的等值连接 ,它要求比较的属性列必须是相同的属性组,并且把结果集中 重复属性去掉

示例1

R=(A,B,C)

S=(B,E)

R \Join S = (A,B,C,E)

外连接

左外连接

取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值null填充所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。

右外连接

取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值null填充所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。

完全外连接

完成左外连接和右外连接的操作。即填充左侧关系中所有与右侧关系中任一元组都不匹配的元组,填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接结果中。