您的位置:自考365 > 复习指导 > 笔记串讲 > 理学 > 自考《数据库原理》串讲—关系模型

自考《数据库原理》串讲—关系模型

2007-01-17 16:27   【 】【我要纠错

  第二章 关系模型

  本章为次重点章,我们经常使用的数据库均采用关系模型,本章主要介绍了关系模型的关系运算理论,主要在于对关系演算运算的理解,为后面章节的SQL作准备。

  一、关系模型的基本概念( 识记 )

  1、关系模型的基本术语:

  用二维表格 结构表示实体集、外键表示实体间联系的数据模型称为 关系模型 .

  基本术语有: 字段(属性)、字段值(属性值)、记录(元组)、二维表格(元组集合、关系或实例)。 在这里,括号中的表述为关系模型中的术语。它与表格中术语可以一一对应。还有,关系中属性个数称为元数,元组个数为基数。

  键 :由一个或几个属性组成。(注意键不一定是唯一的一个属性)。

  超键 :在关系中能唯一标识元组的属性集称为关系模式的超键。(注意,超键也是一个属性集,不一定只是一个属性)

  候选键 :不含有多余属性的超键称为候选键。

  主键 :用户选作元组标识的一个候选键为主键。

  外键 :某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

  2、关系模式、关系子模式和存储模式

  关系模式 :关系模式实际上就是记录类型。它包括:模式名,属性名,值域名以及模式的主键。关系模式仅是对数据特性的描述。 (这通常在数据库中表现为一个数据表的结构)

  关系子模式 :就是用户所用到那部分数据的描述。

  存储模式 :关系存储时的基本组织方式是文件,元组是文件中的记录。

  3、关系模型的三类完整性规则

  实体完整性规则 :要求关系中组成主键的属性上不能有空值。

  参照完整性规则 :要求不引用不存在的实体。

  用户定义完整性规则 :由具体应用环境决定,系统提供定义和检验这类完整性的机制。

  4、关系模型的形式定义:数据结构、数据操作和完整性规则。

  二、关系代数运算(简单应用)

  1、关系代数的五个基本操作:并、差、笛卡尔积、投影和选择。

  并 (∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。

  差 (-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。

  投影( σ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。

  选择 (π):根据某些条件关系作水平分割,即选择符合条件的元组。

  2、关系代数的四个组合操作:交、联接、自然联接和除法

  交 (∩):R和S的交是由既属于R又属于S的元组构成的集合。

  联接 包括θ联接和F联接,是选择R×S中满足iθ(r+j)或F条件的元组构成的集合,特别注意 等值联接 (θ为等号“=”)。

  自然联接 (R|X|S):在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。

  除法 (÷):首先除法的结果中元数为两个元数的差,以例2.6为例,我们可以直接用观察法来得到结果,把S看作一个块,拿到R中去和相同属性集中的元组作比较,如果有相同的块,且除去此块后留下的相应元组均相同,那么可以得到一条元组,所有这些元组的集合就是除法的结果。

  对于上述的五个基本操作和组合操作,应当从实际运算方面进行理解和运用,对其形式定义可不必深究。注意课本上的例子。

  3、关系代数表达式及应用

  在关系代数表达式中,复合了上述五个基本操作,在给出相应的表格(关系)中,应该能够根据给出的关系代数表达式计算关系值,也要能根据相应查询要求列出关系表达式。

  在列关系表达式时,通常有以下形式:

  π……(σ……(R×S))或者π……(σ……(R|X|S))

  首先把查询涉及到的关系取来,执行笛卡尔积或自然联接操作得到一张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影)操作。但是注意当查询涉及到否定或全部值时,就不能用上述形式,而要用到差或除法操作。

  三、关系演算( 领会 )

  关系演算分为元组关系演算或域关系演算,前者以元组为变量,后者以域为变量。

  元组演算表达式的一般形式为:{t|P(t)},其含义为:这是一个元组集合,其中的每个元组t(t是元组变量)满足公式P所规定的条件。所以在书写演算表达式时,应该注重理解公式P如何表达。

  域演算表达式的一般形式为:{t1……tk|P(t1……,tk)},其含义为:这是一个域集合,其中每个域变量的取值关系满足公式P所规定的条件。也是注意公式P的表达。

  以上两类演算需要一定的离散数学基础,如果不能很深刻的掌握,问题也不大,主要应看懂表达式即可,对于给定的表达式和给定的关系,应当能计算表达式的结果(得到一个关系)

  四、查询优化

  查询优化的目的就是为了系统在执行时既省时间又能提高效率,在关系代数运算中,通常是先进行笛卡尔积或联接运算,再进行选择和投影,恰当地安排选择、投影和联接的顺序,就可实现查询优化。

  优化的策略主要有以下几点:

  (1)在关系代数表达式中尽可能早地执行选择操作(早选择)。

  (2)把笛卡尔积和随后的选择操作合并成F联接运算(F联接)

  (3)同时计算一连串的选择和投影操作(同时算)

  (4)保留同一子表达式的结果

  (5)适当对关系文件进行预处理

  (6)计算表达式之前先估计一下怎么计算合算。

  以上几点需要理解。根据表达式优化的算法步骤对给定表达式进行优化。

本文转载链接:自考《数据库原理》串讲—关系模型

分享到:
  • 站内搜索
  • 课程搜索
  • 试题搜索

热门搜索:教材 报名 查分 免考 考试计划