第3章关系数据库的基本理论 冯万利 医值值 1漂胜图 时厦厦厦厦
第3章 关系数据库的基本理论 冯万利
本章重要概念 ※(1基本概念 关系数据模型,关键码(主键和外键),关系的 定义和性质,三类完整性规则,ER模型到关系模型 的转换规则,过程性语言与非过程性语言 ※(2)关系代数 五个基本操作,四个组合操作,七个扩充操作。 ※(3)关系代数表达式的优化 关系代数表达式的等价及等价转换规则,启化式 优化算法
本章重要概念 ※(1) 基本概念 关系数据模型,关键码(主键和外键),关系的 定义和性质,三类完整性规则,ER模型到关系模型 的转换规则,过程性语言与非过程性语言。 ※(2 ) 关系代数 五个基本操作,四个组合操作,七个扩充操作。 ※(3) 关系代数表达式的优化 关系代数表达式的等价及等价转换规则,启化式 优化算法
主要内容 ※31关系数据模型 ※*34关系演算 3.1.1关系模式 元组关系演算 3.1.2关系操作 ☆域关系演算 ※32关系模型的完整性规则35查询优化 ☆321关系的三类完整性约 ☆35.1查询优化的一般策略 束 35.2代数表达式的等价变 322实体完整性 换规则 32.3参照完整性 ☆35.3优化算法 324用户自定义完整性 ※33关系代数的基本运算 3.31传统的集合运算 冷332专门的关系运算 33.3关系代数表达式及其 应用实例
主要内容 ※ 3.1关系数据模型 ❖ 3.1.1 关系模式 ❖ 3.1.2 关系操作 ※ 3.2关系模型的完整性规则 ❖ 3.2.1 关系的三类完整性约 束 ❖ 3.2.2 实体完整性 ❖ 3.2.3 参照完整性 ❖ 3.2.4 用户自定义完整性 ※ 3.3关系代数的基本运算 ❖ 3.3.1 传统的集合运算 ❖ 3.3.2 专门的关系运算 ❖ 3.3.3 关系代数表达式及其 应用实例 ※ *3.4关系演算 ❖ 元组关系演算 ❖ 域关系演算 ※ 3.5 查询优化 ❖ 3.5.1 查询优化的一般策略 ❖ 3.5.2 代数表达式的等价变 换规则 ❖ 3.5.3 优化算法
3.1关系数据模型 医值值 1漂胜图 时厦厦厦厦
3.1关系数据模型
3.1.1关系模式 ※每个关系都有一个模式,称为关系模式( Relation Schema),由一个关系名及它的所有属性名构成。 ※在关系模式中,字段称为属性,字段值称为属性值, 记录类型称为关系模式。在图3.1中 冷关系模式名是R 冷记录称为元组( tuple) 元组的集合称为关系( relation)或实例( instance) ※一般用前面的大写英语字母A、B、C、…表示单个属 性,用后面的大写字母…、W、Ⅹ、Y、乙表示属性集, 用小写字母表示属性值
3.1.1 关系模式 ※ 每个关系都有一个模式,称为关系模式(Relation Schema),由一个关系名及它的所有属性名构成。 ※在关系模式中,字段称为属性,字段值称为属性值, 记录类型称为关系模式。在图3.1中: ❖ 关系模式名是R ❖ 记录称为元组(tuple) ❖ 元组的集合称为关系(relation)或实例(instance) ※一般用前面的大写英语字母A、B、C、 …表示单个属 性,用后面的大写字母… 、W、X、Y、Z表示属性集, 用小写字母表示属性值
数据库技术的术语关系模型的术语 数据库技术的术语关系模型的术语 字段数据项属性 ABCDE 记录类型关系模式 a1 b1cld1el 记录1 元组1 文 a2 b2 c2 d2 e2 记录2件元组2关系(或实例) 记录3 元组3 a3 d3 e3 字段值 属性值
数据库技术的术语 关系模型的术语 A B C D E a1 b1 c1 d1 e1 a2 b2 c2 d2 e2 a3 b3 c3 d3 e3 数据库技术的术语 关系模型的术语 字段,数据项 属性 记录类型 关系模式 记录1 元组1 记录2 元组2 记录3 元组3 字段值 属性值 文 件 关系(或实例)
关系具有的特点 ※(1)关系(表)可以看成是由行和列交叉组成的二维 表格。它表示的是一个实体集合。 ※(2)表中一行称为一个元组,可用来表示实体集中的 个实体 ※(3)表中的列称为属性,给每一列起一个名称即属性 名,表中的属性名不能相同。 ※(4)列的取值范围称为域,同列具有相同的域,不同 的列可有相同的域。 冷例如,SEX的取值范围是M(男),F(女)},AGE为整 数域。 ※(5)表中任意两行(元组)不能相同。能惟一标识表 中不同行的属性或属性组称为主键
关系具有的特点 ※⑴ 关系(表)可以看成是由行和列交叉组成的二维 表格。它表示的是一个实体集合。 ※⑵ 表中一行称为一个元组,可用来表示实体集中的 一个实体。 ※⑶ 表中的列称为属性,给每一列起一个名称即属性 名,表中的属性名不能相同。 ※⑷ 列的取值范围称为域,同列具有相同的域,不同 的列可有相同的域。 ❖ 例如,SEX的取值范围是{M(男),F(女)},AGE为整 数域。 ※⑸ 表中任意两行(元组)不能相同。能惟一标识表 中不同行的属性或属性组称为主键
关系的性质 ※属性值是原子的,不可分解。 ※没有重复元组。 ※没有行序。 ※理论上没有列序,但一般使用时都有列序
关系的性质 ※ 属性值是原子的,不可分解。 ※ 没有重复元组。 ※ 没有行序。 ※ 理论上没有列序,但一般使用时都有列序
关键码和表之间的联系 ※超键:在一个关系中,能惟一标识元组的属性 或属性集称为关系的超键。 ※候选键:如果一个属性集能惟一标识元组,且 又不含有多余的属性,那么这个属性集称为关 系的候选键。 ※主键:若一个关系中有多个候选键,则选其中 的一个为关系的主键。 ※外键:若一个关系R中包含有另一个关系S的 主键所对应的属性组F,则称F为R的外键。并 称关系S为参照关系,关系R为依赖关系
关键码和表之间的联系 ※超键:在一个关系中,能惟一标识元组的属性 或属性集称为关系的超键。 ※候选键:如果一个属性集能惟一标识元组,且 又不含有多余的属性,那么这个属性集称为关 系的候选键。 ※主键:若一个关系中有多个候选键,则选其中 的一个为关系的主键。 ※外键:若一个关系R中包含有另一个关系S的 主键所对应的属性组F,则称F为R的外键。并 称关系S为参照关系,关系R为依赖关系
关系模式举例 ※例如,学生关系和系部关系分别为: 冷学生(SNo, SNAME,SEX,AGE,SDNo) 系部(SDNo, SDNAMIE,cHAR) ※学生关系的主键是SNO,系部关系的主键为SDNo, 在学生关系中,SDNO是它的外键 ※更确切地说,SDNO是系部表的主键,将它作为外键 放在学生表中,实现两个表之间的联系。 ※在关系数据库中,表与表之间的联系就是通过公共属 性实现的。 ※我们约定,在主键的属性下面加下划线,在外键的属 性下面加波浪线
关系模式举例 ※例如,学生关系和系部关系分别为: ❖ 学生(SNO,SNAME,SEX,AGE,SDNO) ❖ 系部(SDNO,SDNAME,CHAIR) ※学生关系的主键是SNO,系部关系的主键为SDNO, 在学生关系中,SDNO是它的外键。 ※更确切地说,SDNO是系部表的主键,将它作为外键 放在学生表中,实现两个表之间的联系。 ※在关系数据库中,表与表之间的联系就是通过公共属 性实现的。 ※我们约定,在主键的属性下面加下划线,在外键的属 性下面加波浪线