问答题
阅读以下某仓储超市进、销、存数据库管理系统的设计说明,根据要求回答问题1~问题5。
[说明]
某仓储超市采用POS(Point Of Sale)收银机负责前台的销售收款,为及时掌握销售信息,并依此指导进货,拟建立商品进、销、存数据库管理系统。该系统的需求分析已经基本完成,紧接着将进入概念模型的设计。
[需求分析结果]
1.销售业务由POS收银机来辅助实现。POS机外接条码阅读器,结账时收银员将商品的条码通过阅读器输入POS机中。所售商品数量默认值为1,可以由收银员修改。POS机根据输入的商品信息,打印出如图4-11所示的购物清单。

{{B}}欢迎光临XX超市{{/B}}

{{B}}销售流水号:20070910003900101{{/B}}

{{B}}商品编码{{/B}}
{{B}}商品名称{{/B}}
{{B}}数量{{/B}}
{{B}}金额{{/B}}
290801019
永春老醋
1
2.90
290803053
鸡蛋面
1
1.60
290807086
闽清酸菜
3
1.80
实收:6.30    预收:10.00    找零:3.70
收银员:02069                时间:2007-09-10 12:15
  2.将经销的商品分为直销商品和库存商品两大类。直销商品的保质期较短,如食品类,由供应商直接送达超市,管理员将过期的商品返还给供应商处理;库存商品由采购员向供应商提交订购单,供应商根据订购单送货。超市会不定期对库存商品按照折扣率进行打折优惠。
  直销商品和库存商品送货单的样单分别如图4-12和图4-13所示,其中直销商品生产批号的前6位表示生产日期。
{{B}}好再来企业商品送货单{{/B}}
{{B}}经销商{{/B}}
{{B}}XX超市{{/B}}
{{B}}送货号码{{/B}}
{{B}}ZN20070910018{{/B}}
{{B}}日期{{/B}}
{{B}}2007-09-10{{/B}}
{{B}}NO{{/B}}
{{B}}商品编号{{/B}}
{{B}}商品名称{{/B}}
{{B}}数量{{/B}}
{{B}}生产批号{{/B}}
{{B}}消费期限{{/B}}
01
290106051
即食蛋糕
5
20070910020
2007-09-11
02
290102035
花生肉粽
25
20070910108
2007-09-11
03
290108076
甜玉米
15
20070910023
2007-09-11

图4-12 直销商品送货单样单

{{B}}吉祥公司商品送货单{{/B}}
{{B}}经销商{{/B}}
{{B}}XX超市{{/B}}
{{B}}送货号码{{/B}}
{{B}}ZN0070910018{{/B}}
{{B}}日期{{/B}}
{{B}}2007-09-10{{/B}}
{{B}}商品编码{{/B}}
{{B}}商品名称{{/B}}
{{B}}数量{{/B}}
290500516
圆珠笔
500
290500325
铅笔
350

3.超市的硬件系统拓扑结构如图4-14所示。

