问答题 [说明]
某超市的销售业务由一个销售业务管理系统进行管理,该系统每完成一次交易都需要提供顾客发票,其格式如表5-31所示。
问答题 (1) 设计一的关系模式“发票”最高满足第几范式?请用200字以内的文字简要说明理由。
(2) 设计一和设计二哪个更加合理?请用100字以内的文字简要说明理由。
【正确答案】(1)设计一的关系模式“发票”最高满足第一范式(1NF)
因为由题意可得出以下函数依赖。
发票号码→(顾客代码,收银员代码,交易日期)
而关系“发票”的主键是(发票号码,商品代码)。非主属性“顾客代码”、“收银员代码”和“交易日期”并非完全依赖于主码,因此该关系模式不能满足第二范式(2NF),最高满足第一范式
(2) 设计二更加合理。因为设计二解决了设计一中由于非主属性不完全依赖于主码而造成的数据冗余等问题
【答案解析】
问答题 根据设计二中的关系模式,以下SQL语句是用于“建立2010年11月期间每张发票的发票号、交易日期、交易商品件数和交易总金额的视图”的不完整语句,请填补其中的空缺。
CREATE VIEW 发票_合计 (1)
SELECT 发票.发票号码,交易日期, (2) , (3)
FROM 发票,发票明细
WHERE (4) AND
交易日期 BETWEEN '2010-11-01'AND '2010-11-30'
GROUP BY (5) ;
【正确答案】(1)AS
(2) SUM(数量)
(3) SUM(单价*数量)
(4) 发票.发票号码=发票明细.发票号码
(5)发票.发票号码,交易日期或发票明细.发票号码,交易日期
【答案解析】
问答题 根据设计二中的关系模式,以下SQL语句是用于“查询从未售出的商品信息”的不完整语句,请填补其中的空缺。
SELECT 商品代码,商品名称,价格
FROM商品 (6)
WHERE (7)
( SELECT (7)
FROM 发票明细
WHERE A. 商品代码=发票明细. 商品代码);
【正确答案】(6)A或者AS A
(7) NOT EXISTS
(8) *
【答案解析】
问答题 设计二中关系“商品”中的属性“价格”表示商品价格,关系“发票明细”中的属性“单价”也表示商品价格,这两个属性是否有必要同时存在?请用200字以内的文字简要说明理由。
【正确答案】有必要。因为属性“价格”表示的是商品的当前价格,它在不同时间段有可能是变动的;属性“单价”表示的是在开具发票时该商品的单价。若缺少其中任意一个,将导致商品单价不能进行调整,否则当商品的单价发生变化时,销售历史中的商品价格将随之发生变化
【答案解析】