第2章关系数据库数学模型 本章导读: 关系数据库是建立在关系模型的基础上,是基于离散数学集合论中的两个 基本理论:集合和关系。关系数据库对数据的操作除了包括集合代数的 连接交关素换是题的灯象着果薏柔算:选择、投影 知识要点: 关系原理 关系代数 关系演算 2.1关系模型概述 22关系代数的原理 23关系代数 2.4关系演算 2.5关系的规范化
第2章 关系数据库数学模型 本章导读: 关系数据库是建立在关系模型的基础上,是基于离散数学集合论中的两个 基本理论:集合和关系。关系数据库对数据的操作除了包括集合代数的 并、交、差等运算之外,更定义了一组专门的关系运算:选择、投影、 连接。关系操作的特点是运算的对象和结果都是关系。 知识要点: ⚫ 关系原理 ⚫ 关系代数 ⚫ 关系演算 2.1 关系模型概述 2.2 关系代数的原理 2.3 关系代数 2.4 关系演算 2.5 关系的规范化
21关系模型概述 关系数据库系统是支持关系模型的数据库系统。 关系数据模型是由关系数据结构、关系操作 和完整性约東三部分组成 2.1.1关系模型的数据结构 2.1.2关系模型的数据操作 2.1.3关系模型的完整性约束
2.1 关系模型概述 关系数据库系统是支持关系模型的数据库系统。 关系数据模型是由关系数据结构、关系操作 和完整性约束三部分组成。 ⚫ 2.1.1 关系模型的数据结构 ⚫ 2.1.2 关系模型的数据操作 ⚫ 2.1.3 关系模型的完整性约束
21.1关系模型的数据结构 关系模型的数据结构非常简单,实体及实体之间的联系 均是单一的数据结构——关系。在用户看来,关系模 型的逻辑结构就是一张没有重复行和重复列的二维表 ( SQL Server系统中,表存储于数据库中)。表由行 和列组成,表中每一行称为元组,每一列称为属性, 关系也可以说是元组的集合,所以其元组又称为行或 记录,属性又称为列或字段。而在支持关系模型的物 理结构中,二维表可以是任何有效的存储结构,如顺 序文件、索引、哈希表、指针等。因此,表是对物理 结构存储数据的一种抽象表示——对很多存储细节的 抽象,如存储记录的位置、记录的顺序、数据值的表 示以及记录访问结构,如索引等,对用户来说都是不 可见的
2.1.1 关系模型的数据结构 关系模型的数据结构非常简单,实体及实体之间的联系 均是单一的数据结构——关系。在用户看来,关系模 型的逻辑结构就是一张没有重复行和重复列的二维表 (SQL Server系统中,表存储于数据库中)。表由行 和列组成,表中每一行称为元组,每一列称为属性, 关系也可以说是元组的集合,所以其元组又称为行或 记录,属性又称为列或字段。而在支持关系模型的物 理结构中,二维表可以是任何有效的存储结构,如顺 序文件、索引、哈希表、指针等。因此,表是对物理 结构存储数据的一种抽象表示——对很多存储细节的 抽象,如存储记录的位置、记录的顺序、数据值的表 示以及记录访问结构,如索引等,对用户来说都是不 可见的
21.2关系模型的数据操作 在关系模型中,操作对象和操作结果都是关系,操作关 系的行为定义为关系语宣,养系语意根据基所反映的 数学含义可分为两类:关系代数语言和关系演算语言 关系代数语言和关系演算语言均是抽象的语资,这些语 言与具体DBMS中实现的实际语言并不完 致,但 和标准,而实际的查询语言除了提供关累代数或关系 演算的功能外,还提供了许多附加的功能。 关系操作语言还提供了一种介于关系代数和关系演算之 间的语 SQ语言( Structure Query Language 结构化查询语言)。SQL语言集数据定义(DL)、 数据操纵(DML)、数据控制(DCL)为一体,是关 系数据库的标准语言。 关系语言是一种高度非过程化的语言,关系的三种语 在表达能力上是完全等价的
2.1.2 关系模型的数据操作 在关系模型中,操作对象和操作结果都是关系,操作关 系的行为定义为关系语言,关系语言根据其所反映的 数学含义可分为两类:关系代数语言和关系演算语言。 关系代数语言和关系演算语言均是抽象的语言,这些语 言与具体DBMS中实现的实际语言并不完全一致,但 它们能用作评估实际数据库系统查询语言能力的基础 和标准,而实际的查询语言除了提供关系代数或关系 演算的功能外,还提供了许多附加的功能。 关系操作语言还提供了一种介于关系代数和关系演算之 间的语言——SQL语言(Structure Query Language, 结构化查询语言)。SQL语言集数据定义(DDL)、 数据操纵(DML)、数据控制(DCL)为一体,是关 系数据库的标准语言。 关系语言是一种高度非过程化的语言,关系的三种语言 在表达能力上是完全等价的
21.3关系模型的完整性约束 为了防止合法用户使用数据时加入不合语义的数据,关系数据模型通过 完整性约束实现数据的正确性和相容性,其完整性约束包括:实体 完整性、参照完整性和用户定义完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件, 被称作是关系的两个不变性,应该由关系数据库系统自动支持。 1.键及其相关概念 键(Key)是由一个或几个属性组成,在实际应用中,有下列几种键(关键字): (1)超键 也称超码,在一个关系中,若一个属性或属性组的值能够唯一标识关系的中的不同元组,则称该属性 或属性组为关系的超键。超键虽然能唯一确定元组,但是它所包含的属性可能有多余的。如学号 和性别组合一起可以唯一确定一个元组,是一个超键,但其中包含的属性“性别”则是多余的。 (2)候选键 也称候选码,如果一个属性或属性组的值能够唯一标识关系中的不同元组而不含有多余的 属性,则称该属性或属性组为关系的候选键( Candidate key)。换句话说,候选码事 是能唯一确定R中某一元组的最小属性集合。与超键的区别是:候选键既能唯一确定 元组,又不包含多余的属性,关系中至少含有一个候选键 (3)主键 简称主键,也称主码,一个关系中,候选关键字可有多个,而被选定作为标识元组唯一性 的那个候选键则称为主关键字( Primary key)。主关键字的各个分量均不能为空
2.1.3 关系模型的完整性约束 为了防止合法用户使用数据时加入不合语义的数据,关系数据模型通过 完整性约束实现数据的正确性和相容性,其完整性约束包括:实体 完整性、参照完整性和用户定义完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件, 被称作是关系的两个不变性,应该由关系数据库系统自动支持。 1.键及其相关概念 键(Key)是由一个或几个属性组成,在实际应用中,有下列几种键(关键字): (1)超键 也称超码,在一个关系中,若一个属性或属性组的值能够唯一标识关系的中的不同元组,则称该属性 或属性组为关系的超键。超键虽然能唯一确定元组,但是它所包含的属性可能有多余的。如学号 和性别组合一起可以唯一确定一个元组,是一个超键,但其中包含的属性“性别”则是多余的。 (2)候选键 也称候选码,如果一个属性或属性组的值能够唯一标识关系中的不同元组而不含有多余的 属性,则称该属性或属性组为关系的候选键(Candidate key)。换句话说,候选码事 是能唯一确定R中某一元组的最小属性集合。与超键的区别是:候选键既能唯一确定 元组,又不包含多余的属性,关系中至少含有一个候选键。 (3)主键 简称主键,也称主码,一个关系中,候选关键字可有多个,而被选定作为标识元组唯一性 的那个候选键则称为主关键字(Primary key)。主关键字的各个分量均不能为空