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

2.将经销的商品分为直销商品和库存商品两大类。直销商品的保质期较短,如食品类,由供应商直接送达超市,管理员将过期的商品返还给供应商处理;库存商品由采购员向供应商提交订购单,供应商根据订购单送货。超市会不定期对库存商品按照折扣率进行打优惠。
直销商品和库存商品的送货单样表分别如图22-2、图22-3所示,其中直销商品生产批号的前六位表示生产日期。


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

4.业务处理过程:由POS机存储每一笔销售记录,在每个工作日结束前汇总当日各商品的销售量至中心数据库(销售日汇总):根据当日的销售日汇总更新存货表;每笔进货记入进货表中,并及时更新存货表。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
1.实体联系图(如图22-5所示)

2.关系模式
销售详单(销售流水号,商品编码,数量,金额,收银员,时间)
销售日汇总(日期,商品编码,数量)
存货表(商品编码,数量)
进货表(送货号码,商品编码,数量,日期)
商品({{U}} (b) {{/U}})
问答题
【问题1】
对直销商品和库存商品进行概括,给出超类和子类,填入图22-5中(a)处所示的虚线框内,并补充联系。
【正确答案】
【答案解析】见图22-6。 [试题2分析] 这是道关于数据库设计方面的试题,主要考查考生在数据库设计中的概念结构设计与逻辑结构设计方面的知识。 所谓概念结构设计,就是将需求分析得到的用户需求抽象为信息结构,它是整个数据库设计的关键。在这个过程中有个很重要的环节,就是设计E-R图。 在概念设计阶段中,数据抽象是对实际的人,物,事和概念进行人为处理,抽取所关心的共同特性。有三种抽象形式,分别是分类,聚集和概括。其中概括是定义类型之间的一种子集联系,其重要性质是继承性。也就是说子类继承了超类上定义的所有抽象。 例如学生是实体型,本科生,研究生也是实体型,本科生和研究生是学生的子集。则学生称为超类,本科生和研究生称为学生的子类。本科生和研究生继承了学生类型的属性。当然,子类可以增加自己的某些特殊属性。 概念结构设计是独立于任何一种数据模型的信息结构。而逻辑结构设计的任务是把概念结构设计阶段设计奸的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。 [问题1] 解答此类题目的关键是要能理解题目中处理的信息,以及它们之间的关系。在题目中告诉了我们,将经销的商品分为直销商品和库存商品两大类。因此在E-R图中商品是超类,而直销商品和库存商品是子类。而且在E-R图中销售详单、销售日汇总、存货表和进货表中的商品编号属性都必须能在商品表中找到。即它们与商品的关系分别是 N:I、N:I、1:1和N:I。因此,E-R图如图22-6所示。
问答题
【问题2】
根据你的实体联系图,完成(b)处的商品关系模式,并增加子类型的实体关系模式。
【正确答案】
【答案解析】商品(商品编码,商品名称,供应商,价格) 直销商品(商品编码,生产批号,消费期限) 库存商品(商品编码,折扣率) 根据问题1的分析,同时从图22-1,图22-2和图22-3可以看出,商品包括了商品编码,商品名称和价格属性。 商品(商品编码,商品名称,供应商,价格) 因为直销商品还加上生产批号,消费期限,因此,直销商品的关系模式是: 直销商品(商品编码,生产批号,消费期限) 题目中该系统对库存商品会不定期按照折扣率进行打折优惠。因此可以看出,库存商品还有价格折扣率这个字段,即可知道库存商品的关系模式是: 库存商品(商品编码,价格折扣率)
问答题
【问题3】
对所有关系模式,以下划线指出各关系模式的主键。
【正确答案】
【答案解析】销售详单({{U}}销售流水号,商品编号{{/U}},数量,金额,收银员,时间) 销售日汇总({{U}}日期,商品编码{{/U}},数量) 存货表({{U}}商品编码{{/U}},数量) 进货表({{U}}送货号码,商品编码{{/U}},数量,日期) 商品({{U}}商品编码{{/U}},商品名称,供应商,价格) 直销商品({{U}}商品编码,生产批号{{/U}},消费期限) 库存商品({{U}}商品编号{{/U}},折扣率) 这是一道关于确定关系模式中的主键的问题。此种类型的题目比较简单,只要对题意有大致的了解,就可以很容易地解答。通过图22-1可以知道,销售详单中通过销售流水号和商品编号就可以确定其他属性值了。销售日汇总表是通过从每个工作日结束前汇总当日各商品的销售量情况得来的,很显然,在销售日汇总关系中只有(日期,商品编号)才能唯一决定记录,因此(日期,商品编号)是主键。存货表记录每种商品的库存数量,它的主键是商品编号。从图22-2和图22-3可以知道,有了送货号码和商品编号就可以确定某条记录的其他信息,如:数量,日期等。
问答题
【问题4】
如果将商品信息只存储在中心数据库中,与在各POS机上存储其备份相比,从前台销售效率和更新商品库两方面论述各自的优缺点(不超过300字)。
【正确答案】
【答案解析】第一种方式:采用商品信息集中存储在中心数据库中的方式,则在销售前台的每笔计费中,都必须从中心数据库提取商品名称和单价,增加网络的负载,在业务繁忙时直接影响到前台的销售效率;同时,如果发生网络故障,则该POS机不能工作。 采用这种方式,如引入新的商品和修改商品价格,会及时体现在前台的销售业务中。因此,更新商品库时,只要更新中心数据库就够了,比较快捷。 第二种方式:采用商品信息存储在中心数据库中的方式,各POS机存储商品表的备份,POS机直接从本地读取商品信息,减少于网络的负载,可以提高交易的效率;同时即使有短时间的网络故障,也不影响该POS机的正常使用,只有当存在商品信息变更时才需要与中心数据库同步。 采用这种方式时,必须在每次商品信息变更时同步各POS机的数据。因此,前台销售访问本机数据,访问速度快,销售效率高。但是在更新商品库时,需要同时更新中心数据库和各POS机备份,速度比较低。 本题涉及数据存储分布的问题,可以通过各种性能分析来决定采用的存储分布缸略。 如果将商品信息只存储在中心数据库中,则POS收银机每处理一个业务都要从中心数据库中存取数据,这样可以保持数据的一致性,在中心计算机可以集中有效地管理,更新商品库时比较方便。但是,前台的POS收银机是通过网络来实现数据的访问的,这会影响数据的访问速度,在一定程度上给前台处理效率带来影响。 若采用在各个POS机上存储数据库的备份,这样POS机访问的是本机的数据,速度比较快,前台的销售效率高。但是,在更新商品库的同时没有保证整体数据的一致性和有效性。比如:该超市某天进了一些新的商品,放在柜台上,同时在当天有客户购买这种商品,准备在前台付款,但是前台的POS机通过条码阅读器不能检测到该商品。原因很简单,因为POS机访问的是本机上的数据,这个数据是在录入新商品之前从中心计算机的数据库备份下来的。这样就出现了超市有新来的商品但当天又不能出售的现象。另外一种情况是,如果某POS机出售了一个商品,则必须更新所有POS机的备份,否则数据也会不一致。
问答题
【问题5】
如果考虑引入积分卡,根据累积消费金额计算积分点,再根据和分点在顾客购物时进行现金返还,并修改顾客的累积消费金额和积分点。请给出新增加的积分卡关系模式,并对销售详单关系模式进行修正,指出修正后关系模式和新增关系模式的候选键和外键。
【正确答案】
【答案解析】对销售详单做如下的修改,增加积分卡号属性: 销售详单({{U}}销售流水号,商品编码{{/U}},数量,金额,收银员,时间,