数据库复习
1.1 数据库基础
数据
数据是描述事物的符号记录。
数据库
数据库是长期存储在计算机内有组织,可共享的大量数据的集合。
数据库管理系统
数据库管理系统是基础软件。
数据库系统
数据库系统由
- 数据库及其管理系统,管理员
- 应用系统
组成。
数据库系统的基础与核心:数据模型。
数据库系统中数据的特点
- 结构化
- 共享性强
- 独立性强
- 统一由数据库管理系统管理
数据库系统带来的影响
从以软件为中心,到以数据为中心的迁移。
1.2 数据模型
数据模型
数据模型是对现实世界数据特征的抽象,是数据库系统的基础与核心。
数据建模是“把现实世界具体事物抽象组织为数据模型”的过程。
数据模型三要素:
- 数据结构
- 数据操纵
- 完整性约束
关系模型
关系模型是一种数据模型。从用户观点看,就是一张规范化的二维表。
关系模型要求关系必须规范化(即不能表中套表)。
优点
- 建立在严格的数学概念基础上
- 概念单一
- 存取路径对用户隐藏
缺点
- 效率低,需要优化,而这给开发数据库管理系统又带来难度
1.3 三级模式,两级映像
三级模式
- 内模式
- 模式
- 外模式
模式是数据库的结构。模式是全局的,逻辑的。实例是模式的一个具体的值。
外模式也称子模式,是数据库用户能看见的局部数据的逻辑结构。外模式提高了逻辑独立性。
内模式也称物理模式,是数据在数据库内部的组织方式。内模式是全局的,物理的。
两级映像
两级映像是“外模式/模式映像”与“模式/内模式映像”。其使数据和程序具有逻辑独立性和物理独立性。
2 关系模型
2.1 结构
关系
关系的三种类别:
- 基本关系
- 查询结果
- 视图
基本关系的性质:
- 列是同质的,即统一列的值来自同一个域。
- 不同的列可以用同一个域。
- 行和列是无序的。
- 码是唯一的。
- 表不能嵌套。
关系模式
要定义一个关系模式,可用:
\[R(U, D, \text{DOM}, F)\]为了方便,也可以使用
\[R(U)\]或
\[R(A_1, A_2, \dots, A_n)\]其中,\(R\) 为关系名,\(U\) 为属性名的集合,\(A_1, A_2, \dots, A_n\) 为属性名。
候选码是能唯一标识一个元组的最小属性集。
可从候选码中挑选一个作为主码,此时需要在其下面加下划线。如 \(\text{STUDENT}(\underline{\text{ID}}, \text{AGE}, \text{NAME})\)。
在极端情况下,候选码包含所有属性,此候选码称为全码,
所有候选码的所有属性均为主属性,其他称为非主属性或非码属性。
关系数据库
关系数据库模式是关系模式的集合。关系数据库是关系的集合。
2.2 操纵
关系的基本操作
关系的 5 个基本操作:
- 选择
- 投影
- 并
- 差
- 笛卡尔积
关系还有其他操作:
- 连接
- 除
- 交
关系完备性是指关系数据语言能够表示关系代数可以表示的查询。
2.3 完整性约束
See Integrity Constrains on DB.
2.4 关系代数
参考关系的基本操作。
此外,还需补充一些符号:
- 且/与:\(\wedge\)
- 或:\(\vee\)
选择
选择会筛选所有满足条件的行。
语法:\(\sigma_\text{predicate}(R)\)
投影
投影会选出某些列。
语法:\(\Pi_{A_p, A_q, \dots, A_r}(R)\)
并/差/交
求并集/差集/交集。
语法:
- 并:\(R \cup S\)
- 差:\(R - S\)
- 交:\(R \cap S\)
笛卡尔积
得到所有两两配对的元组。
语法:\(R \times S\)
连接
若有相同的列名,则尝试合并。在合并中,若两值相等则保留并去除重复列,否则舍弃。
语法:\(R \Join S\)