当前位置:文档之家› 关系模式的分解与函数依赖关系的判断

关系模式的分解与函数依赖关系的判断

关系模式的分解与函数依赖关系的判断
关系模式的分解与函数依赖关系的判断

关系模式的分解与函数依赖关系的判断

(在读此文章时须认真细心读懂每一行每一个细节)

关于无损分解和保持依赖的判断,是系分和数工考试中每年基本上都会考的题,而且绝大部分是对一个关系模式分解成两个模式的考察,分解为三个以上模式时无损分解和保持依赖的判断比较复杂,考的可能性不大,因此我们只对“一个关系模式分解成两个模式”这种类型的题的相关判断做一个总结。

以下的论述都基于这样一个前提:

R是具有函数依赖集F的关系模式,(R1 ,R2)是R的一个分解。

首先我们给出一个看似无关却非常重要的概念:属性集的闭包。

令α为一属性集。我们称在函数依赖集F下由α函数确定的所有属性的集合为F下α的闭包,记为α+ 。下面给出一个计算α+的算法,该算法的输入是函数依赖集F和属性集α,输出存储在变量result中。

算法一:

result=α;

while(result发生变化)do

for each 函数依赖β→γ in F do

begin

if β∈result then result=(result∪γ);

end

(此算法是要算出α属性所能决定的所有属性是那些,包括传递依赖的属性,如主键所能决定的是整个表的所有属性。例如α→β、β→γ、β→δ、δ→θ,此算法能算出属性为:{α、β、γ、β、δ、θ})

属性集闭包的计算有以下两个常用用途:

·判断α是否为超码: 通过计算α+(α在F下的闭包),看α+ 是否包含了R中的所有属性。若是,则α为R的超码。

·通过检验是否β∈α+,来验证函数依赖是否成立。也就是说,用属性闭包计算α+,看它是否包含β。

(请原谅我用∈符号来表示两个集合之间的包含关系,那个表示包含的符号我找不到,大家知道是什么意思就行了。)

看一个例子吧,2005年11月系分上午37题:

● 给定关系R(A1,A2,A3,A4)上的函数依赖集F={A1→A2,A3→A2,A2→A3,A2→A4},R的候选关键字为________。

(37)A. A1 B. A1A3 C. A1A3A4 D. A1A2A3

首先我们按照上面的算法计算A1+ 。

result=A1,

由于A1→A2,A1∈result,所以result=result∪A2=A1A2

由于A2→A3,A2∈result,所以result=result∪A3=A1A2A3

由于A2→A4,A2∈result,所以result=result∪A4=A1A2A3A4

由于A3→A2,A3∈result,所以result=result∪A2=A1A2A3A4

通过计算我们看到,A1+ =result={A1A2A3A4},所以A1是R的超码,理所当然是R的候选关键字。此题选A 。

好了,有了前面的铺垫,我们进入正题。

无损分解的判断。

如果R1∩R2是R1或R2的超码,则R上的分解(R1,R2)是无损分解。这是一个充分条件,当所有的约束都是函数依赖时它才是必要条件(例如多值依赖就是一种非函数依赖的约束),不过这已经足够了。

保持依赖的判断。

如果F上的无论那个函数依赖都能在其分解后的若干个关系中找到一个关系,并且该函数依赖在此关系上成立,则这个分解是保持依赖的(这是一个充分条件),即F上全部函数依赖都能在分解后的关系上成立。如果上述判断失败,并不能断言分解不是保持依赖的,还要使用下面的通用方法来做进一步判断。

该方法的表述如下:

算法二:

对F上的每一个α→β使用下面的过程:

result=α; //此行result=α中的α与α→β中的α是同一个α

while(result发生变化)do

for each 分解后的Ri

t=((result∩Ri)+) ∩Ri //“(result∩Ri)+”表示”result∩Ri”的闭包(即在此处调算法一计算出”result∩Ri”的闭包值) result=result∪t

这里的属性闭包是在函数依赖集F下计算出来的。如果result中包含了β的所有属性,则函数依赖α→β。分解是保持依赖的当且仅当上述过程中F的所有依赖都被保持。

下面给出一个例题,2006年5月系分上午43题:

●设关系模式R,其中U={A, B, C, D, E},F={A→BC,C→D,BC→E,E→A},则分解ρ={R1(ABCE),R2(CD)}满足(43)。

(43)A.具有无损连接性、保持函数依赖

B.不具有无损连接性、保持函数依赖

C.具有无损连接性、不保持函数依赖

D.不具有无损连接性、不保持函数依赖

先做无损链接的判断。R1∩R2={C},计算C+。

Result=C

由于C→D,C∈result,所以result=result∪D=CD

可见C是R2的超码,该分解是一个无损分解。

再做保持依赖的判断。

A→BC,BC→E,E→A都在R1上成立(也就是说每一个函数依赖左右两边的属性都在R1中),C→D 在R2上成立,因此给分解是保持依赖的。

选A。

再看一个复杂点的例题。2007年5月数工40-41题。

●给定关系模式R,U={A, B, C, D, E},F={B→A,D→A,A→E,AC→B},其候选关键字为(40),则分解ρ={R1(ABCE),R2(CD)}满足(41)。

(40)A.ABD

B.ABE

C.ACD

D.CD

(41)A.具有无损连接性、保持函数依赖

B.不具有无损连接性、保持函数依赖

C.具有无损连接性、不保持函数依赖

D.不具有无损连接性、不保持函数依赖

看见了吧,和前面一题多么的相像!

对于第一问,分别计算ABCD四个选项的闭包,

(ABD)+ = { ABDE }

(ABE)+ = { ABE }

(ACD)+ = { ABCDE }

(CD)+ = { ABCDE }

选D。

再看第二问。

先做无损链接的判断。R1∩R2={C},计算C+。

result=C

因此C既不是R1也不是R2的超码,该分解不具有无损分解性。

再做保持依赖的判断。

B→A,A→E,AC→B在R1上成立,D→A在R1和R2上都不成立,因此需做进一步判断。

由于B→A,A→E都是被保持的(因为它们的元素都在R1中),因此我们要判断的是D→A,AC→B是不是也被保持。

对于D→A应用算法二:

result=D

对R1,result∩R1=ф(空集,找不到空集的符号,就用这个表示吧),t=ф,result=D

