02.关系数据库
关系数据结构及形式化定义
关系
-
单一的数据结构 – 关系
- 现实世界的实体以及实体间的各种联系均用关系来表示
-
逻辑结构 – 二维表
- 从用户角度, 关系模型中数据的逻辑结构是一张二维表
-
关系模型是建立在集合代数的基础上
-
域
-
笛卡尔积
- 元组
- 分量
- 基数
-
关系
- 关系: R(D1, D2, …, Dn)
- 元组
- 单元关系与二元关系
-
关系的表示: 二维表
-
属性
-
码
- 候选码: 唯一标识一个元组的某一属性组
- 全码
- 主码
- 主属性
- 非主属性
-
三类关系
- 基本关系: 实际存在的表, 是实际存储数据的逻辑表示
- 查询表: 查询结果对应的表
- 视图表: 由基本表或其他视图表导出的表, 是虚表, 不对应实际存储的数据
-
基本关系的性质
-
关系模式
-
关系模式是对关系的描述 (关系模式是型, 关系是值)
- 元组集合的结构
- 一个关系通常由赋予它的元组语义确定
- 现实的世界中还存在着完整性约束
-
关系模式可以形式化地表示为: R(U, D, DOM, F)
- R: 关系名
- U: 组成该关系的属性名集合
- D: 属性组U中属性所来自的域
- DOM: 属性向域的映象集合
- F: 属性间的数据依赖关系集合
-
关系模式与关系
- 关系模式是静态的, 稳定的
- 关系是动态的, 随时间不断变化的
- 关系是关系模式在某一时刻的状态或内容
- 关系模式 – 模型, 关系 – 模式
关系数据库
-
关系数据库
- 在一个给定的应用领域中, 所有关系的集合构成一个关系数据库
-
关系数据库的型与值
- 关系数据库的型
- 关系数据库模式
- 关系数据库的值
关系模型的存储结构
关系数据结构
基本关系操作
-
常用关系操作
- 查询: 选择, 投影, 并, 差, 笛卡尔积
- 数据更新: 插入, 删除, 修改
-
关系操作的特点
- 集合操作
关系数据库语言的分类
-
关系代数语言
-
关系演算语言
-
具有关系代数和关系演算双重特点的语言 SQL
关系的完整性
实体完整性
-
主属性不能取空且不能相同
参照完整性
-
关系间的引用
-
外码: 不是自己关系中的码, 而是所参照的关系中的码
-
可以是空值
用户定义完整性
关系代数
传统的关系运算
专门的关系运算
-
选择
-
投影
-
连接
- 一般连接
- 等值连接
- 自然连接
- 悬浮元组
- 外连接
- 左外连接
- 右外连接
-
除运算