目录
1.关系模型和关系数据库
(1)数据结构:关系数据模型用二维表来组织数据,而这个二维表在关系数据库中就称为关系;在关系系统中,表是逻辑结构而不是物理结构。
(2)数据完整性约束:在数据库中数据的完整性是指保证数据正确性的特征;它包括两个方面:与现实世界中应用需求的数据的相容性和正确性,数据库内的数据之间的相容性和正确性。
2.关系模型的基本术语与形式化定义
(1)基本术语
关系:一般来说,关系就是二维表,二维表的名字就是关系的名字。
属性:二维表的每个列称为一个属性;某一列的值为属性值,列的个数为关系的元数。如果一个二维表有n个列,则称其为n元关系。
值域:二维表中属性的取值范围为值域。
元组:二维表中一行数据称为一个元组。
分量:元组中每一个属性值称为一个分量(不可再分)。
关系模式:二维表的结构称为关系模式。
关系数据库:对应于一个关系模型的所有关系(表)的集合称为关系数据库。
候选键:如果一个属性或属性集能唯一标识一个关系的元组而又不包含多余属性,则称该属性或属性集为候选键;一个关系中可以有多个候选键。
主键:当一个关系有多个候选键时,可从中选一个作为主键;每个关系只能有一个主键,且主键不能为空。
主属性和非主属性:包含在任意一个候选键的属性称为主属性,反之为非主属性。
(2)形式化定义
对关系的限定:关系中每个分量都必须为不可再分的最小属性;表中列的数据类型是固定的,来自相同的域;不同列的数据可来自相同的值域,每个属性有不同的属性名;列的顺序不重要,可任意交换;同一个关系中元组不能重复,即在一个关系中任意两个元组的值不能完全相同。
3.关系代数
(1)概念:关系代数是一种纯理论语言,它定义了一些操作。运用这些操作可以从一个关系或多个关系得到另一关系,而不改变原关系,而且一个操作的输出可以是另一个操作的输入。
(2)传统的集合运算:并、交、差、广义笛卡尔积。
(3)专门的关系运算:
选择:从指定的关系中选择满足给定条件的元组而形成一个新的关系。
投影:从关系中选取若干属性,并用这些属性组成一个新的关系。
连接:θ连接(θ为比较运算符)→等值连接(θ为"="时)→自然连接(等值连接去掉重复列)。
外部连接:左外连接、右外连接、全外连接。
除: 设关系S的属性是关系R的属性的一部分,则 R÷S 为这样一个关系:
此关系的属性是由属于R但不属于S的所有属性组成;R÷S的任一元组都是R中某元组的一部分。但必须符合下列要求,即任取属于R÷S的一个元组t,则t与S的任一元组连接后,都为R中原有的一个元组。(4)关系运算的优先级:从高到低依次为 投影>选择>乘积>连接和除>交>并和差。