关系数据库的模式设计习题及答案.docx

上传人:牧羊曲112 文档编号:3311996 上传时间:2023-03-12 格式:DOCX 页数:13 大小:41.84KB
返回 下载 相关 举报
关系数据库的模式设计习题及答案.docx_第1页
第1页 / 共13页
关系数据库的模式设计习题及答案.docx_第2页
第2页 / 共13页
关系数据库的模式设计习题及答案.docx_第3页
第3页 / 共13页
关系数据库的模式设计习题及答案.docx_第4页
第4页 / 共13页
关系数据库的模式设计习题及答案.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《关系数据库的模式设计习题及答案.docx》由会员分享,可在线阅读,更多相关《关系数据库的模式设计习题及答案.docx(13页珍藏版)》请在三一办公上搜索。

1、关系数据库的模式设计习题及答案数据库原理之关系数据库的模式设计课后习题及答案 4.1 名词解释 (1) 函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集, r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1X=t2X导致t1Y=t2Y, 则称X函数决定Y,或Y函数依赖于X,记为XY。XY为模式R的一个函数依赖。 (2) 函数依赖的逻辑蕴涵:设F是关系模式R的一个函数依赖集,X,Y是R的属性子集, 如果从F中的函数依赖能够推出XY,则称F逻辑蕴涵XY,记为F|=XY。 (3) 部分函数依赖:即局部依赖,对于一个函数依赖WA,如果存在XW

2、(X包含于W)有XA成立, 那么称WA是局部依赖,否则称WA为完全依赖。 (4) 完全函数依赖:见上。 (5) 传递依赖:在关系模式中,如果YX,XA,且X,那么称YA是传递依赖。 (6) 函数依赖集F的闭包F+: 被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。 (7) 1NF:第一范式。如果关系模式R的所有属性的值域中每一个值都是不可再分解的值, 则称R是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。 第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。 (8) 2NF:第二范式

3、。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键, 则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。 (注:如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R的非主属性。) (9) 3NF:第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键, 则称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。 (10) BCNF:BC范式。如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。

4、(11) 4NF:第四范式。设R是一个关系模式,D是R上的多值依赖集合。如果D中成立非平凡多值依赖XY时, X必是R的超键,那么称R是第四范式的模式。 (12) 推理规则的正确性和完备性:正确性是指,如果XY是从推理规则推出的,那么XY在F+中。 完备性是指,不能从F使用推理规则导出的函数依赖不在F+中。 (13) 依赖集的覆盖和等价:关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G是等价的。 如果F和G等价,则可称F覆盖G或G覆盖F。 (14) 最小依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都是Y, AX单属性; (2)F中的任一函数依赖XA

5、,其F-XA与F是不等价的;(3)F中的任一函数依赖XA,Z为X的子集,ZA与F不等价。则称F为最小函数依赖集合,记为Fmin。 (15) 无损联接:设R是一关系模式,分解成关系模式=R1,R2.,Rk,F是R上的一个函数依赖集。 如果对R中满足F的每一个关系r都有r=R1(r)R2(r).Rk(r)则称这个分解相对于F是无损联接分解。 (16) 保持依赖集:所谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不变, 即关系模式R到=R1,R2,.,Rk的分解,使函数依赖集F被F这些Ri上的投影蕴涵。 (17) 多值依赖:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并

6、且Z=U-X-Y, 用x,y,z分别代表属性集X,Y,Z的值,只要r是R的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时, 就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD) XY在关系模式R中成立。 4.2 关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个? 其中平凡的函数依赖有多少个?非平凡的函数依赖有多少个? (要考虑所有可能的情况,数学排列组合问题。对于数据库本身而言,本题没多大意义) 所有属性相互依赖时,函数依赖最多。 平凡的函数依赖:对于函数依赖XY,如果YX,那么称XY是一个“平凡的函数

