当前位置:文档之家› 数据库函数依赖

数据库函数依赖

数据库函数依赖
数据库函数依赖

数据库函数依赖

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

数据库考题

2008年数据库考卷 CCCADBAAAD?? DCCADBBAAD() 单选题:(10分,每小题1分) 1、数据库三级模式结构之间存在着两级映像,使得数据库系统具有较高的() A、事务并发性 B、数据可靠性 C、数据重用性 D、数据独立性 2、数据库类型的划分是根据() A、文件形式 B、记录形式 C、数据模型 D、存取数据方法 3、在关系数据库中,任何二元关系模式的最高范式必定是() A、2NF B、3NF C、BCNF D、无法确定 4、设W R S =∞,且W、R、S的属性个数分别为w、r、s,那么三者之间的关系是() A、w r s <+ ≤+B、w r s C、w r s =+D、w r s ≥+ 5、数据模型的三要素是() A、外模式、模式、内模式 B、关系模型、层次模型和网状模型 C、实体、属性和联系 D、数据结构、数据操作和完整性约束 6.在最小函数依赖集F中,下面叙述不正确的是() A.F中每个FD的右部都是单属性 B.F中每个FD的左部都是单属性 C.F中每个FD的左部都没有冗余的属性 D.F中没有冗余的FD 7.下列不属于需求分析阶段工作的是() A.分析用户活动 B.建立ER图 C.建立数据字典 D.建立数据流程图 8.五种基本关系代数运算是() A.并、差、笛卡尔积、投影和选择 B.并、差、链接、投影和选择 C.并、交、笛卡尔积、投影和选择 D.并、交、链接、投影和选择 9.下列SQL语句中,用来修改表结构的是() A.ALTER

B.CREATE C.UPDATE D.INSERT 10.下面的几种故障中,会破坏正在运行的数据库的是() A.中央处理器故障 B.操作系统故障 C.突然停电 D.瞬时强磁干扰 二、填空题:(10分,每小题1分) 1.关键字ASC和DESC分别表示_升序_____和_降序______ 2.在数据库中产生数据不一致的根本原因是_数据冗余________ 3.“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容是数据库设计中 的_物理设计_____阶段 4.两个函数依赖集F和G等价的充分必要条件是____P185 ________ 5.数据库的并发操作通常会带来三个问题:_数据丢失________、读脏数据问 题、不可重复读问题 6.当关系R和S做自然链接时,能够把原该舍弃的元组放到结果中的操作是 ______ 7.一个事务中对数据库的所有操作是一个不可分割的操作序列是事务的_原子 性_____ 8.SQL语言的使用方式有两种:一种是___交互式_另一种是___嵌入式____ 三、简答题:(15分) 1.数据库系统与数据库管理系统的主要区别是什么? 数据库管理系统是位于用户和操作系统之间的一层数据管理软件 数据库系统指计算机系统中引入数据库后的系统,一般由数据库数据库管理系统应用系统数据库管理员构成 2.为什么关系中的元组没有先后顺序? 3.数据库的重组织和重构造分别指什么内容? 四、SQL语言题(24分): 学生S(SNO,SNAME,AGE,SEX) 学习SC(SNO,CNO,GRADE) 课程C(CNO,CNAME,TEACHER) 用SQL语言实现下列第1小题至第10小题:

数据库系统概论复习题及答案

