1. 关系数据结构及形式化定义

1.1. 关系

关系模型是建立在集合代数的基础上的。

1.1.1. 域(domain)

域是一组具有相同数据类型的值的集合

e.g.自然数、整数等

1.1.2. 笛卡尔积(cartesian product)

给定一组域D1,D2,,DnD_1,D_2,\cdots,D_n,允许期中某些域是相同的

笛卡尔积是:

D1×D2×D3××Dn={(d1,d2,d3,,dn)diDi,i=1,2,3,,n} D_1 \times D_2 \times D_3 \times \cdots \times D_n = \{ ( d_1, d_2, d_3,\cdots, d_n ) | d_i \in D_i,i=1,2,3,\cdots, n\} 每一个(d1,d2,d3,,dn)( d_1, d_2, d_3,\cdots, d_n)称为一个n元组,或者简称元组。

每一个did_i称为一个分量

一个域允许的不同取值的个数称为这个域的基数(也就是集合中有多少个元素)

笛卡尔积的基数M是Di的基数的乘积

D1D_1=……={A,B}

D2D_2=……={1,2}

D3D_3=……={a,b,c}

D1×D2×D3D_1\times D_2\times D_3={

​ (A,1,a),(A,1,b), (A,1,c),(A,2,a),(A,2,b), (A,2,c)

​ (B,1,a),(B,1,b), (B,1,c),(B,2,a),(B,2,b), (B,2,c)

​ }

改笛卡尔积的基数是2×2×3=122\times2\times3=12,也就是说,D1×D2×D3D_1\times D_2\times D_3一共有2×2×3=122\times2\times3=12个元组

1.1.3. 关系(relation)

定义在D1×D2×D3××DnD_1\times D_2\times D_3\times \cdots \times D_n上的笛卡尔空间的一个(有限)子集称其为是一个关系,用R(D1,D2,,Dn)R(D_1,D_2,\cdots,D_n)表示。

字母 含义
R() 关系的名字
n 关系的目或者度(degree)
t 关系中的每个元素是关系中的元组
n=1 单元关系/一元关系
n=2 二元关系

关系和笛卡尔积类似,都是一张二维的表,每一列代表一个域(可以相同),每一列去一个名字(称为属性)加以区分。n目代表n个属性。

若某一属性组可以唯一的标识一个元祖,称为候选码

若有多个候选码,选一个作为主码;

若所有属性都是候选码,叫做全码。

候选码的属性:主属性

不包含在任何候选码中的属性:非主属性/非码属性

1.1.4. 基本关系的性质

列是同质的(Homogeneous)

不同的列可出自同一个域;其中的每一列称为一个属性;不同的属性要给予不同的属性名

列的顺序无所谓,,列的次序可以任意交换

任意两个元组的候选码不能相同

行的顺序无所谓,行的次序可以任意交换

分量必须去原子值,即关系的每一个分量必须是一个不可分的数据项

1.2. 关系模式

关系的描述称为关系模式

R(U,D,DOM,F)

字母 表示含义
R 关系名
U 组成该关系的属性名集合
D U中属性所来自的域
DOM 属性向域的映象集合
F 属性间数据的依赖关系的集合

1.3. 关系数据库

关系数据库的型也称为关系数据库模式,是对关系数据库的描述。

关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就成为关系数据库。

results matching ""

    No results matching ""