2021年下半年软件设计师下午真题答案及解析

Posted Zhang Jun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年下半年软件设计师下午真题答案及解析相关的知识,希望对你有一定的参考价值。

回答问题1至问题4,将解答填入答题纸的对应栏内
【说明】
某汽车维修公司为了便于管理车辆的维修情况,拟开发一套汽车维修管理系统,请根据下述需求描述完成该系统的数据库设计。

【需求描述】
(1)客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。客户性质有个人或单位。客户号唯一标识客户关系中的每一个元组。
(2)车辆信息包括:车牌号、车型、颜色和车辆类别。一个客户至少有一辆车,一辆车只属于一个客户。
(3)员工信息包括:员工号、员工名、岗位、电话、家庭住址。其中,员工号唯一标识员工关系中的每一个元组。岗位有业务员、维修工、主管。业务员根据车辆的故障情况填写维修单。
(4)部门信息包括:部门号、名称、主管和电话,其中部门号唯一确定部门关系的每一个元组。每个部门只有一名主管,但每个部门有多名员工,每名员工只属于一个部门。
(5)维修单信息包括:维修单号、车牌号、维修内容、工时。维修单号唯一标识维修单关系中的每一个元组。一个维修工可接多张维修单,但一张维修单只对应一个维修工。
【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示

【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
客户(客户号,客户名,(a),折扣率,联系人,联系电话)
车辆(车牌号,(b),车型,颜色,车辆类别)
员工(员工号,员工名,岗位,©,电话,家庭住址)
部门(部门号,名称,主管,电话)
维修单(维修单号,(d),维修内容,工时)

【问题1】(6分)
根据问题描述,补充3个联系,完善图2-1的实体联系图。联系名可用联系1、联系2和联系3代替,联系的类型为1:1、1:n和m:n(或1:1、1:.*)。
【问题2】(4分)
根据题意,将关系模式中的空(a)~(d)的属性补充完整,并填入答题纸对应的位置上。
【问题3】(2分)
分别给出车辆关系和维修单关系的主键与外键。
【问题4】(3分)
如果一张维修单涉及多项维修内容,需要多个维修工来处理,那么哪个联系类型会发生何种变化?你认为应该如何解决这一问题?

参考答案:
【问题1】(6分)
联系1:客户和车辆:1:n
联系2:部门和员工:1:n
联系3:维修工和维修单:1:n
【问题2】(4分)
a:客户性质 b:客户号 c:部门号 d:车牌号,员工号
【问题3】(2分)
车辆关系的主键:车牌号 外键:客户号
维修单关系的主键:维修单号 外键:车牌号,员工号
【问题4】(3分)
维修工和维修单之间的联系类型会发生变化,从1:n变成m:n。
对应的需要增加维修关系,m:n关系不能归并,需要将其单独加入一个联系中,将维修单的属性员工号(维修工)删掉,新建一个关系模式维修。
维修(员工号(维修工),维修单号,维修地点,维修时间)

答案解析:
问题1:补充实体联系图,根据题干描述,进行补充。
根据题干描述:“一个客户至少有一辆车,一辆车只属于一个客户”,可知客户与车辆的联系为客户和车辆:1:n;根据“但每个部门有多名员工,每名员工只属于一个部门。”得知部门与员工的联系为部门和员工:1:n;根据“一个维修工可接多张维修单,但一张维修单只对应一个维修工。”维修工与维修单的联系为维修工和维修单:1:n。
问题2:补充相关关系的属性。结合E-R转换为关系模式的三种原则和题干补充关系属性。
a空,根据题干描述“客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。”,可知缺失属性客户性质,由于其与车辆为1:n,没有相对应的归并过程,应该将1端的主键客户号加入到车辆关系中。所以a空填写客户性质;
b空,根据题干描述“车辆信息包括:车牌号、车型、颜色和车辆类别”,与关系模式对比,没有缺少,缺失的应该是上方提到的将1端的主键客户号加入到车辆关系中,所以b空应该填写车辆号;
c空,根据题干描述“员工信息包括:员工号、员工名、岗位、电话、家庭住址。”与关系模式相比,没有缺失,根据第一问得知,存在部门与员工的1:n关系,应该将部门的主键部门号归并到员工信息中,故c空应该填写部门号;
d空,根据题干描述“维修单信息包括:维修单号、车牌号、维修内容、工时。”对比发现缺失车牌号属性,其次在问题1中提到维修工和维修单存在1:n的联系,应该将维修工的主键归并到维修单信息中,可以填写维修工,员工号,或维修员工号都可以。d空填写车牌号,员工号。
问题3:找出对应的主外键,结合E-R转换为关系模式的三种原则和题干给出的信息找出主、外键。
对于车辆关系而言,主键应该应该为多端车牌号,车牌号唯一标识主键。外键为归并过来的客户主键客户号。
对于维修单关系而言,主键应该为唯一标识的维修单号,外键为归并过来的车牌号和员工号。
问题4:如果一张维修单涉及多项维修内容,需要多个维修工来处理,应该将前面维修单与维修工的比值1:n变成m:n,对应的需要增加维修关系,m:n关系不能归并,需要将其单独加入一个联系中,将维修单的属性员工号(维修工)删掉,新建一个关系模式维修。
维修(员工号(维修工),维修单号,维修地点,维修时间)

以上是关于2021年下半年软件设计师下午真题答案及解析的主要内容,如果未能解决你的问题,请参考以下文章

2021年上半年软件设计师下午真题及答案解析

2021年下半年软件设计师下午真题答案及解析

2021年下半年软件设计师下午真题答案及解析

2021年下半年软件设计师下午真题答案及解析

2021年下半年软件设计师下午真题答案及解析

2021年下半年软件设计师下午真题答案及解析