第二章.关系数据库
-
关系数据库的数据结构:关系
关系模型中数据的逻辑结构是一张扁平的二维表 -
关系的 一些概念
- 候选码(关键字):某一属性组的值能唯一标识一个元组,而其子集不能,称属性组为候选码
- 主码:若有多个候选码,选定一个为主码
- 主属性:候选码的诸属性
- 非主属性:不包含在任何的候选码中的属性
- 全码: 所有属性是这个关系的候选码
-
关系的三种类型:基本关系(基本表)、查询表、视图表
-
基本关系的性质
- 列是同质的
- 不同的列可出自同一个域,每一列为一个属性,不同属性要给予不同属性名
- 列的次序可以任意交换
- 任意两个元组候选码不能相同
- 行的顺序无所谓
- 分量必须取原子值 (最基本 1NF)
-
关系模式:关系的描述成为关系模式。
表示为:R(U, D, DOM, F)
R为关系名,U为组成该关系的属性名集合、D为U中属性来自的域、DOM为属性向域的映像集合,F为属性间数据的依赖关系集合 -
基本的关系操作:并、差、选择、投影、笛卡尔积
-
关系操作的特点:集合操作方式
-
关系数据语言
- 关系代数
- 关系演算
- SQL结构化查询语言:数据查询功能、数据定义功能、数据操纵功能、数据控制功能
-
关系完整性
- 实体完整性:主属性不能为空值
- 参照完整性:外键取空值或参照表主键的有效值
- 用户定义的完整性
-
关系代数
- 传统的集合运算:并、交、差、笛卡尔积
- 专门的关系运算:选择、投影、连接、除
- 基本的运算:并、差、选择、投影、笛卡尔积
-
连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
- 等值连接:选取笛卡尔积中原本两个关系的某些属性相等的元组
- 自然连接:一种特殊的等值连接。要求两个关系中进行比较的分量必须是同名的属性组,并且在结果中去掉重复的属性列
做自然连接时,去掉的元组称为悬浮元组。
把悬浮元组也保存在结果关系中,其他属性填空值NULL,这种连接称为外连接。
只保留左边的悬浮元组:左外连接;只保留右边的悬浮元组:右外连接。
-
除:设关系R除以关系S的结果为关系T。则T包含所有1在R但不在S中的属性及其值。且T的元组与S的元组的所有组合都在R中。