基本函数依赖(练习)

合集下载

模式分解

模式分解

2.保持FD (函数依赖)的分解定义1:设F 是属性集U 上的FD 集,Z 是U 的子集,F 在Z 上的投影用πZ (F)表示,定义为πZ (F)={X →Y|X →Y ∈F +,且XY ⊆Z}定义2. 设},...{1K R R =ρ 是R 的一个分解,F 是R 上的FD 集,如果有)(1F R i ki π=Y ╞ F ,那么称分解ρ保持函数依赖集F 。

根据定义1,测试一个分解是否保持FD ,比较可行的方法是逐步验证F 中的每个FD 是否被)(1F R i ki π=Y 逻辑蕴涵。

如果F 的投影不蕴涵F ,而我们又用},...{1K R R =ρ表达R ,很可能会找到一个数据库实例σ 满足投影后的依赖,但不满足F 。

对σ的更新也有可能使r 违反FD 。

案例1:R (T#,TITLE ,SALARY )。

如果规定每个教师只有一个职称,并且每个职称只有 一个工资数目,那么R 上的FD 有T#→TITLE 和TITLE →SALARY 。

如果R 分解成ρ={R 1,R 2},其中R 1={T#,TITLE},R 2={T#,SALARY }。

则该分解具有无损连接性,但未保持函数依赖,丢失了依赖TITLE →SALARY 。

习题1:设关系模式R (ABC ),ρ={AB ,AC}是R 的一个分解。

试分析分别在F 1={A →B};F 2={A →C ,B →C},F 3={B →A},F 4={C→B,B→A}情况下, 是否具有无损分解和保持FD的分解特性。

算法1:分解成2NF模式集的算法设关系模式R(U),主码是W,R上还存在FD X→Z,并且Z是非主属性和X⊂W,那么W→Z就是非主属性对码的部分依赖。

此时,应把R分解成两个关系模式:R1(XZ),主码是X;R2(Y),其中Y=U-Z,主码仍为W,外码是X(参照R1)利用外码和主码的连接可以从R1和R2重新得到R。

如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中的每个关系模式都是2NF为止。

数据库原理第06章练习题

数据库原理第06章练习题

数据库系统原理练习题 第6章 一、选择题 1. 关系数据库规范化是为了解决关系数据库中( )的问题而引入的。 A.提高查询速度 B.插入、删除、更新异常和数据冗余 C.保证数据的安全性和完整性 D.恢复数据库 2. 关系模式中每个分量都是不可分的数据项,则关系模式属于( ) A. 1NF B. 2NF C. 3N D. BCNF

3. 若R∈2NF,则R的每个( ) A.非主属性部分依赖于码 B.非主属性完全依赖于码 C.主属性部分依赖于码 D.主属性完全依赖于码 4. 消除了非主属性对码传递函数依赖的2NF的关系模式,必定属于( ) A.1NF B.2NF C. 3NF D. BCNF

5. 关系模式中,满足2NF的模式( ) A.可能是1NF B.必定是1NF C.必定是3N D.必定是BCNF

二、关系模式规范化 1. 设有关系模式: 选修(姓名,专业,课程,任课教师,成绩) 假设:每个学生在一个专业学习;每门课程有一个任课教师;每个学生选修的每门课程只有一个成绩;姓名、课程无重名。 (1)请写出选修关系中存在的基本函数依赖集。 (2)找出关系模式的候选码,指出哪些是主属性?那些是非主属性。 (3)分析关系模式最高属于第几范式?为什么? (4)如果选修关系不属于3NF,请将其分解为第3NF模式集。 2. 现有一个描述学生、课程以及选课信息的关系模式: SelectCourse(学号,姓名,年龄,课程名称,成绩,学分)。 其中:每个学生可选多门课程,每门课程只选一次;每个学生选修的每门课程有一个成绩; 每门课程都规定一定的学分。 (1)请写出SelectCourse关系中存在的基本函数依赖集。

(2)找出关系模式的候选码。 (3)分析关系模式最高属于第几范式?为什么? (4)请将SelectCourse关系模式分解为第3NF模式集。 3. 假设某商业集团数据库中有一关系模式R如下: R(商店编号,商品编号,数量,部门编号,负责人)。 如果规定: (1)每个商店的每种商品只在一个部门销售。 (2)每个商店的每个部门只有一个负责人。 (3)每个商店的每种商品只有一个库存量。 请回答下列问题: (1)写出R关系中存在的基本函数依赖集。

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

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

数据库-部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别要讲清楚范式,就先讲讲几个名词的含义吧:部分函数依赖:设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)要求数据库表中的每个实例或行必须可以被唯一地区分。

为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。

数据库期末练习题

数据库期末练习题

1.设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。

设一名学生可以选修多门课程号,一门课程号可以被多名学生选修;一名学生有唯一的所在系,每门课程号有唯一的课程名和学分。

回答以下问题:(1)根据上述规定写出关系模式R的基本函数依赖;(2)找出关系模式R的候选码;(3)试问关系模式R最高已经达到第几范式?为什么?(4)将R分解成3NF模式集。

答:(1)学号→(姓名,所在系,性别)F课程号→(课程名,学分)F(学号,课程号)→成绩F(学号,课程号)→(姓名,所在系,性别)P(2)候选码:学号,课程号(3)存在部分函数依赖,R达到第一范式(4)Student(学号,姓名,所在系,性别)SC(学号,课程号,成绩)Course(课程号,课程名,学分)2.设有关系模式:学生表(学号,姓名,所在系,班号,班主任,系主任)。

其语义为:一名学生只在一个系的一个班学习,一个系只有一名系主任,一个班只有一名班主任,一个系可以有多个班。

回答以下问题:(1)根据上述规定写出关系模式R的基本函数依赖;(2)找出关系模式R的候选码;(3)试问关系模式R最高已经达到第几范式?为什么?(4)将R分解成3NF模式集。

答:(1)学号(姓名,所在系,班号,班主任,系主任)F班号(班主任,系主任)F班主任系主任F所在系系主任F(2)候选码:学号(3)存在传递依赖,不存在部分函数依赖,R达到第二范式(4)Student(学号,姓名,所在系,班号)Class(班号,班主任)Dept(所在系,系主任)3.设有关系模式:授课表(课程号,课程名,学分,授课教师号,教师名,授课时数)。

其语义为:一门课程号有确定的课程名和学分,每名教师有确定的教师名,每门课程号可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程号有确定的授课时数。

回答以下问题:(1)根据上述规定写出关系模式R的基本函数依赖;(2)找出关系模式R的候选码;(3)试问关系模式R最高已经达到第几范式?为什么?(4)将R分解成3NF模式集。

第06章关系数据理论习题课

第06章关系数据理论习题课
1NF 2NF 3NF BCNF 4NF 5NF
各种范式之间存在联系:
1NF 2NF 3NF BCNF
…4N…F
某一关系模式R为第n范式,可简记为R∈nNF。
19
19
课堂练习题:
下列关于关系模式规范化的叙述中,哪一 条是不正确的?( ) (A) 若R∈4NF,则必然R∈3NF (B) 若R∈3NF,则必然R∈2NF (C) 若R∈2NF,则必然R∈1NF (D) 若R∈3NF,则必然R∈BCNF 解析:D
龄,成绩,教师姓名,教师年龄,教师办公室)。假设 一门课程只有一名教师讲授,而且教师不重名。
试回答下列问题: (1)存在哪些基本函数依赖?该关系模式的候选码是
什么?有哪些主属性? (2)有部分依赖吗?若有,请写出两个? 有传递依赖吗?若有,请写出一个? (3)关系模式教务最高达到第几范式?为什么? (4)如何分解可消除关系模式中的部分函数依赖? (5)分解后达到了几范式?分解是无损连接分解? (6)分别指出各个关系模式的主码和外码
设R(U)是一个属性集U上的关系模式,X和Y是U的子 集。若对于R(U)的任意一个可能的关系r,r中不可能存在 两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。
6
函数依赖的基本概念
× √ × × × √
7
7
基本概念
解析:
⑴函数依赖是最基本的、也是最重要的一种数据依赖。
20
20
测验
1.关系数据库规范化是为解决关系数据库中的_______问 题而引入的。
A.操作异常和数据冗余 B.提高查询速度 C.减少数据操作的复杂性 D.保证数据的安全性和完整性
2.假设关系模式属于R(A,B)属于3NF,下列说法中_____ 是正确的。

数据库系统概论试题及答案(其它题)

数据库系统概论试题及答案(其它题)

数据库系统概论复习资料:第一章假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修; ②一个教师可讲授多门课,一门课只有一个教师讲授; ③一个学生选修一门课,仅有一个成绩。

学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。

要求:根据上述语义画出ER 图,要求在图中画出实体的属性并注明联系的类型; 解答:第2章关系数据库1、设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。

(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。

(4)检索”李强”同学不学课程的课程号(C#)。

(5)检索至少选修两门课程的学生学号(S#)。

(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。

(8)检索选修课程号为k1和k5的学生学号(S#)。

(9)检索选修全部课程的学生姓名(SNAME)。

(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。

(11)检索选修课程名为“C 语言”的学生学号(S#)和姓名(SNAME)。

解:本题各个查询语句对应的关系代数表达式表示如下:(1). ∏C#,CNAME(σTEACHER=‘程军’(C)) (2). ∏S#,SNAME(σAGE>21∧SEX=”男”(S))成绩教师编号教师姓名学生选修m课程教师讲授 nn1学号 姓名 课程号课程名(3). ∏SNAME{s [∏S#,C#(sc )÷∏C#(σTEACHER=‘程军’(C))]}(4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) SC) (5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))(6). ∏C#,CNAME(C (∏S#,C#(sc)÷∏S#(S)))(7). ∏S#(SC∏C#(σTEACHER=‘程军’(C)))(8). ∏S#,C#(sc )÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (9). ∏SNAME{s[∏S#,C#(sc )÷∏C#(C)]}(10). ∏S#,C#(sc )÷∏C#(σS#=’2’(SC))(11). ∏S#,SNAME{s[∏S#(SCσCNAME=‘C 语言’(C))]}2、关系R 和S 如下图所示,试计算R ÷S 。

数据库练习六答案

数据库练习六答案

1在关系模式R(A,B,C)中,F={(A,B)→C,B→C},则R最高达到()A. 1NFB. 2NFC. 3NFD. BCNF答案:A2.关系模式至少应属于( A )A.1NF B.2NFC.3NF D.BCNF3. 设有关系模式R (A,B,C,D),F是R上成立的FD集,F = {D→A,D→B},试写出关系模式R的候选键,并说明理由。

答:①R的候选键是CD②理由:从已知的F,可导出D→ABD,再根据增广律,可得出CD→ABCD,即CD值可决定全部属性值。

五、综合题(本题共10分)41. 假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人)如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。

试回答下列问题:(1) 根据上述规定,写出关系模式R的基本函数依赖;(2) 找出关系模式R的候选码;(3) 试问关系模式R最高已经达到第几范式?为什么?(4) 如果R不属于3NF,请将R分解成3NF模式集。

答:(1) 有三个函数依赖:(商店编号,商品编号) →部门编号(商店编号,部门编号) →负责人(商店编号,商品编号) →数量(2) R的候选码是(商店编号,商品编号)(3) 因为R中存在着非主属性“负责人”对候选码(商店编号、商品编号)的传递函数依赖,所以R属于2NF,R不属于3NF。

(4) 将R分解成:R1 (商店编号,商品编号,数量,部门编号)R2 (商店编号,部门编号,负责人)42.设有一个反映工程及其所使用相关材料信息的关系式:R(工程号,工程名,工程地址,开工日期,完工日期,材料号,材料名称,使用数量)如果规定:a每个工程的地址、开工日期、完工日期惟一;不同工程的地址、开工和完工日期可能相同;b工程名与材料名称均有重名;c每个工程使用若干种材料,每种材料可应用于若干工程中。

数据库试题6

数据库试题6

第六章一单项选择题1试题:设有关系模式R(S,D,M),函数依赖集:F={S→D,D→M},则关系模式R的规范化程度最高达到()。

A:1NF B: 2NF C; 3NF D: BCNF[参考答案] 2NF2试题:现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到()。

A:1NF B: 2NF C; 3NF D: BCNF[参考答案] BCNF3试题:关系模式A的规范化程度最高达到()。

A:1NF B: 2NF C; 3NF D: BCNF[参考答案] 2NF4 试题:有关系模式A(C,T,H,R,S),其中各属性的含义是:C:课程T:教员H:上课时间R:教室S:学生。

根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)RC,(H,S)→R}(1)关系模式A的码是()。

A:C B:(H,S) C:(H,R) D: (H,T)[参考答案] (H,S)5 试题:根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,部门(部门号,部门名,部门成员,部门总经理)关系中,因哪个属性而使它不满足第一范式()。

A部门总经理B 部门成员 C部门名 D部门号[参考答案] 部门成员6 试题:X→Y,当下列哪一条成立时,称为平凡的函数依赖()。

A:X∈Y B; Y∈X C: X∩Y=∮ D: X∩Y≠∮[参考答案] Y∈X7 试题:下列关于函数依赖的叙述中,哪一条是不正确的()。

A 由X→Y,Y→Z,则X→YZB 由X→YZ,则X→Y, Y→ZC 由X→Y,WY→Z,则XW→ZD 由X→Y,Z∈Y,则X→Z[参考答案] 由X→YZ,则X→Y, Y→Z8 试题:设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)→C,C→D},则关系模式R的规范化程度最高达到()。

A:1NF B: 2NF C; 3NF D: BCNF[参考答案] 2NF9 试题:学生表(id,name,sex,age,depart_id,depart_name),存在函数依赖是id→name,sex,age,depart_id;depart_id→depart_name,其满足()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 / 3
1、要建立关于系、学生、班级、研究会等信息的一个关系数据库。规定:
一个系有若干专业、每个专业每年只招一个班,每个班有若干学生,一个系的
学生住在同一个宿舍区,一个系只有一个系名,一个系名也只给一个系用。每
个学生可参加若干研究会,每个研究会有若干学生。

描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。
描述班级的属性有:班号、专业名、系名、人数、入校年份。
描述系的属性有:系号、系名、系办公室地点、人数。
描述研究会的属性有:研究会名、成立年份、地点、人数。
学生参加某研究会,有一个入会年份。
试给出上述数据库的关系模式;写出每个关系的最小依赖集(即基本的函
数依赖集,不是导出的函数依赖);指出是否存在传递函数依赖;对于函数依
赖左部是多属性的情况,讨论其函数依赖是完全函数依赖还是部分函数依赖,
指出各关系的候选键、外部关系键。(课本P176)

参考答案:
关系模式:
学生(学号,姓名,出生年月,系名,班号,宿舍区)
班级(班号,专业名,系名,人数,入校年份)
系(系号,系名,系办公室地点,人数)
研究会(研究会名,成立年份,地点,人数)
入会(学号,研究会名,入会年份)
关系的最小函数依赖集:
学生:{学号→姓名,学号→出生年月,学号→班号,班号→系名,系名→
宿舍区}
2 / 3

候选键:学号;外键:班号,系名
不存在部分函数依赖,但存在传递函数依赖:学号→系名,所以该关系最
高属于2NF。

班级:{班号→专业名,专业名→系名,班号→人数,班号→入校年份,{专
业名,入校年份}→班号}候选键:班号,{专业名,入校年份};外键:系名

存在部分函数依赖:班号→系名,所以该关系最高属于1NF。
系:{系号→系名,系号→系办公室地点,系号→人数}
候选键:系号;外键:无
不存在部分函数依赖,也不存在传递函数依赖,所以该关系最高属于
3NF。

研究会:{研究会名→成立年份,研究会名→地点,研究会名→人数}
候选键:研究会名;外键:无
不存在部分函数依赖,也不存在传递函数依赖,所以该关系最高属于
3NF。

入会:{{学号,研究会名}→入会年份}
候选键:{学号,研究会名};外键:学号
不存在部分函数依赖,也不存在传递函数依赖,所以该关系最高属于
3NF。

(注:对于本数据库可以设计更为合理的关系模式,如下所示)
学生(学号,姓名,出生年月,班号)
班级(班号,专业名,系名,人数,入校年份)
系(系号,系名,系办公室地点,人数,宿舍区)
3 / 3

研究会(研究会名,成立年份,地点,人数)
入会(学号,研究会名,入会年份)
(以下是SQL3练习中的一部分)
2、
1).设有关系模式R(工程号P#,材料号I#,数量QUAN,开工日期
DATE_BEGIN,完工日期DATE_FINISH,价格PRICE)

函数依赖F={{P#,I#}→QUAN,P#→DATE_BEGIN,P#→DATE_FINISH,
I#→PRICE}

答案:R是1NF。
∵R的候选关键字为{ P#,I# },则QUAN, DATE_BEGIN,DATE_FINISH,
PRICE为非主属性,又由于I#→PRICE,因此F中存在非主属性对候选关键字的部
分函数依赖。

2).设有关系模式R(职工号E#,职工名ENAME,年龄AGE,性别SEX,
单位号D#,单位名DNAME)答案:R是2NF。

∵函数依赖F={E#→ENAME, E#→AGE, E#→SEX,E#→D#, D#→DNAME}
R的候选关键字为{E#},则ENAME,AGE,SEX,D#,DNAME为非主属性,
又由于D#→DNAME,因此F中存在非主属性对候选关键字的传递函数依
赖。

相关文档
最新文档