Post

数据库复习

数据库复习

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\)

This post is licensed under CC BY 4.0 by the author.