178.关系数据库理论基础

第2章  关系数据库理论基础

•    2.1 关系模型

•    2.2 关系代数

•    2.3 关系数据库

•    2.4 函数依赖

•    2.5 关系模式的范式

•    2.6 关系模式的分解和规范化

 

2.1 关系模型

•         关系模型的基本要素:关系模型的数据结构、关系操作和关系的完整性约束三部分。

•         2.1.1 关系模型的数据结构——关系

定义2.1   令D = D1×D2×…×Dn = {(d1, d2,…, dn) | di ∈Dn ,  i = 1,2,…,n},即D为D1, D2, …, Dn的笛卡儿积,则D的任何非空子集R都称为D1, D2, …, Dn上的n元关系,其中Di为有限的属性值域,i = 1,2,…,n。

 

Ø 一个n元关系R通常记为R(D1, D2, …, Dn),R中的任一元素(d1, d2,…, dn)称为n元组,简称元组(Tuple)。元组中的每个值di称为分量。n称为关系的度或元。当n = 1时,R称为单元关系;当n = 2时,R称为二元关系。

Ø 注意,一个关系实际上就是若干元组的集合。一个关系必须是有限元组的集合,无限集合对数据库技术来说是无意义的。

 

•         笛卡儿积可以用二维表直观地表示。

【例子】  假设笛卡儿积D = D1×D2×D3,D1为学号的集合, D1={201301, 201302},D2为姓名的集合, D2={李思思, 刘洋},D3为英语成绩(简称“英语”)的集合, D3={90, 85, 70}。

D = {201301, 201302}×{李思思, 刘洋}×{90, 85, 70}

    =   {(201301, 李思思, 90), (201301, 李思思, 85), (201301, 李思思, 70),                                                                (201301, 刘洋, 90), (201301, 刘洋, 85), (201301, 刘洋, 70),

     (201302, 李思思, 90), (201302, 李思思, 85), (201302, 李思思, 70),

     (201302, 刘洋, 90), (201302, 刘洋, 85), (201302, 刘洋, 70)}。

178.关系数据库理论基础

•         由定义2.1,D为一个笛卡儿积,D的任意子集都是三元关系。

【例子】令R = {(201301, 刘洋, 70), (201302, 李思思, 90)},R 为D的一个子集,所以R 为3元关系。

•         这个关系记作R(D1, D2, D3),其对应二维表示如表2.2所示。

 

178.关系数据库理论基础

 

 

 

•         笛卡儿积D本身也是一种关系,但这种关系由于过于泛化而可能会导致语义上的矛盾,从而失去实际意义。一般来说,只有部分关系有意义,而不是全部。

【例子】  元组(201301, 刘洋, 90)和元组(201301, 刘洋, 85)就是一对矛盾的元组,因为学号“201301”、姓名为“刘洋”的学生的英语成绩不可能同时取90分和85分这两个值。

 

•         数据库理论中的一些概念;

Ø 关系:一个关系等同于一张二维表,是有限元组的集合;一个数据库可以视为若干关系的集合

Ø 元组:二维表中的一行对应一个元组,也称为记录。

Ø 由表2.2所示,“201301”,““刘洋”和“70”构成的行就是元组(201301,刘洋, 70)。

Ø 属性:二维表中的每一列都称为属性或字段。

Ø 域:即属性的值域,也就是属性的取值范围。

Ø 由表2.2所示,“学号”这个属性的值域为{201301, 201302}。

 

 

Ø 分量:一个元组中的一个属性值,也常称为数据项。

Ø 由表2.2所示,“刘洋”、“70”等都是数据项。数据项不能再分了,它是关系数据库中最小的数据单位。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfxwz.html