再对R2,result∩R2=D,D+ =ADE ,t=D+ ∩R2=D (D+ =ADE表示result∩R2的闭包值为ADE,用算法一计算得到)

一个循环后result未发生变化,因此最后result=D,并未包含A,所以D→A未被保持,该分解不是保持依赖的。

选D。

在以下给定的关系模式分解中,D→A的依赖是保持下来的:

给定关系模式R,U={A, B, C, D, E,h},F={B→A,D→A,A→E,AC→B,d→h,h→b},则分解ρ={R1(ABCE),R2(CD h),(abh)}

原因是:D→H,H→B,B→A,所以D→A成立。

总结:

函数依赖:

◆X →Y、Y→Z ,”→” 符号左右两边的属性X、Y必须在同一个关系①中X与Y的依赖关系才能

成立,Y与Z必需在同一个关系②中Y与Z的依赖关系才能成立,但X与Z却可以不必在同一个关系中,函数的传递依赖关系还是被传递保持下来的,即X→Z仍然是成立,即关系①中的X仍能决定关系②中的Z。

◆若在关系③中有四个属性(A、B、C、D),如果存在如下函数依赖:A→B、B→C ;关系③如果被

分解为若干个关系,其中的一个关系是(A、C),则在关系(A、C)中A→C仍能成立,即函数依赖A→C在关系(A、C)中被保留下来。

函数依赖专项练习

1.已知关系模式R,U={A,B,C,D},F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A},求F的最小函数依赖集。 2.已知关系模R,U={A,B,C,D,E,G},F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD, ACD→B,CE→AG},求F的最小函数依赖集。 3.已知关系模式R,U={A,B,C,D,E,G},F={BE→G,BD→G,CDE→AB,CD→A,CE→G,BC→A, B→D, C→D },求F的最小函数依赖集。 4.已知关系模式R(U,F)中,U=ABCDEG,F={BG→C,BD→E,DG→C,ADG→BC,AG→B,B→D} 求:(1)R的候选码(2)R属于哪级范式(3)将模式R按规范化要求分解。 5.已知关系模式R(U,F)中,U=ABCDEG,F={B→G,CE→B,C→A,CE→G,B→D,C→D}, 求:(1)R的候选码(2)R属于哪级范式(3)将模式R按规范化要求分解。 6.假设某商业集团数据库中有关系模式R(商店编号,商品编号,库存量,部门编号,负责人),若规定: (1)每个商店能销售多种商品(每种商品有一个编号);商店的每种商品只在一个部门销售; (2)每个商店的每个部门只有一个负责人; (3)每个商店的每种商品只有一个库存数量; 问题: (1)写出关系R的基本函数依赖。 (2)找出R的候选码。 (3)R属于第几范式。 7.设有关系模式TEACHER(教师编号,教师姓名,电话,所在部门,借阅图书编号,书名,借书日期,还书日期,备注),请回答下列问题: (1)教师编号是该关系的候选码吗? (2)该关系模式是否存在部分函数依赖?如果存在,请写出至少两个? (3)该关系模式满足第几范式? 6题参考答案 (1)每个商店的每种商品只在一个部门销售:商店编号,商品编号->部门编号 每个商店的每个部门只有一个负责人:商店编号,部门编号->负责人 每个商店的每种商品只有一个库存数量:商店编号,商品编号->库存量 (2)主码为:商店编号,商品编号。 (3)因存在非主属性(负责人)对主码(商品编号,商店号)的传递函数依赖,故未达到三范式,只达到二范式。 7题参考答案: (1)不是。假定对任一本书一个人一天只能借一次,则主码为:教师编号,借阅图书编号,借书日期;(2)存在。 (教师编号,借阅图书编号,借书日期)->教师姓名 (教师编号,借阅图书编号,借书日期)->教师电话 (教师编号,借阅图书编号,借书日期)->所在部门

数据挖掘论文

数据挖掘课程论文 ——————数据挖掘技术及其应用的实现 数据挖掘技术及其应用的实现 摘要:随着网络、数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。数据挖掘(Data Mining)就是从大量的实际应用数据中提取隐含信息和知识,它利用了数据库、人工智能和数理统计等多方面的技术,是一类深层次的数据分析方法。本文介绍了数据库技术的现状、效据挖掘的方法以及它在Bayesian网建网技术中的应用:通过散据挖掘解决Bayesian网络建模过程中所遇到的具体问题,即如何从太规模效据库中寻找各变量之间的关系以及如何确定条件概率问题。 关键字:数据挖掘、知识获取、数据库、函数依赖、条件概率 一、引言: 数据是知识的源泉。但是,拥有大量的数据与拥有许多有用的知识完全是两回事。过去几年中,从数据库中发现知识这一领域发展的很快。广阔的市场和研究利益促使这一领域的飞速发展。计算机技术和数据收集技术的进步使人们可以从更加广泛的范围和几年前不可想象的速度收集和存储信息。收集数据是为了得到信息,然而大量的数据本身并不意味信息。尽管现代的数据库技术使我们很容易存储大量的数据流,但现在还没有一种成熟的技术帮助我们分析、理解并使数据以可理解的信息表示出来。在过去,我们常用的知识获取方法是由知识工程师把专家经验知识经过分析、筛选、比较、综合、再提取出知识和规则。然而,由于知识工程师所拥有知识的有局限性,所以对于获得知识的可信度就应该打个 折扣。目前,传统的知识获取技术面对巨型数据仓库无能为力,数据挖掘技术就应运而生。 数据的迅速增加与数据分析方法的滞后之间的矛盾越来越突出,人们希望在对已有的大量数据分析的基础上进行科学研究、商业决策或者企业管理,但是目前所拥有的数据分析工具很难对数据进行深层次的处理,使得人们只能望“数”兴叹。数据挖掘正是为了解决传统分析方法的不足,并针对大规模数据的分析处理而出现的。数据挖掘通过在大量数据的基础上对各种学习算法的训练,得到数据对象间的关系模式,这些模式反映了数据的内在特性,是对数据包含信息的更高层次的抽象[1]。目前,在需要处理大数据量的科研领域中,数据挖掘受到越来越多的关注,同时,在实际问题中,大量成功运用数据挖掘的实例说明了数据挖掘对科学研究具有很大的促进作用。数据挖掘可以帮助人们对大规模数据进行高效的分

