系统架构设计师数据库基础篇关系代数运算
系统架构设计师—数据库基础篇—关系代数运算
名词
关系:二维表的表名。
元组:二维表中的一行,在数据库中称为记录。
属性:二维表中的一列,在数据库中称为字段。
域:数据的取值范围,也就是数据库中某一列的取值限制。
关键字:一组可以唯一标识元组的属性,数据中称为主键,由一个或多个列组成。
关系模式:指对关系的描述。其格式为:关系名(属性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填充所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。
完全外连接
完成左外连接和右外连接的操作。即填充左侧关系中所有与右侧关系中任一元组都不匹配的元组,填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接结果中。