第一学期期末考试试卷和答案 试卷代码:03115 授课课时:96 课程名称:数据库系统原理A 适用对象:本科选课班 一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分) 1、在数据库技术发展的几个阶段中,数据独立性最高的是__A___阶段。 A、数据库系统 B、文件系统 C、人工管理 D、数据项管理 2、在SQL的SELECT语句中,与选择运算对应的命令动词是__C___。 A、SELECT B、FROM C、WHERE D、ORDER BY 3、在数据库中,下列说法_A__是不正确的 A、数据库避免了一切数据的重复 B、若系统是完全可以控制的,则系统可确保更新是的一致性 C、数据可以共享 D、数据库减少了冗余 4、在数据库系统中,模式/外模式映像用于解决数据的_C__ A、结构独立性 B、物理独立性 C、逻辑独立性 D、分布独立性 5、关系代数的5种基本运算是__D_。 A、并、差、选择、投影、自然连接 B、并、差、交、选择、投影 C、并、差、交、选择、笛卡尔积 D、并、差、选择、投影、笛卡尔积 6、在SQL语句中,谓词“EXISTS”的含义是_B___。 A、全称量词 B、存在量词 C、自然连接--在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列 D、等值连接--在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列 7、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常、更新异常以及_C__的缺陷 A、数据不一致性 B、结构不合理 C、冗余度大 D、数据丢失 8、数据库数据的正确性和相容性是数据库的__B____。 A、安全性 B、可维护性 C、完整性 D、并发控制 9、数据库三级模式体系结构主要的目标是确保数据库的_B__。 A、数据安全性 B、数据独立性

函数依赖专项练习

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)存在。 (教师编号,借阅图书编号,借书日期)->教师姓名 (教师编号,借阅图书编号,借书日期)->教师电话 (教师编号,借阅图书编号,借书日期)->所在部门

最小函数依赖集的求法

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

数据库原理试卷及答案 (2)

数据库原理试卷A 一、判断题:(本大题共7小题,每小题2分,共14分) (1)若关系R是全码,则它一定属于BCNF (2)若R. B→R. A,R. C→R. A,则R.(B,C)→R. A (3)若要求模式分解保持函数依赖,那么分解总可以达到BCNF,但不一定能达到4NF (4)关系模式R(ABCDEF),F={A→B,AB→D,D→E,F→D},则R的规范化程度最高为2NF (5)给定同一关系模式上的两个实例R和S,则R∩S≡R?S (6)若X→→Y,Y→→Z,则X→→Z-Y (7)设R(ABC),F={A→B},则{R1(AC),R2(BC)}是无损分解 二、简答题 (本大题共4小题,每小题5分,共20分) 1. 请阐述数据模型、模式和具体值三者之间的联系和区别。 2. 什么是数据的物理独立性。 3. 两个函数依赖集F和G等价的充分必要条件是什么? 4. 简述在SQL语言中,引入视图机制的主要优点。 三、(本大题共5小题,每小题4分,共20分) 设有关系数据库:学生关系S(S#,SNAME,AGE,SEX),课程关系C(C#,CNAME,TEACHER),选课关系SC(S#, C#,GRADE)试按要求完成: 使用关系代数表达式表示(1,2,3小题): (1) 检索年龄大于21的男学生学号(S#)和姓名(SNAME); (2) 检索至少选修‘程军’老师所授全部课程的学生姓名(SNAME); (3) 检索全部学生都选修了的课程的课程号(C#)和课程名(CNAME); 使用SQL语言表达(4,5小题) (4) 检索所有比‘王华’年龄大的学生姓名(SNAME)、年龄(AGE)和性别(SEX); (5) 检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。 四、(10分)给定关系模式R(U,F),属性集U = { A B C D E F G } , 函数依赖集F = { AB→CD , C→F , C→D , D→E ,DE→F , F→B, F→D }。 求:(1)(AC)F+; (2)求极小函数依赖集F min 五、(12分)设有关系模式R(A,B,C,D,E),其上的函数依赖集:F={A→C,C→D,B→C,DE→C,CE→A} 求:(1)所有候选码; (2)判断ρ={AD,AB,BC,CDE,AE}是否为无损连接分解? 六、 (12分)假设某商业集团数据库中有一关系模式R (商店编号,商品编号,数量,部门编号,负责人) 如果规定: (1) 每个商店的每种商品只在一个部门销售; (2) 每个商店的每个部门只有一个负责人; (3) 每个商店的每种商品只有一个库存数量。 试回答下列问题(1,2,3,4): (1) 根据上述规定,写出关系模式R的基本函数依赖; (2) 找出关系模式R的候选码; (3) 试问关系模式R最高已经达到第几范式?为什么?

函数依赖习题

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

最小函数依赖集

最小函数依赖集 定义:如果函数依赖集F满足下列条件,则称F为最小函数依赖集或最小覆盖。 ①F中的任何一个函数依赖的右部仅含有一个属性; ②F中不存在这样一个函数依赖X→A,使得F与F-{X→A}等价; ③F中不存在这样一个函数依赖X→A,X有真子集Z使得 F-{X→A}∪{Z→A}与F等价。 求最小函数依赖集分三步: 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};

