[问题3]对关系“搭乘航班”,请回答以下的问题: (1)把非平凡的多值依赖属性(图4-2中没有表示)的例子用满足图4-3的方式表示出来。 (2)关系“搭乘航班”是boyce codd范式而不是第四范式,请用200字以内文字阐述理由。 (3)把“搭乘航班”关系分解成第四范式,并采用图4-1所示的关系模式的形式表示,分解后的关系名依次取搭乘航班1、搭乘航班2、…。
参考答案:
解析:[问题3]解答 (1)旅程编号→→旅客编号,旅程编号→→{搭乘日期,航班名}
(2)在“搭乘航班”关系中,存在着非平凡的多值依赖,旅程编号→→旅客编号,旅程编号→→{搭乘日期,航班名),而该关系模式的候选键为(旅程编号,旅客编号,搭乘日期,航班名),所以,根据第四范式的定义,该关系模式BCNF不是第四范式。 (3)把分解成第四范式的结果,用与图4—1所示的关系模式的形式表示出来。
[分析]: (1)通过对试题中给出的关系“搭乘航班”,由于旅程编号→→旅客编号,旅程编号→→{搭乘日期,航班名),所以非平凡的多值依赖的图如下所示:
(2)关系“搭乘航班”是boyce codd范式而不是第四范式。因为在“搭乘航班”关系中,存在着非平凡的多值依赖,旅程编号→→旅客编号,旅程编号→→{搭乘日期,航班名),而该关系模式的候选键为(旅程编号,旅客编号,搭乘日期,航班名),搭乘航班关系的码是All-Key,所以,根据第四范式的定义,该关系模式BCNF不是第四范式。 (3)把“搭乘航班”关系分解成第四范式如下:
其中搭乘航班1中的旅程编号惟一标识每个能按期出发的旅行团队的编号。搭乘航班2中的旅程编号惟一标识每个能按期出发的航班名。