2.1.1 关系

2.1.1.1 域

域是一组具有像同数据类型的值的集合(数据库一张表)

2.1.1.2 笛卡尔积

​是一种集合上的关系运算

D1×D2×D3×...×Dn={(d1×d2×d3×...×dn)diϵDi,i=1,2...,n}\\D_1\times D_2\times D_3\times ... \times D_n = \{(d_1 \times d_2 \times d_3 \times ... \times d_n) | d_i\epsilon D_i, i=1,2 ... , n\}

其中每一个元素(d1×d2×...×d3)(d_1 \times d_2 \times ... \times d_3)叫做一个n元组简称元组。元素中的每一个值did_i叫做一个分量

一个域允许的不同取值个数称为这个域的基数

笛卡尔积可表示为一张二维表,基数就是这个二维表单元格数

2.1.1.3 关系

D1×D2×D3×...×DnD_1\times D_2\times D_3\times ... \times D_n的子集叫做在域D1D2D3...DnD_1,D_2, D_3, ... ,D_n上的关系,表示为R(D1×D2×D3×...×Dn)R(D_1\times D_2\times D_3\times ... \times D_n)

其中R是关系的名字,n是关系的

n=1n=1RR单元关系

n=2n=2RR二元关系

关系是笛卡尔积的一个有限子集,所以关系也是二维表,每行对应一个元组,每列对应一个域,列的名字叫属性nn目关系必有nn个属性

若某一属性的值能唯一地标识一个元组,而其子集不能,则称该属性为候选码

关系有三种基本类型: 基本关系(基本表、基表)、查询表和视图表

2.1.1.3.1基本关系

6条性质:

  1. 列是同质的,每一列中的分量是同一类型的数据,来自同一个域
  2. 不同的列可出自同一个域,称其中每一列为一个属性
  3. 列序不重要
  4. 任意两元组的候选码不同
  5. 行序也不重要
  6. 每一个分量都是不可再分的值

规范化的关系叫做范式

2.1.2 关系模式

关系的描述称为关系模式,表示为(R,D,DOM,F)(R,D,DOM,F)

R为关系名,U为组成该关系的属性集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系

2.1.3 关系数据库

关系数据库的型也称为关系数据库模式,是对关系数据库的描述。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合——关系数据库

2.2 关系操作

2.2.1 关系的基本操作

选择、投影、并、差、笛卡尔积,操作的对象和结果都是集合

2.3 关系的完整性

关系模型中有三类完整性约束:实体完整性,参照完整性,用户定义的完整性

实体完整性和参照完整性是关系模型必须满足的完整性约束条件——关系的两个不变性

2.3.1 实体完整性

若属性(一个或一组)A是基本关系R的主属性,A不能取空(不知道、不存在、无意义)的值

2.3.2 参照完整性

设F是基本关系R的一个或一组属性,但不是关系R的码,KsK_s是基本关系S的主码,如果F与ksk_s相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系