第4部分 关系数据库理论(2)

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 .理解并给出下列术语的定义:
  函数依赖、部分函数依赖、完全函数依赖、候选码、主码、 外码、全码。
  解析:
  解答本题不能仅仅把《概论》上的定义写下来。关键是真正理解和运用这些概念。
l         函数依赖的定义是什么?
答:
  函数依赖:设 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 任何时刻的一切关系均要满足的约束条件。
l         完全函数依赖的定义是什么?
答:
  完全函数依赖、部分函数依赖:在 R U )中,如果 X Y ,并且对于 X 的任何一个真子集 X ,都有 X ′→ Y ,则称 Y X 完全函数依赖 ; X Y ,但 Y 不完全函数依赖于 X ,则称 Y X 部分函数依赖 ;
l         候选码、主码的定义是什么?
答:
候选码、主码: K R(U F) 中的属性或属性组合,若 K U K R 的候选码。若候选码多于一个,则选定其中的一个为主码。
l         外码、全码的定义是什么?
答:
  外码:关系模式 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 S 1 C 1
   M 1 S 1 C 2
   M 1 S 2 C 1
   M 1 S 2 C 2
   …… …… ……
  ( 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

  四、填空回答题

1 . 在一个关系 R 中,若每个数据项都是不可再分割的,那么 R 一定属于 __________
( 问答题 )
 
        
 
2 . 理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、 外码、全码 (All-key) 1NF 2NF 3NF BCNF 、多值依赖、 4NF
       

你可能感兴趣的:(职场,休闲,数据库专升本,数据库系统概述)