閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
M公司為某賓館設(shè)計賓館機票預(yù)訂系統(tǒng),初步的需求分析結(jié)果如下:
(1)客戶可以在提前預(yù)訂或直接入住時向賓館提供相關(guān)信息, 賓館登記的客戶信息包括:客戶編號,姓名,性別,類型,身份證號,聯(lián)系方式,預(yù)訂日期,入住時間和離開時間等信息。其中類型字段說明客戶是普通客戶或 VIP 客戶,不同的客戶類型享受訂票的折扣額度不同。直接入住的客戶其預(yù)訂日期取空值。
(2)需要預(yù)訂機票的客戶應(yīng)填寫“機票預(yù)訂”表,提供飛行日期、航班號、出發(fā)時間、目的地等信息。賓館根據(jù)客戶訂票信息購票后,生成“客戶訂單”表,并根據(jù)客戶類型確定相應(yīng)的折扣額度?!皺C票預(yù)訂”和“客戶訂單”表如表1-1、1-2所示。
【邏輯結(jié)構(gòu)設(shè)計】
根據(jù)需求階段收集的信息,設(shè)計的關(guān)系模式如圖1-1所示。
關(guān)系模式的主要屬性、含義及約束如表1-3所示。
【問題1】(6分)
對關(guān)系“客戶”,請回答以下的問題:
(1)若選定(客戶編號, 預(yù)訂日期)作主碼,未預(yù)訂而直接入住的客戶信息能否錄入客戶表?如不能,請說明原因。
(2)對“客戶”關(guān)系增加一個流水號屬性作為主碼,“客戶”關(guān)系屬于第幾范式?還存在哪些問題?
(3)將增加入住標(biāo)識屬性后的“客戶”關(guān)系分解為第三范式,分解后的關(guān)系名依次取客戶1、客戶2、…。
【問題2】(6分)
對關(guān)系“航班”,請回答以下問題:
(1)列舉出“航班”關(guān)系中所有不屬于任何候選碼的屬性(非碼屬性)。
(2)該關(guān)系模式可達到第幾范式?用不超過60個字的內(nèi)容敘述理由。
【問題3】(3 分)
對于沒有預(yù)訂客房或入住賓館的客戶,需要在(a)關(guān)系中修改其(b)屬性的值域,以滿足這類客戶在賓館預(yù)訂機票的需求。