7、依赖”。 4.3 建立关于系、学生、班级、社团等信息的一个关系数据库, 一个系有若干个专业,每个专业每年只招一个班,每个班有若干个学生,一个系的学生住在同一宿舍区, 每个学生可以参加若干个社团,每个社团有若干学生。 描述学生的属性有:学号、姓名、出生年月、系名、班级号、宿舍区。 描述班级的属性有:班级号、专业名、系名、人数、入校年份。 描述系的属性有:系名、系号、系办公地点、人数。 描述社团的属性有:社团名、成立年份、地点、人数、学生参加某社团的年份。 请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖, 对于函数依赖左部是多属性的情况,讨论函数依赖是完全函数依赖还是部

8、分函数依赖。 指出各关系的候选键、外部键,有没有全键存在? 各关系模式如下: 学生(学号,姓名,出生年月,系名,班级号,宿舍区) 班级(班级号,专业名,系名,人数,入校年份) 系(系名,系号,系办公地点,人数) 社团(社团名,成立年份,地点,人数) 加入社团 学生(学号,姓名,出生年月,系名,班级号,宿舍区) “学生”关系的最小函数依赖集为: Fmin=学号姓名,学号班级号,学号出生年月,学号系名,系名宿舍区 以上关系模式中存在传递函数依赖,如:学号系名,系名宿舍区 候选键是学号,外部键是班级号,系名。 notice: 在关系模式中,如果YX,XA,且X么称YA是传递依赖。 班级(班级号,专业

9、名,系名,人数,入校年份) “班级”关系的最小函数依赖集为: Fmin=(系名,专业名)班级号,班级号人数,班级号入校年份,班级号系名,班级号专业名 (假设没有相同的系,不同系中专业名可以相同) 以上关系模式中不存在传递函数依赖。 “(系名,专业名)班级号”是完全函数依赖。 候选键是(系名,专业名),班级号,外部键是系名。 系(系名,系号,系办公地点,人数) “系”关系的最小函数依赖集为: Fmin=系号系名,系名系办公地点,系名人数,系名系号 以上关系模式中不存在传递函数依赖 候选键是系名,系号 社团(社团名,成立年份,地点,人数) “社团”关系的最小函数依赖集为: Fmin=社团名成立年份

10、,社团名地点,社团名人数) Y, A不属于X,那以上关系模式中不存在传递函数依赖。 候选键是社团名 加入社团 “加入社团”关系的最小函数依赖集为: Fmin=学生参加社团的年份) “学生参加社团的年份”是完全函数依赖。 以上关系模式中不存在传递函数依赖。 候选键是。 4.4 对函数依赖XY的定义加以扩充,X和Y可以为空属性集,用表示, 那么X,Y,的含义是什么? 根据函数依赖的定义,以上三个表达式的含义为: (1)一个关系模式R(U)中,X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2, 由t1X=t2X必有t1=t2。即X表示空属性函数依赖于X。这是任何关系中都存在的

11、。 (2)Y表示Y函数依赖于空属性。由此可知该关系中所有元组中Y属性的值均相同。 (3)表示空属性函数依赖于空属性。这也是任何关系中都存在的。 4.5 已知关系模式R(ABC),F=AC,BC,求F+。 可以直接通过自反律、增广律、传递律加以推广: F+=,A,B,C,AC,BC,AB,ABA,ABB,ABC,ABBC,ABAB,ABABC,BC,BCC,BCB,BCBC,AC,ACC,ACA,ACAC,ABC,ABCA,ABCB,ABCC,ABCBC,ABCAB,ABCABC 4.6 试分析下列分解是否具有无损联接和保持函数依赖的特点: (1)设R(ABC),F1=AB 在R上成立,1=AB

