2013年自考《数据库原理》串讲-关系模型
第二章 关系模型
本章为次重点章,我们经常使用的数据库均采用关系模型,本章主要介绍了关系模型的关系运算理论,主要在于对关系演算运算的理解,为后面章节的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)计算表达式之前先估计一下怎么计算合算。
以上几点需要理解。根据表达式优化的算法步骤对给定表达式进行优化。
最新资讯
- 考前必背!自学考试《中国近现代史纲要》论述题高频考点2024-10-19
- 自考报考策略:科学搭配科目,加速毕业进程2024-07-20
- 2025年考研考生五一假期,英语科目应该如何复习?2024-05-03
- 备考指南!2024年4月自学考试考前要做哪些准备?2024-03-31
- 考前备考冲刺!自考如何一次就过?2024-03-30
- 考点汇总:《中国近现代史纲要》论述题2024-03-25
- 备考资料:《中国近现代史纲要》简答题考点汇总2024-03-25
- 自考可以从哪些维度进行备考?2024-02-17
- @自考生,这里有备考技巧2024-02-17
- 自学考试备考复习方法!建议收藏2024-02-16