当前位置:文档之家› 损连接性又保持函数依赖的分解算法

损连接性又保持函数依赖的分解算法

损连接性又保持函数依赖的分解算法
损连接性又保持函数依赖的分解算法

求最小函数依赖集分三步:

1.将F中的所有依赖右边化为单一元素

此题fd={abd->e,ab->g,b->f,c->j,cj->i,g->h};已经满足

2.去掉F中的所有依赖左边的冗余属性.

作法是属性中去掉其中的一个,看看是否依然可以推导

此题:abd->e,去掉a,则(bd)+不含e,故不能去掉,同理b,d都不是冗余属性

ab->g,也没有

cj->i,因为c+={c,j,i}其中包含i所以j是冗余的.cj->i将成为c->i

F={abd->e,ab->g,b->f,c->j,c->i,g->h};

3.去掉F中所有冗余依赖关系.

做法为从F中去掉某关系,如去掉(X->Y),然后在F中求X+,如果Y在X+中,则表明x->是多余的.需要去掉.

此题如果F去掉abd->e,F将等于{ab->g,b->f,c->j,c->i,g->h},而(abd)+={a,d,b,f,g,h},其中不包含e.所有不是多余的.

同理(ab)+={a,b,f}也不包含g,故不是多余的.

b+={b}不多余,c+={c,i}不多余

c->i,g->h多不能去掉.

所以所求最小函数依赖集为F={abd->e,ab->g,b->f,c->j,c->i,g->h};

转换为3NF既具有无损连接性又保持函数依赖的分解算法:

第一步:首先用算法1求出R的保持函数依赖的3NF分解,设为q={R1,R2,…,Rk}(这步完成后分解已经是保持函数依赖,但不一定具有保持无损连接)

第二步:设X是R的码,求出p=q {R(X)}

第三步:若X是q中某个Ri的子集,则在p中去掉R(X)

第四步:得到的p就是最终结果

