关系模型有关系模型的数据结构,关系模型的操作集合和关系模型的完整性约束三部分组成,也称为关系模型三要素。
3.1.1数据结构:
用二维表来组织数据关系,数据库就是表或者说是关系的集合。
3.1.2数据操作:
关系数据模型中的操作包括:
传统的关系运算:并,交,差,广义笛卡尔积
专门的关系运算:选择,投影,连接,除
有关的数据操作:查询,插入,删除和更改。
关系操作的操作对象是集合(或表),而不是单个的数据行。
数据库数据的操作主要包括四种:查询,插入,删除,更改数据。
3.2关系模型的基本术语与形式化定义
3.2.1基本术语
关系:关系就是二维表
属性:二维表中每一个列称为一个属性,每个属性有一个名字称为属性名。而为表中对应每一列的值称为属性值,二维表中列的元数称为关系的元素,如果一个表有n个列,则称为n元关系。
值域:表中属性的取值范围称为值域。
元组:表中的一行数据称为一个元组。
分量:元组中的每一个属性值称为元组的一个分量。
关系模式:二维表的结构称为关系模式,或者说关系模式就是二维表的标框架或表头结构。
关系数据库:对应一个关系模型的所有关系的集合成为关系数据库。
候选键:如果一个属性或属性的值能够唯一标识一个关系的元组,而又不包含多余的属性,则称该属性或属性极为候选键。
主键:当一个关系中有多个后选键时,可以从中选择一个作为主键,主键也称为主码或主关键字。
主属性和非主属性:包含在任一候选键中的属性称为主属性,不包含在任一后选键中的属性称为非主属性。
3.3关系代数
关系代数的运算可以分为以下两大类:
传统的集合运算
专门的关系运算
关系代数中的运算符可以分为四类:集合运算,专门的关系运算,比较运算和逻辑运算
3.3.1传统的集合运算
并运算:设关系R与关系s均是n目关系,关系R与关系S的并记为:
R∪S={t|tR
t
s}
交运算:设关系R与关系s均是n目关系,关系R与关系S的并记为:
RS={t|t
R
t
s}
差运算::设关系R与关系s均是n目关系,关系R与关系S的并记为:
R-S={t|tR
t
s}
广义笛卡尔积:两个分别为M和n的关系r和关系s的广义笛卡尔积是一个有m+n个列的元组的集合。元组的前m个列是关系r的一个元组,后n个列关系s的一个元素k的一个元组,若r有k1个元组,s有k2个元组,则关系r和关系s的广义笛卡尔积有k1×k2个元组,记为:
R×S={tr^ts|tr∈R∧ts∈S}
3.3.2专门的关系运算
选择:选择运算是从指定的关系中选出满足给定条件(用逻辑表达式表达)的元组而组成一个新的关系。
f(R)={t|t
R
F(t)=ture}
投影:投影运算是从关系R中选取该属性,并用这些属性组成一个新的关系
A(R)={t.A|t
R}
连接:连接运算用来连接相互之间有联系的两个关系,从而产生一个新的关系。
连接运算主要有以下几种形式:
(1)连接
(2)等值连接
(3)自然连接
(4)外部连接
(5)半连接
当为的连“=”时为等值连接,自然连接是一种特殊的等值连接,并且在连接结果中去掉重复的属性列使公共属性列只保留一个。
外连接有三种连接形式:左外连接,右外连接,全外连接
除:设s的属性是关系R的属性的一部分则R÷S为这样一个关系:
此关系的属性是属于R但不属于S的所有的属性组成,而s的任一元素都是R中某元素的一部分。