数据库系统概论 - 第二章 - 关系数据库


数据库系统概论 - 第二章 - 关系数据库

第二章 关系数据库

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

2.1.1 关系

  • 单一的数据结构 —— 关系
  • 逻辑结构 —— 二维表
  • 关系模型是建立在集合代数的基础上的。

1.域

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

2.笛卡尔积(重点)

  • 域上的一种集合运算,所有域的所有取值的一个组合。
  • (详看书本p38`39)
元组
  • 笛卡尔积中每一个元素(d1,d2,.....dn)称作一个n元组。
分量
  • 笛卡尔积元素(d1,d2,......dn)中的每一个值di称为一个分量。

3.关系

  • 表示为:R(D1,D2.....Dn)
  • R表示关系名,n表示关系 目 或 度。

元组

  • 关系中的每个元素是关系中的元组,通常用 t 表示。

单元关系与二元关系

  • n=1时,为单元关系
  • n=2时,为二元关系

关系的表示

  • 关系也是一个二维表,每行对应一个元组,每列对应一个域,一个属性。

属性

  • 关系中不同列可以对应相同的域,为了加以区分,需对每列起名,称为属性。
  • n目关系必有n个属性。

  • 候选码
  • 全码
  • 主码
  • 主属性
  • 非主属性

三类关系

  • 基本关系(基本表):实际存在的表,是实际存储数据的逻辑表示。
  • 查询表:查询结果对应的表。
  • 视图表:虚表,是由基本表或其他视图表导出的表。不对应实际存储数据。

基本关系的性质(六点)

  • 列是同质的;
  • 不同的列可出自同一个域,不同的属性要给予不同属性名。;
  • 列的次序可以任意交换;
  • 任意两个元组的候选码不能相同;
  • 行的次序可以任意交换;
  • 分量必须取原子值。(规范条件中最基本的一条)

2.1.2 关系模式

  • 关系模式是对关系的描述。关系模式是值,关系是值。
  • 元组集合的结构:属性构成,属性来自的域,属性与域之间的映像关系。
  • 一个关系通常由赋予它的元组语义确定。
  • 现实的世界中还存在着完整性约束。

定义关系模式(表达方式)(了解即可)

  • R(U,D,DOM,F)
  • R :关系名
  • U :组成该关系的属性名集合
  • D:属性组U在属性所以来自的域
  • DOM :属性向域的映像集合
  • F:属性间的数据依赖关系集合

关系模式与关系

  • 关系模式是静态的,稳定的。
  • 关系是动态的,不断变化的。关系是关系模式在某一时刻的状态和内容。

2.1.3 关系数据库

  • 在一个给定的应用领域中,所有关系的集合构成一个关系数据库。
  • 关系数据库的型与值 :型——又称关系数据库模式,是对关系数据库的描述。 值——是这些关系模式在某一时刻对应的关系的集合。简称关系数据库。

2.2 关系操作

2.2.1 常用的关系操作

  • 查询:选择,投影,并,差,笛卡尔积(更多看书P43)
  • 数据更新:插入,删除,修改

关系操作的特点

  • 集合操作方式:操作的对象和结果都是集合,一次一集合的方式。

2.2.2关系数据库语言的分类(前两个主要是理论研究,而SQL是实际应用)

关系代数语言

  • 用对关系的运算来表达查询要求。代表:ISBL。

关系演算语言

  • 用谓词来表达查询要求。
  • 元组关系演算语言:APLHA,QUEL
  • 域关系演算语言:QBE

具有关系代数和关系演算的双重特点的语言

  • SQL

2.3 关系的完整性

  • 实体完整性,参照完整性,用户定义的完整性
  • 实体和参照完整性是关系模型必须满足的完整性约束条件。(关系的两个不变性)

2.3.1 实体完整性

  • 如果属性A是基本关系R的主属性,则A不能取空值。

实体完整性的规则说明:

  • 规则是针对基本而言的,一个基本表对应现实的一个实体集。
  • 实体是可区分的,具有唯一标识。
  • 关系模型中以主码作为唯一标识。
  • 主属性不能取空值。

参照完整性

  • 在关系模型中实体与实体之间的联系都是用关系来描述的,自然存在着关系与关系间的引用。
  • 外码:设F是基本关系R的一个(组)属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码。(基本关系R为参照关系,基本关系S称为被参照关系)

参照完整性规则:

  • R中每个元组在F上的值必须为:
  • 或者取空值(F的每个属性值均为空值)
  • 或者等于S中某个元组的主码值

2.3.3 用户定义的完整性

  • 由用户根据需求定义的完整性。不用由应用程序承担这一功能。

2.4 关系代数

  • 抽象的查询语言,用对关系的运算来表达查询。
  • 关系代数的运算符可分为传统的集合运算符和专门的关系运算。

2.4.1 传统的集合运算

  • 二目运算:并,差,交。笛卡尔积

2.4.2 专门的关系运算

  • 专门的关系运算包括:选择,投影,连接,除运算。
  • (详细的运算过程看书P50~57)

2.5 关系演算(本科生阶段了解即可)

2.5.1 元组关系演算语言ALPHA

  • ALPHA 主要有GET,PUT,HOLD,UPDATE,DROP 六条语句。
  • 语句的基本格式:操作语句 工作空间名(表达式):操作条件
  • 例:简单检索(查询被选修的课程号码)
  • GET W (SC.Cno)

2.5.2 元组关系演算

域关系演算语言QBE

声明:三二一的一的二|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 数据库系统概论 - 第二章 - 关系数据库


三二一的一的二