M公司为某旅游公司设计机票销售专用数据库,其关系模式如图4-1所示。
关系模式的主要属性、含义及约束如表4-1所示,属性间的函数依赖关系如图4-2所示,属性间函数依赖的标记方法如图4-3所示。
旅客旅行前需要向旅行社提出申请,说明要参加的旅行团队。旅行社建立的旅行申请包括,旅行出发日期和到达日期的机票预订、购票等信息。旅行社还需要为每个团队制定‘旅程”和“搭乘航班”表。有关“旅程”和“搭乘航班”的示例如表4-2、表4-3所示。
【问题1】对关系“航班”,请回答以下问题:(1)列举出所有不属于任何候选键的属性(非键属性)。(2)关系“航班”可达到第几范式,用不超过60个字的内容叙述理由。
【问题2】对关系“旅客”,请回答以下的问题:(1)针对“旅客”关系,用100字以内文字简要说明会产生什么问题,并加以修正。(2)列出修正后的关系模式的所有候选键。(3)把“旅客”分解为第三范式,并用图4-1所示的关系模式的形式表示,分解后的关系名依次取旅客1、旅客2、…。
【问题3】对关系“搭乘航班”,请回答以下的问题:(1)把非平凡的多值依赖属性(图4-2中没有表示)的例子用满足图4-3的方式表示出来。(2)关系“搭乘航班”是boyce codd范式而不是第四范式,请用200字以内文字阐述理由。(3)把“搭乘航班”关系分解成第四范式,并采用图4-1所示的关系模式的形式表示,分解后的关系名依次取搭乘航班1、搭乘航班2、…。
正确答案及解析
正确答案
解析
[问题1]投保单:(投保书号,受益人身份证号码)客户信息:客户号缴费记录:(投保书号,缴费月份)险种信息:险种名称投保单关系模式的函数依赖:F1=(投保书号,受益人身份证号码)→(投保人客户号,被保人客户号,险种名称,受益顺序,业务员姓名,业务员联系方式,投保日期)F2=投保书号→(投保人客户号,被保人客户号,险种名称,业务员姓名,业务员联系方式,投保日期)F3=受益人身份证号码→身故受益人姓名F4=业务员姓名→业务员联系方式
[问题2](1)投保单关系模式存在更新异常。该关系模式存在冗余数据,修改数据时可能会引起修改异常,例如当业务员的联系方式发生变化时,他所负责的每一个投保单里面的业务员联系方式必须更新,如果部分更新,部分不更新,则会产生修改(更新)异常;当一个业务员还没有任何投保单时,他的数据将不能插入数据库,即存在插入异常;当一个投保单记录删除了之后,对应的业务员信息也丢失了,即存在删除异常。
(2)投保单关系模式存在多值依赖,一个特定的投保单对应多个受益人。
[问题3]投保单关系模式属于1范围(或1NF),该关系模式存在数据冗余。例如一个业务员的姓名、联系方式属性与其负责的投保单数量一样多。在具有多个受益人的一个投保单中,投保单的诸多属性存储多次。关系模式还存在上题所说的更新异常和多值依赖。其函数依赖存在非主属性部分依赖于码,故不屑于2范式(或2NF)。
将投保单关系模式进行如下模式分解:投保单(投保书号,投保人客户号,被保人客户号,险种名称,业务员号,投保日期)受益人信息(受益人号,受益人姓名,受益人身份证号码)业务员信息(业务员号,业务员姓名,业务员联系方式)投保-受益信息(投保书号,受益人号,收益人顺序)上述模式分解后,能保证在每个关系模式中,属性间无非平凡且非函数依赖的多值依赖,故达到了4范式(或4NF)。
你可能感兴趣的试题
一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )
-
- A.202.123.25.0
- B.202.123.25.255
- C.202.123.24.0
- D.202.123.24.255
- 查看答案
在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。
-
- A.电子邮件
- B.硬盘
- C.U盘
- D.ROM
- 查看答案
有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()
-
- A.201.117.15.254 和 201.117.17.01
- B.201.117.17.01 和 201.117.24.5
- C.201.117.15.254 和 201.117.29.3
- D.201.117.24.5 和 201.117.29.3
- 查看答案
在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。
-
- A.50波特
- B.500波特
- C.550波特
- D.1000波特
- 查看答案
在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。
Pinging 59.74.111.8 with 32 bytes of data:
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Ping statistics for 59.74.111.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 5ms, Average = 4ms
-
- A.该命令使得本地主机向目标主机发送了 4 个数据包
- B.本地主机成功收到了目标主机返回的 4 个数据包
- C.本地主机与目标主机连接正常
- D.该命令用于查看目标主机的 IP 地址
- 查看答案