阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。 [说明] M公司为某宾馆设计宾馆机票预订系统,初步的需求分析结果如下: (1)客户可以在提前预订或直接入住时向宾馆提供相关信息,宾馆登记的客户信息.包括:客户编号,姓名,性别,类型,身份

admin2010-04-08  36

问题 阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。
[说明]
   M公司为某宾馆设计宾馆机票预订系统,初步的需求分析结果如下:
   (1)客户可以在提前预订或直接入住时向宾馆提供相关信息,宾馆登记的客户信息.包括:客户编号,姓名,性别,类型,身份证号,联系方式,预订日期,入住时间和离开时间等信息。其中类型字段说明客户是普通客户或VIP客户,不同的客户类型享受订票的折扣额度不同。直接入住的客户其预订日期取空值。
   (2)需要预订机票的客户应填写“机票预订”表,提供飞行日期、航班号、出发时间、目的地等信息。宾馆根据客户订票信息购票后,生成“客户订单”表,并根据客户类型确定相应的折扣额度。“机票预订”和“客户订单”表如下表1、表2所示。
   
  [逻辑结构设计]
   根据需求阶段收集的信息,设计的关系模式如下图所示。
   
   关系模式的主要属性、含义及约束如下表3所示。
   

选项

答案(1)不能,因为预订日期是主属性,直接入住客户的预订日期应该取空值,这违反实体完整性约束,记录无法插入到客户表。 (2)“客户”关系属于2NF,存在数据冗余等问题。若某一客户有多次预订及入住信息,则其姓名等信息将重复多次。 (3)“客户”分解为第三范式如下所示: [*]

解析 (1)若选定(客户编号,预订日期)作为主码,未预订而直接入住的客户信息是不能记入客户表的。因为预订日期是主属性,直接入住客户的预订日期应该取空值,这违反实体完整性约束,所以对于直接入住的客户信息记录是无法插入到客户表中。
   (2)对“客户”关系增加一个流水号属性作为主码,“客户”关系属于第二范式,存在数据冗余等问题。如表4所示。
  
   从表4所示的例子可以看出,A10001客户有3次预订信息,则其姓名、性别、身份证号、联系方式和类型信息将重复3次。
   (3)将增加入住标识属性后的“客户”关系分解为第三范式如下所示:
   
   从表5和表6可以看出,将“客户”关系分解为第三范式后能消除信息冗余及插入删除的不一致性。
转载请注明原文地址:https://jikaoti.com/ti/6PN7FFFM
0

相关试题推荐
最新回复(0)