例题:R(S#,SN,P,C,S,Z)

F={S#→SN,S#→P,S#→C,S#→S,S#→Z,{P,C,S}→Z,Z→P,Z→C}

?第一步:求出最小FD集:F={S# →SN, S# →P,S# →C, S#→S, {P,C,S→Z, Z →P,Z →C} // S# →Z冗余,FD:最小函数依赖

按具有相同左部分组:q={R1(S#,SN,P,C,S), R2(P,C,S,Z), R3(Z,P,C)}

R3是R2的子集,所以去掉R3

q={R1(S#,SN,P,C,S), R2(P,C,S,Z)}

?第二步:R的主码为S#,于是p=q {R(X)}={R1(S#,SN,P,C,S), R2(P,C,S,Z), R(S#)}

?第三步:因为{S#}是R1的子集,所以从p中去掉R(S#)

?第四步:p ={R1(S#,SN,P,C,S), R2(P,C,S,Z)}即最终结果

判别一个分解的无损连接性

举例2:已知R,U={A,B,C,D,E},F={A→C,B→C,C→D,DE→C,CE→A},R的一个分解为R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE),判断这个分解是否具有无损连接性。

解:用判断无损连接的算法来解。① 构造一个初始的二维表,若“属性”属于“模式”中的属性,则填a j,否则填b ij。

② 根据A→C,对上表进行处理,由于属性列A上第1、2、5行相同均为a1,所以将属性列C上的b13、b23、b53改为同一个符号b13(取行号最小值)。

③ 根据B→C,对上表进行处理,由于属性列B上第2、3行相同均为a2,所以将属性列C上的b13、b33改为同一个符号b13(取行号最小值)。

④ 根据C→D,对上表进行处理,由于属性列C上第1、2、3、5行相同均为b13,所以将属性列D上的值均改为同一个符号a4。

⑤ 根据DE→C,对上表进行处理,由于属性列DE上第3、4、5行相同均为a4a5,所以将属性列C上的值均改为同一个符号

a3。

⑥ 根据CE→A,对上表进行处理,由于

属性列CE上第3、4、5行相同均为a3a5,

所以将属性列A上的值均改为同一个符

号a1。

⑦ 通过上述的修改,使第三行成为

a1a2a3a4a5,则算法终止。且分解具有无

损连接性。

求属性集合X关于函数依赖集F的闭包X+

【算法5.1】计算属性集X关于F的闭包X+。

输入:属性集X为U的子集,函数依赖集F。

输出:X+。

步骤:

(1) 置初始值 A=ф,A*=X;

(2) 如果A≠A*,置A=A*,否则转(4);

(3) A*,置A*=A*∪Z。全部搜索完,转(2);?依次检查F中的每一个函数依赖Y→Z,若Y

(4) 输出A*,即为X+。

【例】已知关系模式R(A,B,C,D,E),F={AB→C,B→D,C→E,EC→B,AC→B}是函数依赖集,求(AB)+。

依算法2.1解:

(1) 置初始值 A=ф,A*=AB;

(2) 因A≠A*,置A=AB;

(3) 第一次扫描F,找到AB→C和B→D,其左部?AB,故置A*=ABCD。搜索完,转(2);

(2) 因A≠A*,置A=ABCD;

(3) 第二次扫描F,找到C→E和AC→B,其左部? ABCD,故置A*=ABCDE。搜索完,转(2);

(2) 因A≠A*,置A=ABCDE;

(3) 第三次扫描F,找到EC→B,其左部? ABCDE,故置A*=ABCDE。搜索完,转(2);

(2) 因A=A*,转(4);

(4) 输出A*,即(AB)+=ABCDE。

举例:已知关系模式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}

计算(AB)F1+:设X(0)=AB

计算X(1):扫描F1中各个函数依赖,找到左部为AB或AB子集的函数依赖,因为找不到这样的函数依赖。故有X(1)=X(0)=AB,算法终止。

(AB)F1+= AB不包含C,故AB→C不是冗余的函数依赖,不能从F1中去掉。

B.设CG→B为冗余的函数依赖,则去掉CG→B,得:F2={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,ACD→B,CE→A,CE→G}

计算(CG)F2+:设X(0)=CG

计算X(1):扫描F2中的各个函数依赖,找到左部为CG或CG子集的函数依赖,得到一个C→A函数依赖。故有X(1)=X(0)∪A=CGA=ACG。

计算X(2):扫描F2中的各个函数依赖,找到左部为ACG或ACG子集的函数依赖,得到一个CG→D函数依赖。故有X(2)=X(1)∪D=ACDG。

计算X(3):扫描F2中的各个函数依赖,找到左部为ACDG或ACDG子集的函数依赖,得到两个ACD→B和D→E函数依赖。故有X(3)=X(2)∪BE=ABCDEG,因为X(3)=U,算法终止。

(CG)F2+=ABCDEG包含B,故CG→B是冗余的函数依赖,从F2中去掉。

C.设CG→D为冗余的函数依赖,则去掉CG→D,得:F3={AB→C,D→E,D→G,C→A,BE→C,BC→D,ACD→B,CE→A,CE→G}

计算(CG)F3+:设X(0)=CG

计算X(1):扫描F3中的各个函数依赖,找到左部为CG或CG子集的函数依赖,得到一个C→A函数依赖。故有X(1)=X(0)∪A=CGA=ACG。

计算X(2):扫描F3中的各个函数依赖,找到左部为ACG或ACG子集的函数依赖,因为找不到这样的函数依赖。故有X(2)=X(1),算法终止。(CG)F3+=ACG。

(CG)F3+=ACG不包含D,故CG→D不是冗余的函数依赖,不能从F3中去掉。

D.设CE→A为冗余的函数依赖,则去掉CE→A,得:F4={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,ACD→B,CE→G}

计算(CG)F4+:设X(0)=CE

计算X(1):扫描F4中的各个函数依赖,找到左部为CE或CE子集的函数依赖,得到一个C→A函数依赖。故有X(1)=X(0)∪A=CEA=ACE。

计算X(2):扫描F4中的各个函数依赖,找到左部为ACE或ACE子集的函数依赖,得到一个CE→G函数依赖。故有X(2)=X(1)∪G=ACEG。

计算X(3):扫描F4中的各个函数依赖,找到左部为ACEG或ACEG

子集的函数依赖,得

到一个CG→D函数依赖。故有X(3)=X(2)∪D=ACDEG。

计算X(4):扫描F4中的各个函数依赖,找到左部为ACDEG或ACDEG子集的函数依赖,得到一个ACD→B函数依赖。故有X(4)=X(3)∪B=ABCDEG。因为X(4)=U,算法终止。

(CE)F4+=ABCDEG包含A,故CE→A是冗余的函数依赖,从F4中去掉。

③去掉F4中各函数依赖左边多余的属性(只检查左部不是单个属性的函数依赖)由于C→A,函数依赖ACD→B中的属性A是多余的,去掉A得CD→B。

故最小函数依赖集为:F={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,CD→B,CE→G}

数据挖掘论文

数据挖掘课程论文 ——————数据挖掘技术及其应用的实现 数据挖掘技术及其应用的实现 摘要:随着网络、数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。数据挖掘(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驱动程序的主要任务。

最小函数依赖集的求法

一、等价和覆盖 定义:关系模式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}

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

数据库-部分函数依赖,传递函数依赖,完全函数依赖, 三种范式的区别 要讲清楚范式,就先讲讲几个名词的含义吧: 部分函数依赖:设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)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是非主属性依赖于主关键字。

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

模拟题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

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

教你如何判断无损连接和函数依赖 无损分解和保持依赖的判断 大部分是对一个关系模式分解成两个模式的考察,分解为三个以上模式时无损分解和保持依赖的判断比较复杂,考的可能性不大,因此我们只对“一个关系模式分解成两个模式”这种类型的题的相关判断做一个总结。 以下的论述都基于这样一个前提: 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 。

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

数据库系统原理自测题(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的差异

计算机四级数据库真题及解析(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; ●一名学生只能有一个学号,且学号唯一; ●一门课程只能有一个课程号,且课程号唯一。 请完成:

函数依赖

函数依赖 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为平凡函数依赖

关于无损分解和保持依赖的判断

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

①数据描述,关系,函数依赖

数据管理阶段:手工管理阶段、文件系统阶段、数据库管理系统阶段。 三级模式:外模式、模式、内模式。 二级映像: ①外模式—模式:通过映射建立对应关系,模式变时只需修改映射关系, 可使外模式保持不变。 ②模式—内模式:通过映射建立对应关系,模式变时只需修改映射关系, 可使模式保持不变。 数据描述 1)概念数据模型概念模型 抽象:通过抓取事物的主要特征来表达事物的过程。 ①实体:Entity,现实世界中的客观事物,是现实世界中任何可区分、可识别的事物。 ②属性:Proprety 实体的特性。 ③实体关系:实体之间的对应关系:一对一、一对多、多对多。 ④※表达(E —R)Entity—Relation 2)逻辑数据模型 层次型:条件:①只能有一个根节点(无父节点) ②其他节点只能有一个父节点 网状型:条件:①只能有一个根节点(无父节点) ②其他节点可以有一个或者多个父节点 关系型:关系:二维表 元组:表中的行 属性:表中的列 对象型: 关系概念: ⑴域:具有相同特征的数据集合(取值范围) ⑵笛卡尔积:定义在一组域上的集合 例:D1×D2×D3={(d1,d2,.....dn)|di(-Di,1<=n<=n,n>=1} D1={男,女} D2={张三,李四} D3={20,18,19} D1×D2×D3={(男,张三,20),(男,张三,18),(男,张三,19), (男,李四,20),(男,李四,18),(男,李四,19), (女,张三,20),(女,张三,18),(女,张三,19), (女,李四,20),(女,李四,18),(女,李四,19)} ⑶关系:是笛卡尔积的一个子集,若笛卡尔积有n个域,则该笛卡尔积、子集称为n元关系(集合论) ⑷关键字(码):能唯一区分确定不同元组的属性或属性集合是该关系的一个关键字。 ①超码:能唯一识别每个元组的属性或属性组 ②候选码:能唯一识别每个元组的最少属性或属性组 ③主码:从候选码中选出一个作为主码 ④备用码:除了主码之外的候选码 ⑤外码:关系R1中的属性或者属性组在另一个关系R2中是主码,则称该属性或属性组是R1的外码。

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