2.关系数据库
– 关系模型三要素:关系数据结构 关系操作集合 关系完整性
– 关系数据结构:关系模型中数据的逻辑结构是一张扁平的二维表
2.1 关系的相关术语
- 关系:
- 域:
- 笛卡尔积:
- 关系:
- 候选码:
- 关系模式:
– 关系模式是静态的/稳定的
– 关系是动态的/随时间不断变化的
- 关系数据库
– 关系数据库的型也成为关系数据库模式
– 关系数据库的值是这些关系模式在某一时刻对应的关系的集合。通常称为关系数据库
- 关系模型的存储结构
– 逻辑存储结构
– 物理存储结构
2.2 关系操作集合
– 查询操作:选择/投影/连接/除/并/差/交/笛卡尔积
– 更新操作:插入/删除/修改
2.3 代数运算
-
传统的集合运算:
-
专门的关系运算:
– 记号引入:
– 例子的表格:
– 选择操作:
– 代数符号表示样例
– 投影操作:
– 代数符号表示样例
– 连接操作:
– 代数符号表示样例
– 除操作:
除操作的通俗解释:
– 两个关系R与S,其中R的属性个数为m,S的属性个数为n,且m>n,R与S有重叠的属性
– 取出R与S的重叠属性,在S中找由重叠属性构成的新的关系R1
– 在R中找到存在对应的R1的所有元组构成一个新的关系R2
– 取R2中关于R与S属性差集的投影,得到最终的结果
– 代数符号表示样例
2.4 关系的完整性
- 实体完整性:
若属性(指一个或者一组属性)A是基本关系R的主属性,则A不能取空值NULL - 参照完整性:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须:
– 或者取空值
– 或者等于S中某个元组的主码值 - 用户定义完整性:
针对某一个具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求