域是一组具有相同数据类型的值的集合
eg
- 整数
- {‘男’,‘女’}
笛卡尔积
- 给定一组域D~1~,D~2~,…..,D~n~,允许其中某些域是相同的
- D~1~,D~2~,…..,D~n~的笛卡尔积为$D_1 \times D_2 \times \cdots \times D_n = { (d_1, d_2, \ldots, d_n) \mid d_i \in D_i, i = 1, 2, \ldots, n }$
- 所有域的所有取值的一个组合
- 不能重复
元组(Tuple)
- 笛卡尔积中每一个元素$(d_1,d_2,……,d_n)$叫作一个n元组或简称元组
eg
(花天岑,男,231830117)
分量
- 笛卡尔积元素$(d_1,d_2,……,d_n)$中的每一个值d~i~叫作一个分量
eg
花天岑、男、231803117
基数
-
一个域允许的不同取值个数
-
若 $D_i$($i = 1, 2, \ldots, n$)为有限集,其基数为 $m_i$,则笛卡尔积的基数 $M$ 为:
\(M = \prod_{i=1}^n m_i = m_1 \times m_2 \times \cdots \times m_n\)
笛卡尔积的表示方法
- 笛卡尔积可以表示为一张二维表
- 表中每行对应一个元组,表中的每列对应一个域
关系
- $D_1 \times D_2 \times ……\times D_n$的子集叫作域$D_1 \times D_2 \times ……\times D_n$上的关系,表示为$R(D_1 \times D_2 \times ……\times D_n)$
- R:关系名
- n:关系的目或度(Degree)
- 当n = 1时,称该关系为单元关系(Unary relation)或一元关系
- 当n = 2时,称该关系为二元关系(Binary relation)
元组
- 关系中的每个元素是关系中的元组,通常用t表示
属性
- 关系中不同列可以对应相同的域
- 为了加以区分,必须对每列起一个名字,称为属性
- n目关系必有n个属性
码
- 候选码(Candidate key)
- 若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码
- 简单的情况下:候选码只包含一个属性
- 最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)
- 主码
- 若一个关系有多个候选码,则选定其中一个为主码(primary key)
- 主属性
- 候选码的诸属性称为主属性(prime attribute)
- 不包含在任何候选码中的属性称为非主属性(Non-Prime Attribute)或非码属性(No-key Attribute)
关系的三种类别
- 基本关系(基本表或基表)
- 实际存在的表,是实际存储数据的逻辑表示
- 查询表
- 查询结果对应的表
- 视图表
- 由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
基本关系的6条性质
- 列是同质的
- 每一列中的分量是同一类型的数据,来自同一个域
- 不同的列可以出自同一个域
- 列的顺序无所谓
- 任意两个元组的候选码不能相同
- 行的顺序无所谓
- 分量必须取原子值(即不可分)
关系模式是型,关系式值
关系模式是对关系的描述
- 元组集合的结构
- 属性构成
- 属性来自的域
- 属性与域的映像关系
- 完整性约束条件
- 关系数据库
- 在一个给定的应用领域中,所有关系的集合结构成一个关系数据库
- 关系数据库的型和值
- 关系数据库的型:关系数据库模式,是对关系数据库的描述
- 关系数据库的值:关系模式在某一时刻对应关系的集合,通常称为关系数据库