4.业务处理过程。
由POS机存储每一笔销售记录,在每个工作日结束前汇总当日各商品的销售量至中心数据库(销售日汇总);根据当日的销售日汇总更新存货表;每笔进货记入进货表中,并及时更新存货表。
[概念模型设计]
根据需求阶段收集的信息,设计的实体—联系图和关系模式(不完整)如图4-15所示。
1.实体联系图
问答题
[问题1]
请将图4-15中各实体之间的联系补充完整。
【正确答案】
【答案解析】[问题1] 这是一道要求读者掌握数据库设计中的概念结构设计的分析题。本试题的解答思路如下。 ①在概念设计阶段中,数据抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性。有3种抽象:分类、聚集和概括。其中,概括是定义类型之间的一种子集联系,其重要性质是继承性。也就是说子类继承了超类上定义的所有抽象。 ②通常,建立概念模型采用E-R图来表示。本试题己给出部分实体一联系图,如图4-15所示,要求读者对题目论述和给定的实体一联系进行分析,补充各实体之间的联系。在图4-15中,对直销商品和库存商品进行概括,给出了“商品”这一超类。“商品”与“直销商品”、“库存商品”之间的联系如图4-22所示。
问答题
[问题2]
根据问题1所完成的实体—联系图,完成(1)空缺处的商品关系模式,以及新增加子类型的实体关系模式。
【正确答案】
【答案解析】[问题2] 这是一道要求读者掌握数据库设计中的逻辑结构设计的分析题。本试题的解答思路如下。 ①概念设计是独立于任何一种数据模型的信息结构。而逻辑结构设计的任务是把概念结构设计阶段设计好的基本E-R图转换为所选用数据库管理系统(DBMS)产品所支持的数据模型相符合的逻辑结构。 ②E-R图向关系模型的转换要解决的问题是如何将实体和实体的联系转换为关系模式,如何确定这些关系模式的属性和编码。通常,从E-R图向关系模型的转换所遵循的转换原则是:①一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字;②一个联系转换为一个关系模式,与该联系相连的各实体的码以及联系的属性转换为该关系的属性。该关系的码有以下3种情况:一个1:1的联系转换为一个关系,相连实体的关键字都是关系的候选关键字;一个1:n的联系转换为一个关系,多方实体的关键字是关系的关键字;一个n:m的联系转换为一个关系,相连实体的关键字的组合组成关系的关键字(复合关键字)。 ③根据问题1所完成的E-R图,以及题干中给定的对直销商品和库存商品的描述——“直销商品……由供应商直接送达超市,……库存商品由采购员向供应商提交订购单,供应商根据订购单送货。超市会不定期对库存商品按照折扣率进行打折优惠”中抽象出“送货表”、“销售清单”和“打折处理”等信息,分析各实体应具有的属性。 ④根据题干中给出的直销商品和库存商品送货单的样单(见图4-12和图4-13)可知,商品包括了商品编码、商品名称及价格属性,因此可得出“商品”的关系模式如下: 商品(商品编号,商品名称,供应商,单价)。 ⑤由于直销商品有保质期长短等问题,根据题意有“生产批号”、“消费期限”等属性,因此直销商品的关系模式如下: 直销商品《商品编号,生产批号,消费期限)。 ⑥因为库存商品会不定期按照折扣率进行打折优惠,由此可以看出库存商品还有“价格折扣率”等属性,所以库存商品的关系模式如下: 库存商品(商品编号,折扣率)。
问答题
[问题3]
结合[问题2]所完成的实体—联系模式,以“存货表({{U}}商品编码{{/U}},数量)”为例,用下画线指出其他各关系模式的主键。(“关系模式标记规则”见本题[附]部分)
【正确答案】
【答案解析】[问题3]
这是一道要求读者根据题目给定的关系模式和问题2补充的关系模式,根据属性间的函数依赖关系和给定的关系实例(各种样单)来确定各关系模式主键的综合分析题。本试题所涉及的知识点如下。
①关系数据库设计理论的核心是数据间的函数依赖,衡量的标准是关系规范化的程度及分解的无损连接和保持函数依赖性。关系数据库设计的目标是生成一组合适的、性能良好的关系模式,以减少系统中信息存储的冗余度,但又可方便地获取信息。数据库设计理论包括函数依赖,范式和关系模式规范化3方面的内容。其中函数依赖是该理论的核心。
②函数依赖定义:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不相等,则称X函数确定 Y或者Y函数依赖于X,记做:X→Y。
③平凡函数依赖:如果X→Y,但YX,则称X→Y是平凡的函数依赖。
④非平凡函数依赖:如果X→Y,但YX,则称X→Y是非平凡函数依赖。通常情况下总是讨论非平凡函数依赖。
⑤完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X′,都有X′不能决定Y,则称Y对X完全函数依赖,记做:Xr→Y。
⑥部分函数依赖:如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记做: pX→Y。部分函数依赖也称局部函数依赖。
⑦传递依赖:在R(U,F)中,如果X→Y,YX,Y→Z,Y不完全函数依赖于X,则称Z对X传递依赖。
⑧候选码:设K为R(U,F)中的属性的组合,若,且对于K的任何一个真子集K′,都有K′不能决定U,则K为R的候选码(候选关键字),若有多个候选码,则选一个作为主码(主键)。
⑨主属性和非主属性:包含在任何一个候选码中的属性称为主属性,反之称为非主属性。
⑩第一范式(1NF):若关系模式R的每一个分量是不可分的数据项,则R∈1NF。
2NF:若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。换言之,当1NF消除了非主属性对码的部分函数依赖,则称为2NF。
3NF:若R∈2NFR∈2NF,且每一个非主属性既不部分依赖于码,也不传递依赖于码,则及R∈3NF。换言之,当2NF消除了非主属性对码的部分函数传递,则称为3NF。
BCNF:关系模式R∈1NF,若X→Y且YX时,X必含码,则R∈BCNF。换言之,当3NF消除了主属性对码的部分和传递函数依赖,则称为BCNF。
4NF:关系模式R∈1NF,若对于R的每个非平凡多值依赖X→Y且Y
问答题
[问题4]
如果将商品信息只存储在中心数据库中,与在各POS机上存储其备份相比,从前台销售效率和更新商品库两方面论述各自的优缺点(不超过300字)。
【正确答案】
【答案解析】[问题4] 这是一道要求读者结合数据存储与实际应用,在设计中如何考虑可能出现的各种因素,采取合理的处理方式的分析题。本试题的解答思路如下。 如果采用将商品信息集中存储在中心数据库中的方案,则在销售前台的每笔计费中,都必须从中心数据库提取商品名称和单价,从而增加了局域网的负载。在业务繁忙时,可能直接影响到前台的销售效率;同时,如果发生网络故障,则该POS机不能工作。但是采用这种处理方式,对商品库的更新,例如,引入新的商品和修改商品价格,则会及时体现在前台的销售业务中。 如果采用商品信息存储在中心数据库中,各POS机存储商品表的备份这一方案,则POS机直接从本地读取商品信息,减少了网络的负载,可以提高交易的效率。同时,即使有短时间的网络故障,也不影响该POS机的正常使用。当存在商品信息变更时,才需要与中心数据库同步。可见采用这种处理方式,必须在每次商品信息变更时同步各POS机的数据。
问答题
[问题5]
该超市考虑引入积分卡制度,根据累积消费金额计算积分点,再根据积分点在顾客购物时进行现金返还,并修改顾客的累积消费金额和积分点。请给出新增加的积分卡关系模式,并对销售详单关系模式进行修正,指出修正后关系模式和新增关系模式的候选键(用实下画线表示)和外键(用虚下画线表示)。
[附]
关系模式的标记规则如下:
关系名(属性名1,属性名2,…,属性名n)
其中:
①若该属性仅为主键属性时,则该属性名下画实下画线;
②若该属性仅为外键属性时,则该属性名下画虚下画线;
③若该属性既是主键属性,又是外键属性时,则在该属性名下画实下画线和虚下画线;
④若该属性既不是主键属性,又不是外键属性时,则在该属性名下不做标记。
【正确答案】
【答案解析】[问题5] 这是一道要求读者对现有关系模式改进和针对新应用进行相应扩充的综合分析题。本试题的解答思路如下。 如果考虑引入积分卡,根据累积消费金额计算积分点,再根据积分点在顾客购物时进行现金返还,并修改顾客的累积消费金额和积分点,则需要在销售详单属性中,增加“积分卡号”这一外键属性。 另外,还需新增一个“积分卡”关系模式,即:积分卡({{U}}积分卡号{{/U}},累积消费金额,积分点)。