数据库原理简答题

.相对于数据库系统,文件系统阶段数据管理有哪些缺陷 数据冗余、数据不一致、数据联系弱。 .以学生选课关系SC(学号,课程号,成绩)为例,说明实体完整性规则的含义。 实体完整性规则是指关系中的元组在组成主键的属性上不能有空值。关系SC 的主键为(学号,课程号),因此SC 中的每个元组在学号、课程号两个属性上的取值均不能为空。 如果关系模式R的候选键由全部属性组成,那么R是否属于3NF说明理由。 R 属于3NF。 根据题意可知,R 中无非主属性,满足3NF 的条件,即不存在非主属性对键的部分和传 递函数依赖。 设有关系模式SC(SNO,CNO,SCORE),试写出与关系代数表达式(SC)) ∏σ ( 2 SNO,' =' B CNO SCORE 等价的元组表达式。 .嵌入式SQL语句何时不必涉及到游标何时必须涉及到游标 (1)INSERT、DELETE、UPDATE 语句,以及查询结果肯定是单元组时的SELECT 语 句,都可以直接嵌入到主程序中使用,不必涉及到游标。 (2)当SELECT 语句查询结果是多个元组时,必须使用游标。 试说明事务的ACID特性分别由DBMS的哪个子系统实现。 事务的原子性、一致性、隔离性、持久性分别由DBMS 的事务管理、完整性、并发控制、恢复管理子系统实现。 设有两个关系模式:职工(职工号,姓名,性别,部门号),部门(部门号,部门名),如果规定当删除某个部门信息时,必须同时删除职工关系中该部门的员工信息。试写出符合上述规则的外键子句。 用户访问数据库的权限有哪几种 读(Read)权限、插入(Insert)权限、修改(Update)权限、删除(Delete)权限。 .在SQL/CLI中,宿主程序与数据库交互过程中有哪几个重要记录 环境记录、连接记录、语句记录、描述记录。 简述DB驱动程序的主要任务。

数据库-部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别

数据库-部分函数依赖,传递函数依赖,完全函数依赖, 三种范式的区别 要讲清楚范式,就先讲讲几个名词的含义吧: 部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。 举个例子:学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖与(学号,身份证号); 完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。例子:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,在R关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级); 传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。 例子:在关系R(学号 ,宿舍, 费用)中,(学号)->(宿舍),宿舍!=学号,(宿舍)->(费用),费用!=宿舍,所以符合传递函数的要求;

在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列(即每个属性)都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。简而言之,第一范式就是无重复的列。 2、第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个唯一属性列被称为主关键字或主键、主码。 第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是非主属性依赖于主关键字。

最小函数依赖集的求法

一、等价和覆盖 定义:关系模式R上的两个依赖集F和G,如果F+=G+,则称F和G是等价的,记做F≡G。若F≡G,则称G是F的一个覆盖,反之亦然。两个等价的函数依赖集在表达能力上是完全相同的。 二、最小函数依赖集 定义:如果函数依赖集F满足下列条件,则称F为最小函数依赖集或最小覆盖。 ① F中的任何一个函数依赖的右部仅含有一个属性; ② F中不存在这样一个函数依赖X→A,使得F与F-{X→A}等价; ③ F中不存在这样一个函数依赖X→A,X有真子集Z使得F-{X→A}∪{Z→A}与F等价。 算法:计算最小函数依赖集。 输入一个函数依赖集 输出 F的一个等价的最小函数依赖集G 步骤:① 用分解的法则,使F中的任何一个函数依赖的右部仅含有一个属性; ② 去掉多余的函数依赖:从第一个函数依赖X→Y开始将其从F中去掉,然后在剩下的函数依赖中求X的闭包X+,看X+是否包含Y,若是,则去掉X→Y;否则不能去掉,依次做下去。直到找不到冗余的函数依赖; ③ 去掉各依赖左部多余的属性。一个一个地检查函数依赖左部非单个属性的依赖。例如XY→A,若要判Y为多余的,则以X→A代替XY→A是否等价?若A (X)+,则Y是多余属性,可以去掉。 举例:已知关系模式R,U={A,B,C,D,E,G}, F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG},求F的最小函数依赖集。 解1:利用算法求解,使得其满足三个条件 ① 利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖,得F为: F={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,CE→A,CE→G} ② 去掉F中多余的函数依赖 A.设AB→C为冗余的函数依赖,则去掉AB→C,得: F1={D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,CE→A,CE→G}

数据库原理习题库(湖州师范学院)

模拟题4 一、填空题(每空1分,共12分) 1. 数据库是长期存储在计算机内、有组织的、可_ _的数据集合。 2. 构成数据模型的三大要素是__________、数据操作和数据完整性约束。 3. SQL语言支持关系数据库的三级模式结构,其中外模式对应于 和部分基本表,模式对应于基本表,内模式对应于。 4. 分布式数据库是一组数据集,逻辑上它们属于同一系统,而在物理上分散在用计算机网络连接的多个场地上,并统一由一个______________________________管理。 5. 在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:既要保持_________关系,又要具有________连接性。 6. 在数据库系统中,数据的完整性是指数据的、 和。 7. 并发操作带来数据不一致性包括三类:丢失修改、 和。 二、单选题(每空1分,共12 分) 1. 关系数据库管理系统都是基于()理论。 A. Codd的数据关系模型 B. 数据结构 C. 计算机操纵系统 D. 信息管理 2. 元组关系演算表达式{t| R(t) ∧S(t)}表达的是() A. R∪S B. R∩S C. R-S D. S-R 3. 在数据库中,与查询有关的是() A. 数据依赖 B. 进程管理 C. 索引 D. 数据压缩 4. 在关系模式R(U,F)中,如果X→U,则X是R的() A. 候选码 B. 主码 C. 超码 D. 外码 5. 语句 delete from sc 表明() A. 删除sc中的全部记录 B. 删除基本表sc C. 删除基本表sc中的列数据 D. 删除基本表sc中的部分行 6. 数据库设计阶段分为() A. 物理设计阶段、逻辑设计阶段、编程和调试阶段 B. 模型设计阶段、程序设计阶段和运行阶段 C. 方案设计阶段、总体设计阶段、个别设计和编程阶段 D. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段 7. 关系笛卡尔积运算记号R×S,( ) A. R为关系名,S为属性名 B. R和S均为属性名 C. R为属性名,S为关系名 D. R和S均为关系名 8. 在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过哪种技术实现() A. 指针 B. 游标 C. 数组 D. 栈 9. 下列说法中不正确的是()。 A. 任何一个包含两个属性的关系模式一定满足3NF