数据库基础与应用综合题

习题一 1. 数据库处理技术经历了(人工管理)、(文件管理)、(数据库管理)、以及分布式数据库管理等四个发展阶段。 2.在人工管理和文件管理阶段,程序设计(依赖于)数据表示。 3.在文件管理阶段,文件之间是相互(独立)的,在数据库管理阶段,文件之间是相互(联系)的。 4.使用数据库设计程序时,只需要告诉数据库管理系统(做什么),不需要告诉它(怎么做)。5.在(文件)系统中,数据没有独立的操作界面,在(数据库)系统中,数据具有独立的操作界面。 6.DBMS具有(安全性)、(一致性)、(并发性)和(数据库恢复)等管理控制功能。 7.分布式数据库系统除了具有一般数据库系统的优点之外,还具有(可靠性高)、(地域范围广)、(数据量大)、(客户数多)等优点。 8.在实体中能作为码的属性称为(主属性),否则称为(非主属性)。 9.实体之间的联系类型有三种,分别为(1对1)、(1对多)和(多对多)。 10.若实体A和B是1对多的联系,实体B和C是1对多的联系,则实体A和C是(1)对(多)的联系。 11.若实体A和B是1对多的联系,实体B和C是1对1的联系,则实体A和C是(1)对(多)的联系。 12.在非关系模型中,每个结点代表着一个(记录型),每个父子联系代表着(1对多)联系。13.在非关系模型中操作记录的方式是(过程)式的,在关系模型中,操作记录的方式是(集合)式的。 14.关系中的每一行称为一个(元组),每一列称为一个(属性)。 15.假定一个关系中有n个元组,则某个列的当前全部取值的个数最少为(1)个,最多为(n)个。 16. 关系数据库系统具有(数据结构)单一、采用(集合运算)、数据完全(独立)、(数学)理论支持等优点。 17.在对象数据模型中,对象具有(封装)性、(继承)性和(多态)性。 18.数据库管理系统的下层支持软件是(操作系统),上层软件是数据库应用(开发工具)。19.数据库体系结构中包含的三级模式为(全局模式)、(外模式)和(内模式)三种。 20.在数据库体系结构中,两级数据映象分别是指(外模式和模式)之间的数据映象与(模式和内模式)之间的数据映象。 21.DBMS提供数据(定义(描述))语句和数据(操纵)语句供用户使用。 22.在存取数据库的数据的过程中,使用了两个数据缓冲区,分别为(系统)缓冲区和(用户)缓冲区。 习题二 1.关系数据模型包括(关系数据结构)、(关系完整性规则)和(关系运算)三个方面。 2.在一个关系中,不同的列可以对应同一个(域),但必须具有不同的(列名)。 3.顾客购物的订单和订单明细之间是(1)对(多)的联系。 4.主码是一种(候选)码,主码中的(属性)个数没有限制。 5.若一个关系为R(学生号,姓名,性别,年龄),则(学生号)可以作为该关系的主码,姓名、性别和年龄为该关系的(非主)属性。 6.关系完整性包括(实体)完整性、(参照)完整性和(用户定义)的完整性三个方面。 7.在参照和被参照的关系中,每个外码值或者为(空值),或者等于某个(主码)值。 8.传统的集合运算包括(并)、(交)、(差)和(笛卡尔积)四种。

