问题 问答题 案例分析题

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

说明:某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。

(1)对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色、车辆类别等信息。一个客户至少有一台车。客户及车辆信息如题表2-1所示。

(2)记录维修车辆的故障信息。包括:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书,如题表2-2所示。

(3)维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如题表2-3所示。

(4)客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。根据需求阶段收集的信息,设计的实体联系图(见题图2-1)和关系模式(不完整)如下所示。题图2-1中业务员和维修工是员工的子实体。

概念结构设计:

逻辑结构设计:

客户((5),折扣率,联系人,联系电话)车辆(车牌号,客户编号,车型,颜色,车辆类别)委托书((6),维修类型,作业分类,结算方式,进厂时间,预计完工时间,登记日期,故障描述,总费用)维修项目(维修项目编号,维修项目,单价)派工单((7),工时)员工((8),工种,员工类型,级别)

问题1:根据问题描述,填写题图2-1中(1)~(4)处联系的类型。联系类型分为一对一、一对多和多对多三种,分别使用1:1、1:n或1:*、m:n或*:*表示。 问题2:补充题图2-1中的联系并指明其联系类型。联系名可为:联系1,联系2,……。 问题3:根据题图2-1和说明,将逻辑结构设计阶段生成的关系模式中的空(5)~(8)补充完整。 问题4:根据问题描述,写出客户、委托书和派工单这三个关系的主键。

答案

参考答案:

问题1:(1)n或m或*(2)1(3)n或m或*(4)n或m或*

问题2:完整的实体联系图如下图所示。

问题3:(5)客户编号,客户名称,客户性质(6)委托书编号,客户编号,车牌号,业务员编号或委托书编号,车牌号,业务员编号(7)委托书编号,维修工编号,维修项目编号(8)员工编号,员工姓名

问题4:客户主键:客户编号委托书主键:委托书编号派工单主键:委托书编号,维修项目编号,维修工编号

解析:

本题考查数据库设计,设计考点有:数据库的概念结构设计和逻辑结构设计。

问题1:由维修委托书的故障描述、维修类型、作业分类可知,一台车可能有多个故障,对应多个维修委托书,所以空(1)处为*;由题目中"维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单",很明显,一份委托书包含了一个或多个维修项目,而每个维修项目可以由多个维修工来完成,每一个维修工又可以完成多个维修项目,所以空(2)处为1,空(3)处和空(4)均为*。

问题2:需要补充车辆和客户之间以及委托书和业务员之间的联系。由"一个客户至少有一台车"可知,客户和车辆之间是"拥有"联系,且是一对多的联系;由"业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书"可知,业务员与委托书之间是"委托"联系,且一名业务员可以受理多份委托书,而一份委托书由一名业务员来生成。

问题3:本问题又是补充逻辑结构设计题,几乎每年都考,这类题目只要仔细看需求分析结果或者仔细观察题目中已知的表,很容易就能做出,关键是需要细心,不要漏掉什么属性。根据客户及车辆信息表可知,客户关系应包括客户编号、客户名称、客户性质、折扣率、联系人等属性,主键显然为客户编号;而车辆关系应包括车牌号、客户编号、车型、颜色、车辆类别等属性,主键为车牌号。根据维修委托书表可知,委托书关系应包括委托书编号、车牌号、客户编号、业务员编号、维修类型等属性,其主键为委托书编号。根据维修派工单可知,派工单关系应包括委托书编号、维修项目编号、维修工编号、工时等属性,主键是委托书编号、维修项目编号和维修工编号。根据实体联系图可知,员工包括业务员和维修工,他们共有的属性是员工编号、员工姓名、工种、员工类型、级别等,主键为员工编号。

问题4:参考问题3的分析。

单项选择题
判断题