案例分析题

阅读下列说明,回答下列问题,将解答填入答题纸的对应栏内。
【说明】
某海外代购公司为扩展公司业务,需要开发一个信息化管理系统。请根据公司现有业务及需求完成该系统的数据库设计。
【需求描述】
(1)记录公司员工信息。员工信息包括工号、身份证号、姓名、性别和一个手机号,工号唯一标识每位员工,员工分为代购员和配送员。
(2)记录采购的商品信息。商品信息包括商品名称、所在超市名称、采购价格、销售价格和商品介绍,系统内部用商品条码唯一标识每种商品。一种商品只在一家超市代购。
(3)记录顾客信息。顾客信息包括顾客真实姓名、身份证号(清关缴税用)、一个手机号和一个收货地址,系统自动生成唯一的顾客编号。
(4)记录托运公司信息。托运公司信息包括托运公司名称、电话和地址,系统自动生成唯一的托运公司编号。
(5)顾客登录系统之后,可以下订单购买商品。订单支付成功后,系统记录唯一的支付凭证编号,顾客需要在订单里指定运送方式:空运或海运。
(6)代购员根据顾客的订单在超市采购对应商品,一份订单所含的多个商品可能由多名代购员从不同超市采购。
(7)采购完的商品交由配送员根据顾客订单组合装箱,然后交给托运公司运送。托运公司按顾客订单核对商品名称和数量,然后按顾客的地址进行运送。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。

问答题

根据问题描述,补充图2-1的实体联系图。

【正确答案】

【答案解析】
问答题

补充逻辑结构设计结果中的(a)、(b)两处空缺。

【正确答案】

(a)运送方式、顾客编号、商品条码(b)订单ID

【答案解析】
问答题

为方便顾客,允许顾客在系统中保存多组收货地址。请根据此需求,增加“顾客地址”弱实体,对图2-1进行补充,并修改“运送”关系模式。

【正确答案】

【答案解析】

根据文字描述“(5)顾客登录系统之后„顾客需要在订单里指定运送方式: 空运或海运„”知关系模式“订单” 缺少一属性“运送方式”, 又由于将 E-R 图转换为关系模式时, E-R 图中多对多的联系“订单” 转换的关系二维表中需要将两端的实体“商品” 和“顾客” 的主键字段加入对应的二维表, 故关系模式“订单” 中还缺少“顾客编号” 和“商品条码” 两个属性, 以实现关系模式的参照完整性,故空(b)为“运送方式、 顾客编号、 商品条码”。根据文字描述“(6)代购员根据顾客的订单在超市采购对应商品, 一份订单所含的多个商品可能由多名代购员从不同超市采购。” 知 E-R 图中“订单” 与“代购员” 之间是多对多的联系, 此联系即为“代购”, 将联系“代购” 转换为关系模式时, 为了实现参照完整性,需要将两端的主键字段加入对应的关系模式, 故关系模式“代购” 中缺少订单的主键“订单ID”, 空(a)为“订单 ID”。
阅读文字描述“(7)采购完的商品交由配送员根据顾客订单组合装箱(说明一个订单的所有商品整体打包运送, 一个订单一个包一个配送员足够), 然后交给托运公司运送。 托运公司按顾客订单核对商品名称和数量(说明一个订单一个包对应一个托运公司), 然后按顾客的地址进行运送。” 可知, 运送与实体“托运公司”、 子实体“配送员”、“订单” 之间有关联关系, 配送员、 托运公司、 订单三者之间的关系为“1:1: *”, 补充后的图 2-1 请参加【问题1】 的参考答案。
为方便顾客, 允许顾客在系统中保存多组收货地址, 即属性“收货地址”变成了实体“顾客” 的多值属性, 为了避免数据冗余而带来的数据表的存储异常问题, 可新增一弱实体“顾客地址”, 其对强实体“顾客” 有存在依赖关系, 弱实体用双边框矩形表示(在 E-R 中的属性为“地址编号, 收货地址” ), 其与强实体之间的联系用双线菱形表示, 同时为了保证每个商品订单运送地址的唯一性, 需要在 E-R 图中补充联系“运送” 与“收货地址” 的连接关系。