【数据库系统原理与设计】(二)关系模型与关系代数
二. 关系模型与关系代数
2.1 关系模型
2.1.1 关系数据结构
1. 关系:二维表就是关系;行对应关系的一个 元组,列对应关系的一个 域(域名=属性名)
2. 关系数据库:表的集合,关系的集合
3. 关系模型建立在集合代数的基础上
- 域:相同数据类型的值的集合
- 空值NULL:值未知或不存在
- 笛卡尔积:
![]()
4. 关系的描述称为 关系模式 ,简记:
r (U) 关系名(属性名集合)
5. 码:
| 学号 | 姓名 | 年龄 |
| 1 | 张三 | 18 |
| 2 | 张三 | 18 |
| 3 | 李四 | 19 |
- 超码(Superkey):可以唯一的标识
所以上表中 {学号} 是超码,同理还有{学号,姓名},{学号,年龄},{学号,姓名,年龄}
- 候选码(Candidatekey):候选码是最小的超码
上表中 {学号} 是候选码
- 主码:由程序员选一个候选码作为关系的主码
| 学号 | 姓名 | 年龄 | 年龄 | 年级 | |
| 1 | 张三 | 18 | 18 | 高三 | |
| 2 | 张三 | 18 | 18 | 高三 | |
| 3 | 李四 | 19 | 19 | 高四 |
- 外码:{年龄} 在左表中就变成了外码(在右表就变成了 主码)
6. 关系数据库模式:关系数据库所包含的所有关系模式的集合
2.1.2 关系完整性约束
1. 实体完整性(entity integrity)
- 主码不为空;
- 构成主码的每一个属性值都不能为空;
2. 参照完整性(referential integrity)
- 外码要么是空,要么是某个主码
- 实体间的联系对应关系间的联系;
- 通过外码实现两个关系间多对一的联系;
3. 用户自定义完整性(user-defined intrgrity)
- 根据不同业务的不同语义,由用户自己定义一些特殊的约束条件
4. 数据库模式导航图
2.1.3 关系操作
1. 关系操作包括:
- 查询操作:选择、投影、并、差、笛卡尔积(五大基本关系操作)、连接、除、交 ...
- 更新操作:插入、删除、修改
2. 关系操作的特点:
- 集合操作方式(操作对象和结果都是集合)
- 一次一集合(对应非关系操作方式:一次一记录)
2.2 关系代数
- 关系代数:通过关系代数运算来构造查询表达式
- 基本关系代数运算:选择、投影、集合并、集合差、笛卡尔积、更名 ...
- 其他运算:集合交、连接、除、赋值
2.2.1 传统的集合运算
1. 并
2. 差
3. 交
4. 笛卡尔积
2.2.2 专门的关系运算
1. 选择
2. 投影
3. 连接
4. 除运算
未完待续
吃完饭回来再更....


浙公网安备 33010602011771号