12、,AC。 首先,检查是否具有无损联接特点: 第1种解法-算法4.2: AB AC A a1 a1 B a2 b22 C b13 a3 A a1 a1 B a2 a2 C b13 a3 (1) 构造表 (2)根据AB进行处理 结果第二行全是a行,因此分解是无损联接分解。 第2种解法:(定理4.8) 设 R1=AB,R2=AC R1R2=A R2- R1=B AB,该分解是无损联接分解。 然后,检查分解是否保持函数依赖 R1=AB,以及按自反率推出的一些函数依赖 R2=按自反率推出的一些函数依赖 F1被R1所蕴涵,所以该分解保持函数依赖。 (2)设R(ABC),F2=AC,BC在R上成立,2=AB

13、,AC 首先,检查是否具有无损联接特点: 第1种解法 第2种解法:(定理4.8) 设 R1=AB,R2=AC R1R2=A R2- R1=C AC,该分解是无损联接分解。 然后,检查分解是否保持函数依赖 R1=按自反率推出的一些函数依赖 R2=AC,以及按自反率推出的一些函数依赖 F1中的BC没有被蕴涵,所以该分解没有保持函数依赖。 (3)设R(ABC),F3=AB,在R上成立,3=AB,BC. 首先,检查是否具有无损联接特点: 第1种解法: AB BC A a1 b21 B a2 a2 C b13 a3 A a1 a1 B a2 b22 C a3 a3 (1) 构造表 (2)根据AB进行处理

14、 没有一行全是a行。因此这个分解不具有无损联接特性。 第2种解法:(定理4.8) 设 R1=AB,R2=BC R1R2=B R2- R1=C,R1- R2=A BC,BA不在F3中 该分解不具有无损联接特性。 然后,检查分解是否保持函数依赖 R1=AB,以及按自反率推出的一些函数依赖 R2=按自反率推出的一些函数依赖 F1被R1所蕴涵,所以该分解保持函数依赖。 (4)设R(ABC),F4=AB,BC在R上成立,4=AC,BC 首先,检查是否具有无损联接特点: 第1种解法 第2种解法:(定理4.8) 设 R1=AC,R2=BC R1(AC)R2(BC)=C R2- R1=B,R1- R2=A C

15、B,CA不在F4中 该分解不具有无损联接特性。 然后,检查分解是否保持函数依赖 R1=按自反率推出的一些函数依赖 R2=BC,以及按自反率推出的一些函数依赖 F1中的AB没有被蕴涵,所以该分解没有保持函数依赖。 4.7 设R=ABCD,R上的函数依赖集F=AB,BC,AD,DC,R的一个分解=AB,AC,AD,求:(1)F在的每个模式上的投影。(2)相对于F是无损联接分解吗?(3)保持依赖吗? (1) AB(F)=AB,及按自反律所推导出的一些平凡函数依赖 AC(F)=AC,及按自反律所推导出的一些平凡函数依赖 AD(F)=AD,及按自反律所推导出的一些平凡函数依赖 (2) AB AC AD

16、A a1 a1 a1 B a2 b22 b32 C b13 a3 b33 D b14 b24 a4 A a1 a1 a1 B a2 a2 a2 C a3 a3 a3 D a4 a4 a4 (1) 构造表 (2)根据AB,BC,AD,DC进行处理 每一行都是a,相对于F是无损联接分解。 (3)AB(F)AC(F)AD(F)=AB,AC,AD, 没有满足BC,DC函数依赖, 因此相对于F的这个分解不保持函数依赖。 4.8 设R=ABCD,R上的F=AC,DC,BDA, 试证明=AB,ACD,BCD相对于F不是无损联接分解。 根据算法4.2 AB ACD BCD A a1 a1 b31 B a2 b

17、22 a2 C b13 a3 a3 D b14 a4 a4 A a1 a1 b31 B a2 b22 a2 C a3 a3 a3 D b14 a4 a4 (1) 构造表 (2)根据AC,DC,BDA进行处理 没有一行都是a,所以,相对于F不是无损联接分解。 4.9 设R=ABCD,R上的F=AB,BC,DB,把R分解成BCNF模式集。 (1)若首先把R分解成ACD,BD,试求F在这两个模式上的投影。 (2)ACD和BD是BCNF吗?如果不是,请进一步分解。 (1)ACD(F)=AC BD(F)=DB (2)因为根据BCNF的定义,要求关系模式是第一范式,且每个属性都不传递依赖于R的侯选键。 B