函数依赖习题

1.设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C课程,P教师,S学生,G成绩,T时间,R 教室,根据定义有如下数据依赖集 D={C→G,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R}关系模式W的一个关键字是__,W的规范化程度最高达到__()。 A、(S,C),1NF B、(T,R),3NF C、(T,P),4NF D、(T,S),2NF 2.对于关系R,第三范式是R中的每个非主属性应满足() A、与主关键字存在单值依赖关系 B、与主关键字存在多值依赖关系 C、函数传递依赖主关键字 D、非函数传递依赖主关键字 3.在一个关系R中,若每个数据项都是不可分割的,那么关系R一定属于() A、BCNF B、1NF C、2NF D、3NF 4.根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,下面“部门”关系中,因哪个属性而使它不满足第一范式() 部门(部门号,部门名,部门成员,部门总经理) A、部门总经理 B、部门成员 C、部门名 D、部门号 5.下列关于规范化理论各项中正确的是() A、对于一个关系模式来说,规范化越深越好 B、满足二级范式的关系模式一定满足一级范式 C、一级范式要求一非主码属性完全函数依赖关键字 D、规范化一般是通过分解各个关系模式实现的,但有时也有合并 6.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足其每一属性都是() A、互不相关的 B、不可分解的 C、长度可变的 D、互相关联的 7.在关系模式R(U,F)中,如果F是最小函数依赖集,则() A、R∈2NF B、R∈3NF C、R∈BCNF D、R的规范化程度与F是否最小函数依赖集无关 8.在关系模式R(U,F)中,R中任何非主属性对键完全函数依赖是R∈3NF的() A、充分必要条件 B、必要条件 C、充分条件 D、既不充分也不必要条件 9在二元关系模式R(U,F)中,X,Y都是单一属性,如果X→Y,则R最高可以达到()A、2NF B、3NF C、BCNF D、4NF

数据库系统原理(含答案)

数据库系统原理自测题(2) 一、单项选择题 1.数据库物理存储方式的描述称为【B】 A.外模式B.内模式 C.概念模式D.逻辑模式 2.在下面给出的内容中,不属于DBA职责的是【A】A.定义概念模式B.修改模式结构 C.编写应用程序D.编写完整行规则 3.用户涉及的逻辑结构用描述【C】 A.模式B.存储模式 C.概念模型D.逻辑模式 4.数据库在磁盘上的基本组织形式是【B】A.DB B.文件 C.二维表 D.系统目录 5.在DBS中,最接近于物理存储设备一级的结构,称为【D】A.外模式B.概念模式C.用户模式D.内模式 6.从模块结构考察,DBMS由两大部分组成:【B】A.查询处理器和文件管理器B.查询处理器和存储管理器 C.数据库编译器和存储管理器D.数据库编译器和缓冲区管理器 7.设W=RS,且W、R、S的属性个数分别为w、r和s,那么三者之间应满足 【A】 A.w≤r+s B.w<r+s C.w≥r+s D.w>r+s 8.数据库系统的体系结构是数据库系统的总体框架,一般来说数据库系统应具有三级模式体系结构,它们是【A】 A.外模式、逻辑模式和内模式B.内模式、用户模式和外模式 C.内模式、子模式和概念模式D.子模式、模式和概念模式 9.ER图是表示概念模型的有效工具之一,在ER图中的菱形框表示【A】A.联系B.实体 C.实体的属性D.联系的属性 10.数据库管理系统中数据操纵语言DML所事项的操作一般包括【A】 A.查询、插入、修改、删除B.排序、授权、删除 C.建立、插入、修改、排序D.建立、授权、修改

11.设有关系R(A,B,C)和关系S(B,C,D),那么与RS等价的关系代数表达式是【C】 A.π1,2,3,4(σ2=1∧3=2(R×S))B.π1,2,3,6(σ2=1∧3=2(R×S)) C.π1,2,3,6(σ2=4∧3=5(R×S))D.π1,2,3,4(σ2=4∧3=5(R×S))12.在关系模式R中,函数依赖X→Y的语义是【B】A.在R的某一关系中,若两个元组的X值相等,则Y值也相等 B.在R的每一关系中,若两个元组的X值相等,则Y值也相等 C.在R的某一关系中,Y值应与X值相等 D.在R的每一关系中,Y值应与X值相等 13.设有关系模式R(A,B,C,D),R上成立的FD集F={A→C,B→C},则属性集BD 的闭包(BD)+为【B】A.BD B.BCD C.ABD D.ABCD 14.有10个实体类型,并且它们之间存在着10个不同的二元联系,其中2个是1:1联系类型,3个是1:N联系类型,5个是M:N联系类型,那么根据转换规则,这个ER结构转换成的关系模式有【B】 A.13个B.15个C.18个D.20个 15.关系模式R分解成数据库模式ρ的一个优点是【D】A.数据分散存储在多个关系中B.数据容易恢复 C.提高了查询速度D.存储悬挂元组 16.事务并发执行时,每个事务不必关心其他事务,如同在单用户环境下执行一样,这个性质称为事务的【D】A.持久性B.一致性C.孤立性D.隔离性 17.用户或应用程序使用数据库的方式称为【B】A.封锁B.权限C.口令D.事务 18. 常用的关系运算是关系代数和。【C 】 A .集合代数 B .逻辑演算 C .关系演算 D .集合演算 19.在关系代数表达式优化策略中,应尽可能早执行操作【C】A.投影B.连接 C.选择D.笛卡儿积 20.当关系R和S自然连接时,能够把R和S原核舍弃的元组放到结果关系中的操作是 【D】A.左外连接B.右外连接 C.外部并D.外连接 规范化为BCNF 【C 】A.消除非主属性对码的部分函数依赖B .消除非主属性对码的传递函数依赖 C.消除主属性对码的部分和传递函数依赖D .消除非平凡且非函数依赖的多值依赖23.对用户而言,ODBC技术屏蔽掉了【B】A.不同服务器的差异B.不同DBS的差异

