课本P29-P50
3.1 关系数据模型关系数据库
3.2 基本术语与形式化定义
3.3 关系代数
思维导图

关系模型由三部分组成
数据结构,操作集合,完整性约束。这三部分也称为关系模型三要素。
3.1.1 数据结构
关系数据模型用二维表来组织数据。
这个二维表在关系数据库中就称为关系。关系数据库就是表或者说是关系的集合。表是逻辑结构而不是物理结构。
3.1.2 数据操作
关系数据模型中的操作包括:
传统的关系运算:并、交、差、广义笛卡尔乘积;
专门的关系运算:选择、投影、连接、除;
有关的数据操作:查询、插入、删除、更改。
操作特点
关系模型中操作的数据以及查询的结果都是完整的集合(或表), 这些集合可以只包含一行数据,也可以是不包含任何数据的空集合。
非关系模型数据库中典型的操作是一次一行或一次一个记录。集合处理能力是关系系统区别于其他系统的重要特征。
关系模型与非关系模型区别
1.在非关系模型中,各个数据记录之间是通过指针等方式连接的,当要定位到某条记录时,需要用户自己按指针的链接方向逐层查找 --导航。
2.在关系模型中,用户只需指定数据的定位条件,数据库管理系统就可以自动定位到该数据记录--非导航。
关系操作
1.关系模型的数据操作主要包括: -查询、插入、删除、更新
2.关系数据库中的信息表示方式:表中的行列位置有明确的值--逻辑层。
3.2.1 基本术语
关系:关系就是二维表,二维表的名字就是关系的名字。
属性:二维表中的每个列就称为一个属性(或叫字段),
-每个属性有一个名字--属性名 -某一列的值--属性值
-列的个数--关系的元数。如果一个二维
表有n个列,则称其为n元关系。
值域:二维表中属性的取值范围称为值域。例如:
“年龄”的取值为大于0的整数 -“性别”列的取值为{男,女}。
元组:二维表中的一行数据称为一个元组(记录值)。
分量:元组中的每一个属性值称为元组的一个分量。
n元关系的每个元组有n个分量。
例:(0811101,李勇,21,男,计算机系),有5个分量。
关系模式:二维表的结构称为关系模式。·设有关系名为R,属性分别为A,A2,…,An,则关系模式可以表示为: R (A,A2, …, A)。如果将关系模式理解为数据类型,则关系就是该数据类型的一个具体值。
关系数据库:对应于一个关系模型的所有关系的集合称为关系数据库。
候选键:如果一个属性或属性集的值能够惟一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。
主键:当一个关系中有多个候选键时,从中选择一个作为主键。每个关系只能有一个主键。
主键也称为主码或主关键字,用于惟一地确定一个元组。主键可以由一个属性组成,也可以由多个属性共同组成。
外键/码:如果一个关系中的一个属性是另外一个关系中的主码则是这个属性为外码。
主属性:包含在任一候选键中的属性称为主属性。
非主属性:不包含在任一候选键中的属性称为非主属性。
3.3.2 专门的关系运算
选择运算(Select),投影运算(Project),连接运算(Join),除运算(Division),连接运算。
连接运算用来连接相互之间有联系的两个关系,从而产生一个新的关系。连接运算具有如下几种形式:
1. 0连接
2.等值连接(0连接的特例)
3.自然连接
4.外部连接(或称外连接)
5.半连接
外连接
如果希望不满足连接条件的元组也出现在连接结果中,则可以通过外连接实现。
1.外连接有三种:
2.左外连接: R*s
3.右外连接: R*s
4.全外连接:R**S
外连接含义
左(右)外连接:把连接符号左(右)边的关系中不满足连接条件的元组也保留到连接后的结果中,并在连接结果中将该元组所对应的右(左)边关系的各个属性均置成空值(NULL)。
全外连接:把连接符号两边的关系中不满足连接条件的元组均保留到连接后的结果中,并在连接结果中将不满足连接条件的各元组的相关属性均置成空值(NULL)。
半连接
在两个关系之间执行连接操作,并将其结果投影在第一个操作关系的所有属性上。
半连接的一个优点是可以减少必须参与连接的元组的数目.
半连接操作的表达形式为: RS A0B
上述半连接是一个半0连接,其他还有半等值连接、半自然连接等。

除运算
设关系S的属性是关系R的属性的一部分,则 R÷S为这样一个关系:
此关系的属性是由属于R但不属于S的所有属性组成;
R÷S的任一元组都是R中某元组的一部分。但必
须符合下列要求,即任取属于R÷S的一个元组t,则t与S的任一元组连接后,都为R中原有的一个元组。