• 数据库系统概论习题集 第五章 关系数据理论


    第五章 关系数据理论

      一、选择题

      1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是( ) 。

      A. 关系规范化理论 B. 关系代数理论

      C.数理逻辑 D. 关系运算理论

      2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是( ) 。

      A. 长度不变的 B. 不可分解的

      C.互相关联的 D. 互不相关的

      3. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E→A },该关系模式的候选关键字是( ) 。

      A.AB B. BE

      C.CD D. DE

      4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足( )。

      A. 1NF B.2NF

      C. 3NF D. BCNF

      5. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },关系模式W的一个关键字是( ) 。

      A. (S,C) B. (T,R)

      C. (T,P) D. (T,S)

      6. 关系模式中,满足2NF的模式( ) 。

      A. 可能是1NF B. 必定是1NF

      C. 必定是3NF D. 必定是BCNF

      7. 关系模式R中的属性全是主属性,则R的最高范式必定是( ) 。

      A. 1NF B. 2NF

      C. 3NF D. BCNF

      8. 消除了部分函数依赖的1NF的关系模式,必定是( ) 。

      A. 1NF B. 2NF

      C. 3NF D. BCNF

      9. 如果A->B ,那么属性A和属性B的联系是( ) 。

      A. 一对多 B. 多对一

      C.多对多 D. 以上都不是

      10. 关系模式的候选关键字可以有1个或多个,而主关键字有( ) 。

      A. 多个 B. 0个

      C. 1个 D. 1个或多个

      11. 候选关键字的属性可以有( ) 。

      A. 多个 B. 0个

      C. 1个 D. 1个或多个

      12. 关系模式的任何属性( ) 。

      A. 不可再分 B. 可以再分

      C. 命名在关系模式上可以不唯一 D. 以上都不是

      13. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },若将关系模式W分解为三个关系模式W1(C,P),W2(S,C,G),W2(S,T,R,C),则W1的规范化程序最高达到( ) 。

      A. 1NF B.2NF

      C. 3NF D. BCNF

      14. 在关系数据库中,任何二元关系模式的最高范式必定是( ) 。

      A. 1NF B.2NF

      C. 3NF D. BCNF

      15. 在关系规范式中,分解关系的基本原则是( )。

      I.实现无损连接

      II.分解后的关系相互独立

      III.保持原有的依赖关系

      A. Ⅰ和Ⅱ B. Ⅰ和Ⅲ

      C. Ⅰ D. Ⅱ

      16. 不能使一个关系从第一范式转化为第二范式的条件是( )。

      A.每一个非属性都完全函数依赖主属性

      B.每一个非属性都部分函数依赖主属性

      C.在一个关系中没有非属性存在

      D.主键由一个属性构成

      17. 任何一个满足2NF但不满足3NF的关系模式都不存在( )。

      A.主属性对键的部分依赖

      B.非主属性对键的部分依赖

      C.主属性对键的传递依赖

      D.非主属性对键的传递依赖

      18. 设数据库关系模式R=(A,B,C,D,E),有下列函数依赖:A→BC,D→E,C→D;下述对R的分解中,哪些分解是R的无损连接分解( ) 。

      I.(A,B,C)(C,D,E)

      II.(A,B)(A,C,D,E)

      III.(A,C)(B,C,D,E)

      IV.(A,B)(C,D,E)

      A.只有Ⅳ B. Ⅰ和Ⅱ C. Ⅰ、Ⅱ和Ⅲ D. 都不是

      19. 设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,不正确的是( )。

      A.若X→→Y,则X→→Z

      B.若X→Y,则X→→Y

      C.若X→→Y,且Y′∈Y,则X→→Y′

      D.若Z=∮,则X→→Y

      20. 若关系模式R(U,F)属于3NF,则( )。

      A. 一定属于BCNF

      B. 消除了插入的删除异常

      C. 仍存在一定的插入和删除异常

      D. 属于BCNF且消除了插入和删除异常

      21. 下列说法不正确的是( )。

      A. 任何一个包含两个属性的关系模式一定满足3NF

      B. 任何一个包含两个属性的关系模式一定满足BCNF

      C. 任何一个包含三个属性的关系模式一定满足3NF

      D. 任何一个关系模式都一定有码

      22. 设关系模式R(A,B,C),F是R上成立的FD集,F={B→C},则分解P={AB,BC}相对于F( )。

      A. 是无损联接,也是保持FD的分解

      B. 是无损联接,也不保持FD的分解

      C. 不是无损联接,但保持FD的分解

      D. 既不是无损联接,也不保持FD的分解

      23. 关系数据库规范化是为了解决关系数据库中( )的问题而引入的。

      A. 插入、删除和数据冗余

      B. 提高查询速度

      C. 减少数据操作的复杂性

      D. 保证数据的安全性和完整性

      24. 关系的规范化中,各个范式之间的关系是( ) 。

      A. 1NF∈2NF∈3NF

      B. 3NF∈2NF∈1NF

      C. 1NF=2NF=3NF

      D. 1NF∈2NF∈BCNF∈3NF

      25. 数据库中的冗余数据是指可( )的数据 。

      A. 容易产生错误

      B. 容易产生冲突

      C. 无关紧要

      D. 由基本数据导出

      26. 学生表(id,name,sex,age,depart_id,depart_name),存在函数依赖是id→name,sex,age,depart_id;dept_id→dept_name,其满足( )。

      A. 1NF B. 2NF

      C. 3NF D. BCNF

      27. 设有关系模式R(S,D,M),其函数依赖集:F={S→D,D→M},则关系模式R的规范化程度最高达到( )。

      A. 1NF B. 2NF

      C. 3NF D. BCNF

      28. 设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)→C,C→D},则关系模式R的规范化程度最高达到( )。

      A. 1NF B. 2NF

      C. 3NF D. BCNF

      29. 下列关于函数依赖的叙述中,哪一条是不正确的( )。

      A.由X→Y,Y→Z,则X→YZ

      B.由X→YZ,则X→Y, Y→Z

      C.由X→Y,WY→Z,则XW→Z

      D.由X→Y,Z∈Y,则X→Z

      30. X→Y,当下列哪一条成立时,称为平凡的函数依赖( )。

      A. X∈Y B. Y∈X

      C. X∩Y=∮ D. X∩Y≠∮

      31. 关系数据库的规范化理论指出:关系数据库中的关系应该满足一定的要求,最起码的要求是达到1NF,即满足( )。

      A.每个非主键属性都完全依赖于主键属性

      B.主键属性唯一标识关系中的元组

      C.关系中的元组不可重复

      D.每个属性都是不可分解的

      32. 根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,部门(部门号,部门名,部门成员,部门总经理)关系中,因哪个属性而使它不满足第一范式( )。

      A. 部门总经理 B. 部门成员 C. 部门名 D. 部门号

      33. 有关系模式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)

      (2)关系模式A的规范化程度最高达到( )。

      A. 1NF B. 2NF C. 3NF D. BCNF

      (3)现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到( )。

      A. 1NF B. 2NF C. 3NF D. BCNF

      

      选择题答案:

       (1) A (2) B (3) B (4) A (5) D

       (6) B (7) C (8) B (9) B (10) C

      (11) D (12) A (13) D (14) D (15) B

      (16) B (17) D (18) B (19) C (20) C

      (21) C (22) A (23) A (24) A (25) D

      (26) B (27) B (28) B (29) B (30) B

      (31) D (32) B (33) B B D

        二、简答题

      1.理解并给出下列术语的定义:

      函数依赖、部分函数依赖、完全函数依赖、候选码、主码、 外码、全码。

      解析:

      解答本题不能仅仅把《概论》上的定义写下来。关键是真正理解和运用这些概念。

      答: 函数依赖:设R (U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R (U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同, 而在Y上的属性值不同, 则称"X函数确定Y"或"Y函数依赖于X",记作X→Y。

      解析:

      1)函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。

      2)函数依赖是属性之间的一种联系,体现在属性值是否相等。由上面的定义可以知道,如果X→Y,则r中任意两个元组,若它们在X上的属性值相同,那么在Y上的属性值一定也相同。

      3)我们要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。

      4)函数依赖不是指关系模式R的在某个时刻的关系(值)满足的约束条件,而是指R任何时刻的一切关系均要满足的约束条件。

      //???答: 完全函数依赖、部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X,都有X′→Y,则称Y对X完全函数依赖;若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖;

      候选码、主码: 设K为R(U,F)中的属性或属性组合,若K → U则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。

      答: 外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码也称外码。

      全码:整个属性组是码,称为全码(All-key)。

      2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。

      描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。

      描述班级的属性有:班号、专业名、系名、人数、入校年份。

      描述系的属性有:系名、系号、系办公室地点、人数。

      描述学会的属性有:学会名、成立年份、地点、人数。

      有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。

       请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。

       指出各关系的候选码、外部码,有没有全码存在?

      答:

      关系模式: 学生S(S#,SN,SB,DN,C#,SA)

       班级C(C#,CS,DN,CNUM,CDATE)

       系 D(D#,DN,DA,DNUM)

       学会P(PN,DATE1,PA,PNUM)

       学生--学会SP(S#,PN,DATE2)

      其中,S#—学号,SN—姓名,SB—出生年月,SA—宿舍区

       C#—班号,CS—专业名,CNUM—班级人数,CDATE—入校年份

       D#—系号,DN—系名,DA—系办公室地点,DNUM—系人数

       PN—学会名,DATE1—成立年月,PA—地点,PNUM—学会人数,DATE2—入会年份

      每个关系模式的极小函数依赖集:

       S:S#→SN,S#→SB,S#→C#,C#→DN,DN→SA

       C:C#→CS,C#→CNUM,C#→CDATE,CS→DN,(CS,CDATE)→C#

       D:D#→DN,DN→D#,D#→DA,D#→DNUM

       P:PN→DATE1,PN→PA,PN→PNUM

       SP:(S#,PN)→DATE2

      S中存在传递函数依赖: S#→DN, S#→SA, C#→SA

      C中存在传递函数依赖:C#→DN

      (S#,PN)→DATE2 和(CS,CDATE)→C# 均为SP中的函数依赖,是完全函数依赖

      关系 候选码 外部码 全码

      S S# C#,DN 无

      C C#,(CS,CDATE) DN 无

      D D#和DN 无 无

      P PN 无 无

      SP (S#,PN) S#,PN 无

      3. 试由Armostrong公理系统推导出下面三条推理规则:

      (1)合并规则:若X→Z,X→Y,则有X→YZ

      (2)伪传递规则:由X→Y,WY→Z有XW→Z

      (3)分解规则:X→Y,Z 包含于 Y,有X→Z

      证:

      (1)已知X→Z,由增广律知XY→YZ,又因为X→Y,可得XX→XY→YZ,最后根据传递律得X→YZ。

      (2)已知X→Y,据增广律得XW→WY,因为WY→Z,所以XW→WY→Z,通过传递律可知XW→Z。

      (3)已知Z 包含于 Y,根据自反律知Y→Z,又因为X→Y,所以由传递律可得X→Z。

      4. 试举出三个多值依赖的实例。

      答: (1)关系模式MSC(M,S,C)中,M表示专业,S表示学生,C表示该专业的必修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生的选修的必修课相同,实例关系如下。按照语义对于M的每一个值M i,S有一个完整的集合与之对应而不问C取何值,所以M→→S。由于C与S的完全对称性,必然有M→→C成立。

       M S C

       M 1 S1 C1

       M 1 S1 C2

       M 1 S2 C1

       M 1 S2 C2

       …… …… ……

      (2)关系模式ISA(I,S,A)中,I表示学生兴趣小组,S表示学生,A表示某兴趣小组

       的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生必须参加所

       在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。

      按照语义有I→→S,I→→A成立。

      (3)关系模式RDP(R,D,P)中,R表示医院的病房,D表示责任医务人员,P表示病人。假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。按照语义有R→→D,R→→P成立。

      5. 下面的结论哪些是正确的,哪些是错误的?对于错误的结论请给出理由或给出一个反例说明之。

      (1)任何一个二目关系都是属于3NF的。√

      (2)任何一个二目关系都是属于BCNF的。√

      (3)任何一个二目关系都是属于4NF的。√

      (5)若R.A→R.B,R.B→R.C,则R.A→R.C √

      (6)若R.A→R.B,R.A→R.C,则R.A→R.(B, C) √

      (7)若R.B→R.A,R.C→R.A,则R.(B, C)→R.A √

      (8)若R.(B, C)→R.A,则R.B→R.A,R.C→R.A ×

      反例:关系模式 SC(S#,C#,G) (S#,C#)→G,但是S# → G,C#→G

  • 相关阅读:
    PHP中feof()函数的猜测
    PHP curl函数模拟爬虫(操作cookie)
    django发音
    Nginx出现“413 Request Entity Too Large”错误解决方法
    Python开发利器WingIDE破解方法
    开启Apache mod_rewrite
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    python 正则学习
    php定时执行任务
    命令行CURL教程[转载]
  • 原文地址:https://www.cnblogs.com/xuijer/p/13072048.html
Copyright © 2020-2023  润新知