教你如何判断无损连接和函数依赖

教你如何判断无损连接和函数依赖 无损分解和保持依赖的判断 大部分是对一个关系模式分解成两个模式的考察,分解为三个以上模式时无损分解和保持依赖的判断比较复杂,考的可能性不大,因此我们只对“一个关系模式分解成两个模式”这种类型的题的相关判断做一个总结。 以下的论述都基于这样一个前提: R是具有函数依赖集F的关系模式,(R1 ,R2)是R的一个分解。 首先我们给出一个看似无关却非常重要的概念:属性集的闭包。 令α为一属性集。我们称在函数依赖集F下由α函数确定的所有属性的集合为F下α的闭包,记为α+ 。 下面给出一个计算α+的算法,该算法的输入是函数依赖集F和属性集α,输出存储在变量result 中。 算法一: result:=α; while(result发生变化)do for each 函数依赖β→γ in F do begin if β∈result then result:=result∪γ; end 属性集闭包的计算有以下两个常用用途: ·判断α是否为超码,通过计算α+(α在F下的闭包),看α+ 是否包含了R中的所有属性。若是,则α为R的超码。 ·通过检验是否β∈α+,来验证函数依赖是否成立。也就是说,用属性闭包计算α+,看它是否包含β。 (请原谅我用∈符号来表示两个集合之间的包含关系,那个表示包含的符号我找不到,大家知道是什么意思就行了。) 看一个例子吧,2005年11月系分上午37题: ● 给定关系R(A1,A2,A3,A4)上的函数依赖集F={A1→A2,A3→A2,A2→A3,A2→A4},R的候选关键字为________。 (37)A. A1 B. A1A3 C. A1A3A4 D. A1A2A3 首先我们按照上面的算法计算A1+ 。 result=A1, 由于A1→A2,A1∈result,所以result=result∪A2=A1A2 由于A2→A3,A2∈result,所以result=result∪A3=A1A2A3 由于A2→A4,A2∈result,所以result=result∪A3=A1A2A3A4 由于A3→A2,A3∈result,所以result=result∪A2=A1A2A3A4 通过计算我们看到,A1+ =result={A1A2A3A4},所以A1是R的超码,理所当然是R的候选关键字。此题选A 。

计算机四级数据库真题及解析(8)

计算机四级数据库真题及解析(8) 1 下列哪一项工作属于数据库管理员的职责()。 A) 参与用户需求调研和系统分析 B) 确定数据库的存储结构和存取策略 C) 编写应用系统的程序模块 D) 应用系统的安装和调试 2 下列关于数据库数据字典的叙述中,哪一条是错误的()。 A) 数据字典中保存关于数据库的描述信息 B) 数据字典与元数据是不同的概念 C) 程序访问数据库数据时,由 DBMS 通过查询数据字典确定被访问的数据 D) 数据独立性是指存储在数据库的数据字典中的数据文件结构,与访问它的程序之间是相互分离的 3 涉及企业订单处理、市场及客户支持等功能领域的应用软件是 A) CRM B) ERP C) Web Portal D) Search Engine 4 下列关于数据模型的数据约束的叙述中,哪一条是错误的()。 A) 数据约束描述数据结构中数据间的语法和语义关联 B) 数据约束用以保证数据的正确性、有效性和相容性 C) 数据完整性约束是数据约束的一种 D) 数据约束指的是数据的静态特征,不包括数据的动态行为规则 5 下列关于物理层模型的叙述中,哪一条是错误的()。 A) 物理层模型是数据库最底层的抽象 B) 物理层模型确定数据的存储结构、存取路径 C) 逻辑模型是物理层模型的实现 D) 物理层模型的设计目标是提高数据库的性能和有效利用存储空间

6 下列关于层次模型的叙述中,哪一条是错误的()。 A) 层次模型主要反映现实世界中实体间的层次关系 B) 层次模型用有向图结构表示实体及它们之间的联系 C) 层次模型的存储结构可以通过邻接法、链接法、和邻接 -链接混合法实 现数据间的存储连接 D) 层次模型引入冗余数据和指针来实现实体的多对多关系 7 设关系 R与关系 S具有相同的度,且相对应的属性的值取自同一个域, 则 R-(R-S)与下列哪一项等价()。 A) R∪S B) R∩S C) R ×S D) R-S 8 如图所示的两个关系 R和 S 则关系 T是下列哪一项操作得到的结果()。 A) R 和 S的自然连接 B) R 和 S的左外连接 C) R 和 S的右外连接 D) R 和 S的全外连接 9 若属性(或者属性组) F是关系 R的外码,它与关系S的主码 Ks相对应,则下列关于关系模型中参照完整性约束的叙述中哪一条是错误的()。 A) 关系 R和关系 S 必须是不同关系 B) F 可以取空值 C) 如果 F 非空,则它的取值必须是 S 中某个元组的主码值 D) F 与 Ks可以同名,也可以不同名 10 有一个关系:学生(学号,姓名,系别),规定学号的值域是 8个数字 组成的字符串,这一规则属于下列哪一项约束()。 A) 实体完整性约束 B) 参照完整性约束 C) 用户自定义完整性约束 D) 关键字完整性约束 11 如图所示的两个关系R和S 则关系T是下列哪一操作得到的结果()。

数据库原理与应用教程期末考试试题与答案2

