问答题


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

表2 “客户订单”示例
客户编号 飞行日期 航 班 名 机票订单号 折扣额度
A10001 2009.5.1 AZ100 90001 0.8
A10001 2009.5.3 AC400 90001 0.8
A10001 2009.5.5 KC560 90001 0.8
A10001 2009.8.6 AZ100 90001 0.8
A10002 2009.5.1 AZ100 90002 0.9
A10002 2009.5.3 AC400 90002 0.9
B10001 2009.5.5 BC600 90003 0.9
B10002 2009.5.5 BC600 90004 0.85
B10001 2009.8.9 AZ320 91206 0.9
B10002 2009.9.5 KC560 91207 0.85
[逻辑结构设计]
根据需求阶段收集的信息,设计的关系模式如下图所示。
关系模式的主要属性、含义及约束如下表3所示。

[问题1]
对关系“客户”,请回答以下的问题:
(1)若选定(客户编号,预订日期)作为主码,未预订而直接入住的客户信息能否录入客户表如不能,请说明原因。
(2)对“客户”关系增加一个流水号属性作为主码,“客户”关系属于第几范式还存在哪些问题
(3)将增加入住标识属性后的“客户”关系分解为第三范式,分解后的关系名依次取客户1、客户2、…。

【参考答案】

(1)不能,因为预订日期是主属性,直接入住客户的预订日期应该取空值,这违反实体完整性约束,记录无法插入到客户表。
......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)