数据库系统概论 | 第二章:关系数据库
一、关系数据结构定义及其形式化定义
关系数据库是支持关系模型的数据库系统。
而对于关系模型的数据结构有以下重要定义:
二、关系操作
分为关系代数和关系演算:
- 关系代数
- 关系演算
SQL具有关系代数和关系演算双重特点。
三、关系的完整性
关系模型有三种完整性约束:
- 实体完整性:主属性不能取空值
- 参照完整性:例如好几个表都有一个同样的属性,这个属性要参照不同的表,不能有冲突。
- 用户定义的完整性:数据库的值是否符合现实。
四、关系代数
关系代数用关系的运算表示查询:
运算对象、运算符和运算结果是关系运算的三个要素。
都有以下这些运算:
运算符 | 含义 | |
集合运算符 | ∪ | 并 |
- | 差 | |
∩ | 交 | |
× | 笛卡尔积 | |
专门的关系运算符 | σ | 选择 |
∏ | 投影 | |
∞ | 连接 | |
÷ | 除 |
1.传统的集合运算:并、差、交、笛卡尔积,具体实现略
2.专门的关系运算:
选择 / 限制:在关系 R 中选择逻辑表达式 F 为真的诸元组(F是个bool型值,表示 true 或 false)
例如:
查询Sdept='IS'的全体学生。
从行的角度进行的运算。
投影:关系R的投影是从R中选择若干列组成新的关系
例如: 查询学生的姓名,所在系。
从列的角度进行的运算。
连接 / θ连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组
除: