第二章 关系数据库
2.1 关系数据结构及形式化定义
2.1.1 关系
1.域(Domain)
2.笛卡尔积(Cartesian Product)
- 笛卡尔积
- 元组(Tuple)
- 分量(Component)
- 基数(Cardinal number)
笛卡尔积的表示方法
- 笛卡尔积可表示为一个二维表
- 表中的每行对应一个元组,表中的每列对应一个域
3.关系(Relation)
- 关系
- 元组
- 单元关系与二元关系
- 关系的表示
- 属性
- 码
-
候选码(Candidate key)
-
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
全码(All-key) - 关系模式的所有属性组是这个关系模式的候选码,称为全码 主码((Primary key)
- 若一个关系有多个候选码,则选定其中一个为主码 主属性
- 候选码的每一个属性称为主属性
7.三类关系
-
基本关系(基本表或基表)
- 实际存在的表,是实际存储数据的逻辑表示 查询表
- 查询结果对应的表 视图表
- 由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
8.基本关系的性质
2.1.2 关系模式
- 定义: 关系模式是对关系的描述。关系模式通常可以简记为 R(U) 或 R(A1,A2,⋯,An)
- 关系模式与关系
2.1.3 关系数据库
2.2 关系操作
2.2.1基本关系操作
常用的关系操作
- 查询:选择、投影、连接、除、并、交、差
- 数据更新:插入、删除、修改
2.3 关系的完整性
- 实体完整性
- 参照完整性
- 用户定义的完整性
2.3.1 实体完整性
-
实体完整性规则(Entity Integrity)
-
若属性
A
是基本关系
R 的主属性,则属性 A 不能取空值
2.3.2 参照完整性
1.关系间的引用
2.外码
- 设
F 是基本关系 R 的一个或一组属性,但不是关系R 的码。如果 F 与基本关系S 的主码 Ks 相对应,则称 F 是基本关系R 的 外码- 基本关系 R 称为参照关系(Referencing Relation)
- 基本关系
S 称为被参照关系(Referenced Relation)或目标关系(Target Relation) - 外码并不一定要与相应的主码同名
3.参照完整性规则
若属性(或属性组) F 是基本关系R 的外码,它与基本关系 S 的主码Ks 相对应(基本关系 R 和S 不一定是不同的关系),则对于 R 中每个元组在F 上的值必须为:- 或者取空值( F 的每个属性值均为空值)
- 或者等于
S 中某个元组的主码值
2.3.3 用户定义的完整性
2.4 关系代数
概述
传统的集合运算
并 差 交 笛卡尔积 ∪ − ∩ × - 专门的关系运算
选择 投影 连接 除 σ π ⋈ ÷
关系代数小结
五种基本代数运算
- 并、差、笛卡尔积、选择、投影
- R∪S 、 R−S 、 R×S 、 σF(R) 、 πA(R)
组合运算
- 连接(一般连接、等值连接、自然连接、外连接)、除
- R⋈S , R÷S
-
象集
- 设 R(X,Y) ,则 Yx1=⊓y(σX=x1(R)) 除
-
R
中满足下列条件的元组在
X 属性列上的投影:元组在 X 上分量值x 的象集 Yx 包含 S 在Y 上投影的集合,记作 R÷S={tr[X]|tr∈R∧πY(S)⊆Yx}
2.5 关系演算
2.6 小结