数据库原理与应用教程―SQL Server 期末测试题与答案(二) 一、填空题(每空1分,共10分) 1.在信息世界中能唯一标识实体的属性集,称为________。 2.如果关系模式R 是1NF ,且每个非主属性________函数依赖于主键,那么称R 是第二范式的模式。 3.数据规范化的优点之一是能消除_____ ___和操作异常现象。 4.若关系A 有m 个属性,关系B 有n 个属性,则A×B 有________个属性。 5.关系代数运算中,专门的关系操作有:选择、投影、除和________。 6.关系中属性的取值范围称为属性的___________。 7.在SQL Server2005中,通配符只有在_________子句中才有意义,否则会被当作普通字符使用。 8.触发器也是一种存储过程,它主要通过事件进行触发而被执行,而存储过程可以通过 而被直接调用。 9.一般可以使用________命令来标识T-SQL 批处理的结束。 10.在索引命令中使用关键字CLUSTERED 表示将建立的是____________索引。 二、选择题(每小题1分,共20分) 1.数据库的概念模型( ) (A)依赖于计算机硬件和DBMS (B)独立于计算机硬件,依赖于DBMS (C)依赖于计算机硬件,独立于DBMS (D)独立于计算机硬件和DBMS 2.假设某个E-R 图中有5个实体型、2个1∶M 联系和2个M ∶N 联系,则该E-R 图转换的关系模式个数至少是( ) (A)5 (B)7 (C)8 (D)9 3.用二维表来表示实体及实体之间联系的数据模型称为( ) (A)实体-联系模型 (B)层次模型 (C)网状模型 (D)关系模型 4.在学生关系:学生(学号,姓名,年龄,性别)中,想查询年龄小于20的学生的学号和姓名,则关系运算式应写成( ) (A) )(20学生年龄<σ (B))学生(年龄学号,姓名)(20<∏σ (C) )(学生学号,姓名年龄)(20∏<σ (D)))((20学号,姓名学生年龄<σ 5.在一个关系中,每个属性都是不可分解的,这个关系一定达到( ) (A) 2NF (B)3NF (C)BCNF (D)1NF

关系模式的无损分解

1、已知关系模式R(ABC),F={A→C,B→C},求F+。 可以直接通过自反律、增广律、传递律加以推广: F+={φ→φ,A→φ,B→φ,C→φ,A→C,B→C,AB→φ,AB→A,AB→B,AB→C,AB→BC,AB→AB,AB→ABC,BC→φ,BC→C,BC→B,BC→BC,AC→φ,AC→C,AC→A,AC→AC,ABC→φ,ABC→A,ABC→B,ABC→C,ABC→BC,ABC→AB,ABC→ABC} 4.6 试分析下列分解是否具有无损联接和保持函数依赖的特点: (1)设R(ABC),F1={A→B} 在R上成立,ρ1={AB,AC}。 首先,检查是否具有无损联接特点: 第1种解法--算法4.2: (1) 构造表(2)根据A→B进行处理 结果第二行全是a行,因此分解是无损联接分解。 第2种解法:(定理4.8) 设 R1=AB,R2=AC R1∩R2=A R2- R1=B ∵A→B,∴该分解是无损联接分解。 然后,检查分解是否保持函数依赖 πR1(F1)={A→B,以及按自反率推出的一些函数依赖} πR2(F1)={按自反率推出的一些函数依赖} F1被πR1(F1)所蕴涵,∴所以该分解保持函数依赖。

2、设R(ABC),F2={A→C,B→C}在R上成立,ρ2={AB,AC} 首先,检查是否具有无损联接特点: 第1种解法(略) 第2种解法:(定理4.8) 设 R1=AB,R2=AC R1∩R2=A R2- R1=C ∵A→C,∴该分解是无损联接分解。 然后,检查分解是否保持函数依赖 πR1(F2)={按自反率推出的一些函数依赖} πR2(F2)={A→C,以及按自反率推出的一些函数依赖} ∵F1中的B→C没有被蕴涵,所以该分解没有保持函数依赖。 3、设R(ABC),F3={A→B},在R上成立,ρ3={AB,BC}. 首先,检查是否具有无损联接特点: 第1种解法: (1) 构造表(2)根据A→B进行处理没有一行全是a行。因此这个分解不具有无损联接特性。 第2种解法:(定理4.8) 设 R1=AB,R2=BC R1∩R2=B

第六章 函数依赖

朱彦荣 20132184 软件工程2 第六章作业 一. 简答题 1.数据依赖的分类? 函数依赖,多值依赖,连接依赖 2.关系模式可能存在的4个问题? 插入异常、删除异常、冗余、更新异常 3.函数依赖的分类? 平凡函数依赖、非平凡函数依赖、完全函数依赖、部分函数依赖、传递函数依赖 4.函数依赖范畴内的4个范式? 第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF范式 5.3NF关系模式存在异常的可能原因? 仍可能出现插入异常、删除异常、冗余和更新异常。原因是:还可能存在主属性部分函数依赖于键。 6.关系模式规范化的方法? 首先要保证属性的原子性,即至少为1NF,然后由1NF到2NF是消除非主属性对键的部分函数依赖,2NF到3NF是消除非主属性对键的传递函数依赖。3NF到BCNF是消除主属性对键的部分函数依赖和传递函数依赖,一般来说到这里就可以了。然后,有BCNF范式到4NF范式消除非平凡且非函数依赖的多值依赖,最后由4NF到5NF是消除不是候选键所蕴含的连接依赖。 7.如果X和Y之间是1:n的联系,则X和Y之间的函数关系是谁决定谁?如果是1:1和 m:n呢? 若X:Y=1:N,则N方决定1方,即Y->X 若X:Y=1:1,则X->Y且Y->X,即X<->Y,X和Y等价 若X:Y=M:N,则不能相互决定 二.设有关系模式:R(Sid,Sname,Cid,Cname,Score,Tid),其中:Sid、Sname、Cid、Cname、Score、Tid分别表示学号、学生姓名、课程编号、课程名、成绩、教师编号,并有如下语义要求: ●课程与教师间的联系为1:1; ●学生与课程间的联系为m:n; ●一名学生只能有一个学号,且学号唯一; ●一门课程只能有一个课程号,且课程号唯一。 请完成:

最小函数依赖集Fm的求法

最小函数依赖集Fm的求法: 1.根据分解规则,将函数依赖的右端分解成单个属性 2.对于F中的每个函数X→A,设G=F-{X→A},如果A∈X G+,则 将X→A从中删除,否则保留。 3.对于F中每一个左端包含多个属性的X→A,选择X的每个子 集Z,如果A∈Z F+,则用Z→A代替X→A。 例如: F={BE→G,BD→G,CDE→AB,CD→A,CE→G,BC→A,B→D,C→D} 求Fm。 解:1)右端分解成单个属性 F={BE→G,BD→G,CDE→A, CDE→B,CD→A,CE→G,BC→A,B→D,C →D} 2)设G=F-{X→A},如果A∈X G+,则将X→A删除,否则保留(1)G=F-{ BE→G }={BD→G,CDE→A, CDE→B,CD→A,CE→G,BC →A,B→D,C→D},则(BE)G+=BEDG,包含G,则删除。(2)G=F-{BD→G, }={ CDE→A, CDE→B,CD→A,CE→G,BC→A,B →D,C→D},则(BD)G+=BD,不包含G,则保留。 (3)G=F-{CDE→A}={ BD→G, CDE→B,CD→A,CE→G,BC→A,B →D,C→D},则(CDE)G+= CDEBGA,包含A,则删除。 (4)G=F-{CDE→B}={ BD→G, CD→A,CE→G,BC→A,B→D,C→D},则(CDE)G+= CDEAG,不包含B,则保留。 (4)G=F-{CD→A,}={ BD→G, CDE→B,CE→G,BC→A,B→D,C

→D},则(CD)G+= CD,不包含A,则保留。 (5)G=F-{ CE→G,}={ BD→G, CDE→B,CD→A, BC→A,B→D,C →D},则(CE)G+= CEDBAG,包含G,则删除。 (5)G=F-{ BC→A,}={ BD→G, CDE→B,CD→A, B→D,C→D},则(BC)G+= BCDGA,包含A,则删除。 (6)G=F-{ B→D,}={ BD→G, CDE→B,CD→A, C→D}, 则(B)G+= B,不包含D,则保留。 (7)G=F-{ C→D }={ BD→G, CDE→B,CD→A, B→D,}, 则(C)G+= C,不包含D,则保留。 所以F={ BD→G, CDE→B,CD→A, B→D, C→D} 3) 左端包含多个属性的函数依赖X→A,选择X的每个子集Z,如果A∈Z F+,则用Z→A代替X→A 左端包含多个属性的函数依赖有BD→G, CDE→B,CD→A; (1)BD→G的左端子集包含{B}和{D} B F+=BDG,B F+包含G,则用B→G代替BD→G; D F+=D,D F+不包含G; F={ B→G, CDE→B,CD→A, B→D, C→D} (2)CDE→B的左端子集包含{C}、{D}、{E}、{CD}、{CE}和{DE} C F+=CDA,C F+不包含B; D F+=D,D F+不包含B; E F+=E,E F+不包含B; CD F+=CDA,CD F+不包含B;

