SQL 数据库学习 Part 2
关系数据结构
二维表
- 数据的逻辑结构
- 从用户角度,关系模型中数据的逻辑结构是一张二维表
域
一组具有相同数据类型的值的集合
笛卡尔积
给定一组 $D_1,D_2,...,D_n$
笛卡尔积为 $D_1 \times D_2\times ...\times D_n = \{(d_1,d_2,...,d_n)| d_i \in D_i, i = 1,2,...,n\}$
笛卡尔积的二位表示
笛卡尔积可表示一个二维表,表中的每行对应一个元组,表中的每列对应一个域
关系
- 单一的数据结构
- 现实世界的实体以及实体间的各种联系均用关系来表示
- \(D_1 \times D_2 \times ... \times D_n\) 的子集叫作在域 \(D_1,D_2,...,D_N\) 上的关系表示为 \(R(D_1,D_2,...,D_n)\) R 为关系名,n 为关系的目或度
- 关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域
属性
关系中不同列可以对应相同的域。为了加以区分,必须对每列起一个名字,被称为属性
码(键)
由一个或多个属性组成
候选码
在关系中能唯一标识元组的属性或属性集
主属性
候选码的各个属性
主码
用户选作元组标识的候选码
三类关系
- 基本关系(基本表或基表)
实际存在的表,是实际存储数据的逻辑表示 - 查询表
查询结果对应的表 - 视图
由基本表或其他视图导出的表,是虚表,不对应实际存储的
基本关系的性质
- 列是同质的,每一列中的分量是同一个类型的数据,来自同一个域
- 不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名
- 列的顺序无所谓
- 任意两元组不能完全相同
- 分量必须取原子值
关系模式
定义
关系模式是对关系的描述,关系模式是型,关系是值
表示
\(R(U)\) 或 \(R(A_1,A_2,...,A_n)\)
\(R\) 是关系名,\(A_1,A_2,...,A_n\) 为属性名
关系模式和关系的对比
关系模式
- 是对关系的描述
- 静态的、稳定的
关系
- 是关系模式在某一时刻的状态或内容
- 冬天的、随时间不断变化的
关系数据库
定义
在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库