18、CD中为候选键,可是。 (2)在模式R中,TNAME不完全依赖于键(S#,C#),因此需进行分解,可分解为下列两个关系。 SC=S#,C#,GRADE C=C#,TNAME,TADDR 分解后,SC中,GRADE完全依赖于侯选键(S#,C#),在C中,主属性是C#,TNAME、TADDR均完全依赖于C#。 因此,该分解符合2NF模式。 (3)3NF:若每个关系模式是2NF,则每个非主属性都不传递于R的候选键。 按上述已分好的两个模式,SC中已满足“每个非主属性都不传递于R的候选键”,已是3NF,而在C中, C#TNAME,TNAMETADDR,TADDR传递依赖于C#,因此还需分成两个模式:C

19、T(C#,TNAME), T(TNAME,TADD)。 分解后,总共有SC=S#,C#,GRADE,CT(C#,TNAME), T(TNAME,TADD)三个模式。 该分解符合3NF模式。 4.12 图4.6表示一个公司各部门的层次结构,对每个部门,数据库中包含部门号 (唯一的)D#,预算费(BUDGET)以及此部门领导人员的职工号(唯一的)E#等信息。 对每一个部门,还存有部门的全部职工,生产科研项目以及办公室的信息。 职工信息包括:职工号,他所参加的生产科研项目号(J#),他所在办公室的电话号(PHONE#)。 生产科研项目包含:项目号(唯一的),预算费。 办公室信息包含:办公室号(唯一的

20、),面积。 对每个职工,数据库中有他曾担任过的职务以及担任某一职务时的工资历史。对每个办公室包含此办公室中全部电话号吗的信息。 请给出你认为合理的数据依赖,把这个层次结构转换成一组规范化的关系。 提示:此题可分步完成,先转换成一组1NF的关系,然后逐步转换成2NF,3NF,.。 先得到一个泛关系的模式如下: D=D#,Manager_E#,Budget,E#,J#,Phone#,Business,Sa_History,Office#,Area D#:部门号, Manager_E#:部门领导人员的职工号, E#:职工号, J#:生产科研项目号, Phone#:办公室的电话号,Business:职

21、工职务,Sa_History:工资历史,Office#:办公室号,Area:办公室面积 根据所给信息,给出下列数据依赖: F=D#Manager_E#,E#Office#,(E#,Business)Sa_History,J#Budget,E#J#, Office#Area,OfficeD#,#Phone#Office# 只要保证每个属性值不可分割,以上范式即为1NF。候选键为: Em_Dep(E#,D#,Manager_E#,Office#,Area,J#,Budget) 对应 F=D#Manager_E#,E#Office#,J#Budget,E#J#,Office#Area,OfficeD

22、# History(E#,Business,History) 对应 F=(E#,Business)Sa_History Phone(Phone#,Office#) 对应 F=Phone#Office# 转换成3NF关系(消除非主属性对侯选键的传递依赖): Department(D#,Manager_E#) Office(Office#,Area,D#) Emproee(E#,J#,Office#) History(E#,Business,History) Phone(Phone#,Office#) Project(J#,Budget) 注意:由于对题意理解的不同,可能答案不唯一。 4.13 设关系模式R(ABC)上有一个多值依赖AB。 如果已知R的当前关系中存在三组(ab1c1)、(ab2c2)和(ab3c3),那么这个关系中至少还应存在哪些元组? 从多值依赖的定义可以得出,至少应存在下列元组: (ab1c2)、(ab1c3)、(ab2c1)、(ab2c3)、(ab3c1)、(ab3c2)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号