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