函数依赖

函数依赖 2.1、属性间的联系 实体间的联系有两类:一类是实体与实体之间的联系;另一类是实体内部各属性间的联系。 属性间的联系可分为以下三类: (1)一对一联系(1∶1) 以职工模式为例:职工(职工号,姓名,职称,部门)。如果该企业(或单位)中职工无重名,则属性职工号与姓名之间是1∶1联系。一个职工号唯一地决定一个姓名,一个姓名也可决定唯一的职工号。 设X、Y是关系R的两个属性(集)。如果对于X中的任一具体值,Y中至多有一个值与之对应,且反之亦然,则称X、Y两属性间是一对一联系。 (2)一对多联系(1∶ m) 在职工模式中,职工号和职称间是一对多联系。一个职工号只对应一种职称(如胡一民只能对应工程师),但一种职称却可对应多个职工号(如工程师可对应多名职工)。 设X、Y是关系R的两个属性(集)。如果对于X中的任一具体值,Y中至多有一个值与之对应,而Y中的一个值却可以和X中的n个值相对应,则称Y对X是一对多联系。 (3)多对多联系(m∶ m) 在职工模式中,职称和部门之间是多对多联系。一种职称可分布在多个部门中(如每一个部门中均可有工程师),而一个部门中也可有多个职称。 设X、Y是关系R的两个属性(集)。如果对于X中的任一具体值,Y中有m个值与之对应,而Y中的一个值也可以和X中的n个值相对应,则称Y对X是多对多联系。 上述属性间的三种联系实际上是属性值之间相互依赖又相互制约的反映,称为属性间的数据依赖。 数据依赖共有三种:函数依赖(FunctionalDependency,简称FD)、多值依赖 (Multiva-luedDependency,简称MVD)和连接依赖(JoinDependency,简称JD),其中最重要的是函数依赖和多值依赖。 2.2、函数依赖 函数依赖是属性之间的一种联系。假设给定一个属性的值,就可以唯一确定(查到)另一个属性的值。 定义:所谓函数依赖是指在关系R中,X、Y为R的两个属性或属性组,如果对于R的任一关系r都存在:对于X的每一个具体值,Y 都只有一个具体值与之对应,则称属性Y函数依赖于属性X。或者说,属性X函数决定属性Y,记作X->Y。其中X叫决定因素,Y叫被决定因素。当Y是X的子集时,称为平凡函数依赖。由于平凡函数依赖总是成立的,因此,若不作特殊声明,本书后面提到的函数依赖,都不包含平凡函数依赖。 此定义可简单表述为:如果属性X的值决定属性Y的值,那么属性Y函数依赖于属性X。 前面讨论的属性间的三种联系,并不是每一种联系中都存在函数依赖。

数据挖掘技术及其应用

数据挖掘毕业论文 ---------数据挖掘技术及其应用 摘要:随着网络、数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。数据挖掘(Data Mining)就是从大量的实际应用数据中提取隐含信息和知识,它利用了数据库、人工智能和数理统计等多方面的技术,是一类深层次的数据分析方法。本文介绍了数据库技术的现状、效据挖掘的方法以及它在Bayesian网建网技术中的应用:通过散据挖掘解决Bayesian网络建模过程中所遇到的具体问题,即如何从太规模效据库中寻找各变量之间的关系以及如何确定条件概率问题。 关键字:数据挖掘、知识获取、数据库、函数依赖、条件概率 一、引言: 数据是知识的源泉。但是,拥有大量的数据与拥有许多有用的知识完全是两回事。过去几年中,从数据库中发现知识这一领域发展的很快。广阔的市场和研究利益促使这一领域的飞速发展。计算机技术和数据收集技术的进步使人们可以从更加广泛的范围和几年前不可想象的速度收集和存储信息。收集数据是为了得到信息,然而大量的数据本身并不意味信息。尽管现代的数据库技术使我们很容易存储大量的数据流,但现在还没有一种成熟的技术帮助我们分析、理解并使数据以可理解的信息表示出来。在过去,我们常用的知识获取方法是由知识工程师把专家经验知识经过分析、筛选、比较、综合、再提取出知识和规则。然而,由于知识工程师所拥有知识的有局限性,所以对于获得知识的可信度就应该打个 折扣。目前,传统的知识获取技术面对巨型数据仓库无能为力,数据挖掘技术就应运而生。 数据的迅速增加与数据分析方法的滞后之间的矛盾越来越突出,人们希望在对已有的大量数据分析的基础上进行科学研究、商业决策或者企业管理,但是目前所拥有的数据分析工具很难对数据进行深层次的处理,使得人们只能望“数”兴叹。数据挖掘正是为了解决传统分析方法的不足,并针对大规模数据的分析处理而出现的。数据挖掘通过在大量数据的基础上对各种学习算法的训练,得到数据对象间的关系模式,这些模式反映了数据的内在特性,是对数据包含信息的更高层次的抽象[1]。目前,在需要处理大数据量的科研领域中,数据挖掘受到越来越多