数据库原理复习练习题集含参考答案(三)

数据库原理试题及答案 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.数据库类型的划分依据是( B ) A.记录形式 B.数据模型 C.数据联系 D.存取数据方法 2.在数据库系统中,如果数据库的逻辑结构发生了变化,那么用户的应用程序( C ) A.必须改变 B.自动改变 C.可以不变 D.必须作废 3.STUDENT和DEPT两个关系如下表所示,其中STUDENT关系中的主码为学号,年龄在18~25之间,DEPT关系的主码为系号。向STUDENT 中插入行(507,'王方',17,'D4'),该操作( D ) A.仅违反实体完整性 B.仅违反参照完整性 C.仅违反用户定义完整性 D.违反了参照完整性和用户定义完整性 4.在数据库设计中,超类实体与子类实体的关系是( D ) A.前者只继承后者的主码 B.后者只继承前者的主码 C.前者继承后者的所有属性 D.后者继承前者的所有属性

5.设有关系模式R(ABCDEG),F是R上成立的FD集,F={D→G,C→A,CD→E,A→B},则(AC)+F为( B ) A.AC B.ABC C.ABDG D.ABCDEG 6.3NF规范到BCNF,必须消除( C ) A.非主属性对键的部分函数依赖 B.非主属性对键的传递函数依赖 C.主属性对键的部分和传递函数依赖 D.非平凡且非函数依赖的多值依赖 7.设有关系R(ABCD)和关系s(BCD),则R×S结果集的元数为( D ) A.3 B.4 C.6 D.7 8.关系代数中投影运算是对关系进行的( A ) A.垂直分割 B.水平分割 C.结合 D.先垂直分割后水平分割 9.当关系R和S自然连接时,能够把R和S原来应该舍弃的元组放到结果关系中的操作是( D ) A.左外连接 B.右外连接 C.外部并 D.外连接 10.嵌入式SQL中实现主语言与SQL语句间的参数传递是通过( B ) A.SQLCA B.共享变量 C.数据集 D.游标 11.应用程序中的运算溢出属于( A ) A.事务故障 B.系统故障

最小函数依赖集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;

第六章 函数依赖

朱彦荣 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; ●一名学生只能有一个学号,且学号唯一; ●一门课程只能有一个课程号,且课程号唯一。 请完成:

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

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

数据库系统原理模拟题

号座 安阳工学院《数据库系统原理》课程试卷 A ?在系统运行过程中,对数据库的空间增长情况进行监控 2013 —— 2014 学年第一学期 题号-一- -二二三四五六总分 得分 阅卷人 B ?在系统运行过程中,对数据库系统各时段CPU和内存使用情况进行监控 C.建立关系表以后编写系统应用程序 D ?定期进行数据备份 3. R为4元关系R(A , B, C, D) , S为3元关系S(B, C, D),则S构成的结果集为题一 号线学 答 名姓要 ——不 封 级内 — 班线 — 封 密 业专密 — 兀关 系。 、填空题(每空1分,共10分) 1. 能够唯一标识实体的属性或属性组称为_____________ 。 2. 如果两个关系没有公共属性,则其自然联接操作与______________ 操作等价。 3. SQL中聚合函数“ COUNT (*)”的功能是______________ 。 4. 关系模式如果为1NF,则在对数据操作时存在的问题包括 ______________ 、删除异常、修 改异常。 5. 视图是一个虚表,它一经定义就可以和基本表一样被查询,但_______ 操作将有一 定的限制。 6. 在SQL的授权语句中的关键字PUBLIC表示_____________ 。 7. 若要求分解保持函数依赖,那么模式分解可以达到的范式级别是__________ 。 8. 数据库设计分为以下六个设计阶段:需求分析阶段、概念结构设计阶段、 、 数据库物理设计阶段、数据库实施阶段、数据库运行和维护阶段。 9. 当数据库被破坏后,如果事先保存了数据库副本和_____________ ,就有可能恢复数据库。 10. 多个事务执行的次序称为__________ 。 、单项选择题(每小题2分,共40分) 1 ?数据库的存储设备和存取方法变化不影响整体逻辑结构的特点,称为数据库的( ) A .实体独立性 B .物理数据独立性 C.客观独立性 D .逻辑数据独立性 2 .以下活动中,一般情况下不属于DBA任务的是 C. 7 4.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间 的联系类型是 A .多对多 B .一对多 C.多对一 D .一对一 5.—个关系中的候选关键字 A .至多一个 C.必须多个 6.下列哪些属性不适合建立索引 B .可多个 D .至少3个 A .经常出现在GROUP BY字句中的属性 B .经常参与连接操作的属性 C.经常出现在WHERE字句中的属性 D .经常需要进行更新操作的属性 7. SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个 A .数据项 B .记录 C.元组 D .表 &在SQL语言中,用于测试列值非空的语句是 A . IS NOT EMPTY B . IS NOT NULL C. NOT UNIQUE D . NOT EXISTS

数据库简答题 (3)

第一章 3、简述数据库系统的三级模式和两级映像的含义。 答:从数据库管理系统的角度看,数据库系统的结构通常分为三级模式的总体结构,在这种模式下,形成了二级映像,实现了数据的独立性。其中三级模式结构指的是外模式、模式和内模式,二级映像指的是外模式/模式映像、模式/内模式映像。 模式也称逻辑模式和概念模式,是数据库中全体数据逻辑结构和特征的描述,描述现实世界中的实体及其性质与联系,是所有用户的公共数据视图;外模式也称子模式或用户模式,它是用以描述用户看到或使用的数据的局部逻辑结构和特性的,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据;内模式也称存储模式,是整个数据库的最底层表示,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 对于外模式/模式映像,当模式改变时,相应的外模式/模式映像作相应的改变,以使外模式保持不变,而应用程序是依据数据的外模式来编写的,外模式不变,应用程序就没必要修改,这保证了数据与程序的逻辑独立性。对于模式/内模式映像,当数据库的存储结构变了,模式/内模式映像会作相应的改变,以使模式保持不变,而模式不变,与模式没有直接联系的应用程序也不会改变,这保证了数据与程序的物理独立性。 5、数据库管理系统的主要功能有哪些? 答:⑴、数据定义功能; ⑵、数据操纵功能; ⑶、数据组织、存取功能; ⑷、数据库运行管理功能; ⑸、数据库建立与维护功能 第五章 1、解释下列术语的含义: 函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、1NF、2NF、3NF、BCNF、多值依赖、4NF、最小函数依赖、函数依赖保持性、无损连接性。 ①、函数依赖:设R(U)是属性集U上的一个关系模式,X、Y是U的子集。若对于R(U)上的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数决定Y”或“Y函数依赖X”,记作X→Y。 ②、平凡函数依赖:设R(U)是属性集U上的一个关系模式,X、Y是U的子集。若Y是X的子集,则称X→Y为平凡函数依赖。 ③、非平凡函数依赖:设R(U)是属性集U上的一个关系模式,X、Y是U的子集。如果X→Y,且Y?X,则称X→Y为非平凡函数依赖。 ④、部分函数依赖:如果X→Y,但不完全函数依赖于X,则称Y对X部分函数依赖。 ⑤、完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有Y函数不依赖于X’,则称Y完全函数依赖于X。 ⑥、传递函数依赖:在R(U)中,如果X→Y ,Y→Z,且Y?X,X也不函数依赖于Y,则称Z传递函数依赖于X。 ⑦、1NF:如果关系模式R的所有属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式。 ⑧、2NF:如果关系模式R∈1NF,且每个非主属性都完全依赖于R的码,则称R属于第二范式。