数据库原理及应用-考试题2

1、在数据库中存储的是_数据以及数据之间的联系 2、DB 、DBMS 和DBS 三者之间的关系是-DBS 包括DB 和DBMS 3、在数据库中,产生数据不一致的根本原因是_数据冗余 4、自然连接是构成新关系的有效方法。一般情况下,当对关系R 和S 使用自然连接时,要求R 和S 含有一个或多个共有的_属性 3、数据库系统的数据独立性是指不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 6、关系数据库中,实现表与表之间的联系是通过 参照完整性规则 7、设关系R 有K1个元组和r 个属性,关系S 有K2个元组和s 个属性,则关系R 和S 进行笛卡尔积操作后的结果关系中的元组数目是K1×K2 ,属性个数为r+s 10、数据库的完整性是指数据的 正确性和相容性 11、数据库设计的概念结构设计阶段,表示概念结构的常用方法和描述工具是 实体 -联系方法和E -R 图 12、应用数据库的主要目的是为了 共享数据问题 13.关系数据库中,关系称为_表__,元组亦称为__行__,属性亦称为_列__。 5、数据库描述语言的作用是_定义数据库_。 6、一个关系模式可以形式化地表示为_R (U ,D ,dom ,F )_。 7、关系数据库操作的特点是__一次一集合_式操作。 8.数据库的所有关系模式的集合构成_关系数据库模型,所有的关系集合构成关系数据库。 8、SQL 的GRANT 和REVOKE 语句主要用来维护数据库的安全性 10、设有关系模式R(A,B,C)和S(C,D)。与SQL 语句“SELECT A,B,D FROM R,S WHERE R.C=S.C ”等价的关系代数表达式为S))(R (σπS.C R.C D B,A,?= 11、在数据库设计中数据流图(DFD )和数据字典(DD)主要用来描述结构化方法中的_ 需求分析阶段的工具。 14、SQL 的集合处理方式与宿主语言单记录的处理方式之间用_游标_来协调。 17、数据库的_完整性_是指数据的正确性和相容性。 18、一个事务执行过程中,其正在访问的数据被其他事务所修改,导致处理结果不正确,这是由于违背了事务的何种特性而引起的隔离性 20、当将局部E-R 图集成为全局E-R 图时,如果同一对象在一个局部E-R 图中作为实 体,而在另一个局部E-R 图中作为属性,这种现象称为结构冲突 14、采用数据库镜像技术,主要是为了有效解决介质故障的问题。 16、在关系代数运算中,五种基本运算为C 、并、差、选择、投影、笛卡尔积 1、数据依赖主要包括_函数_依赖、_多值_依赖和连接依赖。 2、一个不好的关系模式会存在_插入异常_、_删除异常_和__修改复杂_等弊端。

数据库函数依赖

数据库函数依赖 一、函数依赖(Functional Dependency)的概念 数据依赖的一种,它反映属性或属性组之间相依存,互相制约的关系,即反映现实世界的约束关系。 二、定义 设R(U)是属性U上的一个关系模式,X和Y均为U={A1,A2,…,An}的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。 例: (sno-学生ID,tno-教师ID,cno-课程ID,sname-学生姓名,tname-教师姓名,cname-课程名称,grade-成绩) 1、sno→sname, cno→cname,(sno,cno)→grade √ 2、sname→sno, tno→cno, sno→tname × 三、函数依赖是语义范畴 1、语义:数据所反映的现实世界事物本质联系 2、根据语义来确定函数依赖性的存在与否 3、函数依赖反映属性之间的一般规律,必须在关系模式下的任一个关系r中都满足约束条件。 四、属性间的联系决定函数依赖关系 设X、Y均是U的子集 1、X和Y间联系是1:1,则X→Y,Y→X。(相互依赖,可记作X←→Y) 2、X和Y间联系是M:1(M),则X→Y。 3、X和Y间联系是M:N(M,N),则X、Y间不存在函数依赖。 五、完全函数依赖和部分函数依赖 1、函数依赖分为完全函数依赖和部分函数依赖 2、定义: 在R(U)中,如果X→Y,并且对于X的任何真子集X'都有X'Y',则称Y完全依赖于X,记作X→Y;否则,如果X→Y,且X中存在一个真子集X',使得X'→Y成立,则称Y部分依赖于X。 例: 学生ID,学生姓名,所修课程ID,课程名称,成绩 (学生ID,所修课程ID)→成绩 成绩既不能单独依赖于学生ID,也不能单独依赖于所修课程ID,因此成绩完全函数依赖于关键字。 (学生ID,所修课程ID)→学生姓名 学生ID→学生姓名 学生姓名可以依赖于关键字的一个主属性——学生ID,因此学生姓名部分函数依赖于(学生ID,所修课程ID)。 六、平凡函数依赖和非平凡函数依赖 设X,Y均为某关系上的属性集,且X→Y 1)若Y包含于X,则称X→Y为:平凡函数依赖;(Sno, Cno) →Sno (Sno, Cno) →Cno 2)若Y不包含于X,则称X→Y为:非平凡函数依赖。(Sno, Cno) →Grade Y包含于X内,W于X相交,与Y无直接交集。 则:X→Y为平凡函数依赖

相关主题
文本预览
相关文档 最新文档