数据库试题集(章)DOC

客观题 第1章绪论 1.数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和()。 A.系统分析员 B.程序员 C.数据库管理员 D.操作员 2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。 A.DBS包括DB和DBMS B.DBMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS 3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。I.人工管理阶段II.文件系统阶段III.数据库阶段 A.I 和II B.只有II C.II 和III D.只有I 4.下列四项中,不属于数据库系统特点的是()。

A.数据共享 B.数据完整性 C.数据冗余度高 D.数据独立性高 5.数据库系统的数据独立性体现在()。 A.不会因为数据的变化而影响到应用程序 B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构 6.描述数据库全体数据的全局逻辑结构和特性的是()。 A.模式 B.内模式 C.外模式 D. 7.要保证数据库的数据独立性,需要修改的是()。 A.模式与外模式 B.模式与内模式 C.三级模式之间的两层映射 D.三层模式 8.要保证数据库的逻辑数据独立性,需要修改的是()。 A.模式与外模式之间的映射 B.模式与内模式之间的映射

D.三级模式 9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是()模式。 A.模式 B.物理模式 C.子模式 D.内模式 10.下述()不是DBA数据库管理员的职责。 A.完整性约束说明 B.定义数据库模式 C.数据库安全 D.数据库管理系统设计 11.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是()。 A.层次模型 B.关系模型 C.网状模型 D.实体-关系模型 12.区分不同实体的依据是()。 A.名称 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。 前面讨论的属性间的三种联系,并不是每一种联系中都存在函数依赖。

数据库试题(2套)

数据库试题(一) 一、 单选题 (每小题 2 分,共 30 分) 1. 关系数据库中的码是指( )。(B )。 A .能唯一决定关系的字段 B .能唯一标识元组的属性或属性集合 C .不可改动的专用保留字 D .关键的很重要的字段 2. 下列模型中,采用表结构来表示数据及数据间联系的模型是( )。(C ) A.概念模型 B.网状模型 C.关系模型 D .层次模型 3. 数据库管理系统能实现对数据库中数据的查询、插入、和修改和删除,这类功能称为( )。 (C ) A. 数据定义功能 B. 数据管理功能 C. 数据操纵功能 D. 数据控制功能 4. 在关系模式R (A ,B ,C ,D )中,有函数依赖集F={B →C ,C →D ,D →A},则R 能达到( )。(B ) A. 1NF B.2NF C. 3NF D.以上三者都不行 5. 关系数据库管理系统应能实现的专门关系运算包括( )。(B ) A. 排序、索引、统计 B. 选择、投影、连接 C. 关联、更新、排序 D. 显示、打印、制表 6. ( )用来记录对数据库中数据进行的每一次更新操作。(C ) A .数据库 B .缓冲区 C .日志文件 D .后援副本 7. 关系模式中各级范式之间的关系为( )。(A ) A.321NF NF NF ?? B.312NF NF NF ?? C.123NF NF NF ?? D.213NF NF NF ?? 8. 并发操作会带来哪些数据不一致性( )。(D )。 A .丢失修改、不可重复读、读脏数据、死锁 B .不可重复读、读脏数据、死锁 C .丢失修改、读脏数据、死锁 D .丢失修改、不可重复读、读脏数据 9. 如图所示,两个关系R1和R2,它们进行( )运算后得到R3。(D ) A. 交 B. 并 C. 笛卡尔积 D. 连接 10. 关系数据库规范化是为解决关系数据库中( )问题而引入的。(A ) A. 插入异常、删除异常和数据冗余 B. 提高查询速度

计算最小函数依赖集示例

计算最小函数依赖集示例 举例:已知关系模式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的最小函数依赖集。 解:利用算法求解,使得其满足三个条件 ①利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖,得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

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