【软件设计师真题】下午题第二大题---数据库设计

系列文章目录

1.【软考之软件设计师】PPT课件
2.【软考之软件设计师】学习笔记
3.【软考之软件设计师】上午题—信管网(每天更新)
4.【软考之软件设计师】上午题—希赛网(每天更新)
5.【软件设计师真题】下午题第一大题—数据流图设计
6.【软件设计师真题】下午题第二大题—数据库设计
7.【软件设计师真题】下午题第三大题—UML 分析与设计
8.【软件设计师真题】下午题第四大题—算法设计
9.【软件设计师真题】下午题第五大题—面向对象程序设计


数据库设计的考点和上午考题的考点重叠,只是考查方式不同。常考的考点有数据模型、主键和超键、E-R 模型转换为关系模型、SOL,语句等。

一、真题一

1、题目

某销售公司当前的销售业务为商城实体店销售。现该公司拟开展网络销售业务,需要开发一个信息化管理系统。请根据公司现有业务及需求完成该系统的数据库设计。

【需求描述】
(1)记录公司所有员工的信息。员工信息包括工号、身份证号、姓名、性别、出生日期和电话,并只登记一部电话。

(2)记录所有商品的信息。商品信息包括商品名称、生产厂家、销售价格和商品介绍。
系统内部用商品条码唯一区别每种商品。

(3)记录所有顾客的信息。顾客信息包括顾客姓名、身份证号、登录名、登录密码和电话号码。一位顾客只能提供一个电话号码。系统自动生成唯一的顾客编号。

(4)顾客登录系统之后,在网上商城购买商品。顾客可将选购的商品置入虚拟的购物车内,购物车可长期存放顾客选购的所有商品。顾客可在购物车内选择商品、修改商品数量后生成网购订单。订单生成后,由顾客选择系统提供的备选第三方支付平台进行电子支付,支付成功后系统需要记录唯一的支付凭证编号,然后由商城根据订单进行线下配送。

(5)所有的配送商品均由仓库统一出库。为方便顾客,允许每位顾客在系统中提供多组收货地址、收货人及联系电话。一份订单所含的多个商品可能由多名分拣员根据商品所在仓库信息从仓库中进行分拣操作,分拣后的商品交由配送员根据配送单上的收货地址进行配送。

(6)新设计的系统要求记录实体店的每笔销售信息,包括营业员、顾客、所售商品及其数量。

【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示。
在这里插入图片描述
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
员工(工号,身份证号,姓名,性别,出生日期,电话);
商品(商品条码,商品名称,生产厂家,销售价格,商品介绍,(a));
顾客(顾客编号,姓名,身份证号,登录名,登录密码,电话);
收货地点(收货 ID,顾客编号,收货地址,收货人,联系电话);
购物车(顾客编号,商品条码,商品数量);
订单(订单 D,顾客编号,商品条码,商品数量,(b));
分拣(分拣 ID,分拣员工号,©,分拣时间);
配送(配送 DD,分拣 ID,配送员工号,收货 ID,配送时间,签收时间,签收快照);销售(销售 DD,营业员工号,顾客编号,商品条码,商品数量)。

【问题 1】(4 分)
补充图 2-1 中的“配送”联系所关联的对象及联系类型。
在这里插入图片描述
【问题 2】(6 分)
补充逻辑结构设计中的(a)、(b)和©三处空缺。
在这里插入图片描述
【问题3】(5 分)
对于实体店销售,:若要增加送货上门服务,由营业员在系统中下订单,与网购的订单进行后续的统一管理。请根据该需求,对图2-1进行补充,并修改订单关系模式。
在这里插入图片描述

2、解析

本题考查数据库系统中实体联系模型和关系模式设计方面的应用知识,属于比较传统的题目,考查点和往年类似。

【问题 1】
本题考查数据库的概念结构设计,两个实体集间的联系分为三类:一对一(1∶1)、一对多(1∶n)和多对多(im:n)。
根据题意,一名配送员可以配送到多个地点,一个地点也可有多名配送员配送,所以配送员与地点之间是多对多的关系。

【问题2】
本题考查数据库的逻辑结构设计,题目要求补充完整各关系模式。根据需求描述,商品关系模式除了应包括商品名称、生产厂家、销售价格和用于区别商品的唯一商品条码,还应有数量说明,另外,所有商品配送均由仓库统一出库,所以应有商品的仓库信息,即(a处应填商品数量和仓库信息:根据需求描述(4)可知,订单关系模式还缺少支付凭证编号(b)处应填入支付凭证编号;在分拣关系模式中除了包含分拣 ID、分拣员工号、分拣时间还应该有分拣的是哪种商品及该商品的订单信息,所以©处应填商品条码、订单 ID。

【问题 3】
对于实体店销售,若要增加送货上门服务,可参照顾客关系模式,增加营业员关系模式,在订单关系模式中增加“营业员 ID”属性,并设为外键,实现与营业员关系模式联系。

3、答案

【问题 1】
配送员-配送-地点,多对多联系。

【问题 2】
(a)商品数量,仓库信息;
(b)支付凭证编号;
©商品条码,订单 ID.

【问题 3】
在营业员与订单之间增加联系“送货上门”,并将联系记录于订单关系中,即在订单关系中增加属性“营业员 D”作为外键。

二、真题二

1、题目

某企业拟构建一个高效、低成本、符合企业实际发展需要的办公自动化系统。工程师小李主要承担该系统的公告管理和消息管理模块的研发工作。公告管理模块的主要功能包括添加、修改、删除和査看公告。消息管理模块的主要功能是消息群发。

小李根据前期调研和需求分析进行了概念模型设计,具体情况分述如下。

【需求分析结果】
(1)该企业设有研发部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每名员工只属于一个部门,部门信息包括:部门号、名称、部门经理和电话,其中部门号唯一确定部门关系的每一个元组。

(2)员工信息包括:员工号、姓名、岗位、电话和密码。员工号唯一确定员工关系的每一个元组:岗位主要有经理、部门经理、管理员等,不同岗位具有不同的权限。一名员工只对应一个岗位,但一个岗位可对应多名员工。

(3)消息信息包括:编号、内容、消息类型、接收人、接收时间、发送时间和发送人。其中(编号,接收人)唯一标识消息关系中的每一个元组。一条消息可以发送给多个接收人,一个接收人可以接收多条消息。

(4)公告信息包括:编号、标题、名称、内容、发布部门、发布时间。其中编号唯一确定公告关系的每一个元组。一份公告对应一个发布部门,但一个部门可以发布多份公告;一份公告可以被多名员工阅读,一名员工可以阅读多份公告。

【概念模型设计】
根据需求分析阶段收集的信息,设计的实体联系图(不完整)如图 2-2 所示。

在这里插入图片描述
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):

部门((a),部门经理,电话);
员工(员工号,姓名,岗位号,部门号,电话,密码);
岗位(岗位号,名称,权限);
消息((b),消息类型,接收时间,发送时间,发送人);
公告(©,名称,内容,发布部门,发布时间);
阅读公告((d),阅读时间)。

【问题 1】(5 分)
根据问题描述,补充四个联系,完善图 2-2所示的实体联系图。联系名可用联系1、联系 2、联系3和联系4代替,联系的类型分为1:1、1:n和m:n(或1:1、1:* 和 * : *)。
在这里插入图片描述
【问题 2】(8 分)
(1)根据实体联系图,将关系模式中的空(a)~(d)补充完整,
(2)给出“消息”和“阅读公告”关系模式的主键与外键。
在这里插入图片描述
【问题3】(2 分)
消息和公告关系中都有“编号”属性,请问它是属于命名冲突吗?用 100字以内文字说明原因。
在这里插入图片描述

2、解析

【问题 1】
每个部门有多名员工,每名员工只属于一个部门,所以部门和员工之间是一对多的关系。一份公告可以被多名员工阅读,一名员工可以阅读多份公告,可见公告和员工之间是多对多的关系。一份公告对应一个发布部门,但一个部门可以发布多份公告,所以部门和公告之间是一对多的关系。一名员工只对应一个岗位,但一个岗位可对应多名员工,所以岗位和员工之间是一对多的关系。一条消息可以发送给多个接收人,一个接收人可以接收多条消息,所以员工和消息之间是多对多的关系。

【问题2】
部门信息包括:部门号、名称、部门经理和电话,部门关系模式应有部门号、名称、部门经理和电话 4 个属性,部门号是主码;消息信息包括:编号、内容、接收人、消息类型、接收时间、发送时间和发送人,消息关系模式应有编号、内容、接收人、消息类型、接收时间、发送时间和发送人7个属性,(编号,接收人)是主码:公告信息包括:编号、标题、名称、内容、发布部门、发布时间,公告关系模式应有编号、标题、名称、内容、发布部门、发布时间 6 个属性;一份公告可以被多名员工阅读,公告编号唯一确定公告关系的每一个元组,所以阅读公告关系模式应由员工号、公告编号、阅读时间组成,(员工号,公告编号)是主码。

【问题 3】
略。

3、答案

【问题1】
完善的实体联系图如图 2-3 所示
在这里插入图片描述

【问题 2】
(a )部门号,名称;
(b )编号,内容,接收人;
(c )编号,标题;
(d )员工号,公告编号。
消息的主键:(编号,接收人);外键:接收人,发送人。
阅读公告的主键:(员工号,公告编号);外键:员工号,公告编号。

【问题 3】
不属于命名冲突
命名冲突是在合并 ER 模型时提出的概念,合并 ER 模型时之所以产生冲突,是因为对于同样的对象,不同的局部 E-R 模型有着不同的定义,在本题中,本就是不同对象的属性,所以不存在冲突的说法。

三、真题三

1、题目

某省针对每年举行的足球联赛,拟开发一套信息管理系统,以方便管理球队、球员、主教练、主裁判、比赛等信息。

【需求分析】
(1)系统需要维护球队、球员、主教练、主裁判、比赛等信息。
球队信息主要包括:球队编号、名称、成立时间、人数、主场地址、球队主教练。
球员信息主要包括:姓名、身份证号、出生日期、身高、家庭住址。
主教练信息主要包括:姓名、身份证号、出生日期、资格证书号、级别。
主裁判信息主要包括:姓名、身份证号、出生日期、资格证书号、获取证书时间、级别。

(2)每支球队有一名主教练和若干名球员。一名主教练只能受聘于一支球队,一名球员只能效力于一支球队。每支球队都有自己的唯一主场场地,且场地不能共用。

(3)足球联赛采用主客场循环制,一周进行一轮比赛,一轮的所有比赛同时进行。

(4)一场比赛有两支球队参加,一支球队作为主队身份、另一支作为客队身份参与比赛·场比赛只能有一名主裁判,每场比赛有唯一的比赛编码,每场比赛都记录比分和日期。

【概念结构设计】
根据需求分析阶段的信息,设计的实体联系图(不完整)如图 2-4 所示。
在这里插入图片描述

【逻辑结构设计】
根据概念结构设计阶段完成的实体联系图,得出如下关系式(不完整):
球队(球队编号,名称,成立时间,人数,主场地址);
球员(姓名,身份证号,出生日期,身高,家庭住址,(1));
主教练(姓名,身份证号,出生日期,资格证书号,级别,(2));
主裁判(姓名,身份证号,出生日期,资格证书号,获取证书时间,级别);
比赛(比赛编码,主队编号,客队编号,主裁判身份证号,比分,日期)。

【问题 1】(6 分)
补充图 2-4 中的联系和联系的类型。
图 2-4 中的联系“比赛”应具有的属性是哪些?
在这里插入图片描述
【问题 2】(4 分)
根据图 2-4,将逻辑结构设计阶段生成的关系模式中的空(1)、(2)补充完整。
在这里插入图片描述
【问题 3】(5 分)
现在系统要增加赞助商信息,赞助商信息主要包括赞助商名称和赞助商编号。赞助商可以赞助某支球队,一支球队只能有一个赞助商,但赞助商可以赞助多支球队。赞助商也可以单独赞助某些球员,一名球员可以为多个赞助商代言。请根据该要求,对图 2-4 进行修改,画出修改后的实体间联系和联系的类型。
在这里插入图片描述

2、解析

本题考查数据库设计,涉及的考点有数据库概念结构设计和逻辑结构设计。
【问题 1】
联系的类型分为 1∶1、1∶n 和 m:n(或 1∶1、1∶* 和 * : * ),该题中球队与主裁判只有通过比赛联系在一起,联系类型为* : * ,根据题目需求分析可知,每场比赛有唯一的比赛编码,且每场比赛都记录比分和日期,所以图 2-4中的联系“比赛”应具有比赛编码、比分和日期三个属性。

【问题2】
根据题目需求分析可知球员信息主要包括:姓名、身份证号、出生日期、身高、家庭住址。但球员属于球队,比赛以球队为单位组织进行,所以球员关系模式中缺失球队编号,即(1)处应填球队编号;同理,也不难分析出主教练关系模式中也缺少球队编号,即(2)处填入球队编号。

【问题3】
根据题目中问题 3 描述,增加的实体赞助商与球队实体和球员实体存在赞助联系,根据问题描述很容易得到赞助商与球队之间的联系类型为1:*,与球员的联系类型为 * : * 。

3、答案

【问题 1】
完善的实体联系图如图 2-5 所示,
在这里插入图片描述
比赛联系应具有的属性包括:比赛编码,比分,日期。

【问题 2】
(1)球队编号;
(2)球队编号。

【问题 3】
修改后的实体联系图如图 2-6 所示
在这里插入图片描述

四、真题四

1、题目

某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构建一个超市信息管理系统。

【需求分析结果】
(1)超市信息包括:超市名称、地址、经理和电话,其中超市名称唯一确定超市关系的每一个元组。每个超市只有一名经理。

(2)超市设有计划部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。部门信息包括:超市名称、部门名称、部门经理和联系电话。超市名称、部门名称唯一确定部门关系的每一个元组。

(3)员工信息包括:员工号、姓名、超市名称、部门名称、职位、联系方式和工资。其中,职位信息包括:经理、部门经理、业务员等。员工号唯一确定员工关系的每一个元组。

(4)商品信息包括:商品号、商品名称、型号、单价和数量。商品号唯一确定商品关系的每一个元组。一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给。

【概念模型设计】
根据需求分析阶段收集的信息,设计的实体联系图和关系模式(不完整)如图 2-7 所示。

在这里插入图片描述
【关系模式设计】
超市(超市名称,经理,地址,电话);
部门((a),部门经理,联系电话);
员工((b),姓名,联系方式,职位,工资);
商品(商品号,商品名称,型号,单价,数量);配给(©,配给时间,配给数量,业务员)。

【问题 1】(4 分)
根据问题描述,补充四个联系,完善图2-7的实体联系图。联系名可用联系 1、联系 2、联系3 和联系4代替,联系的类型分为1:1、1∶n和m:n(或1:1、1∶* 和 * : *)。
在这里插入图片描述
【问题 2】(7 分)
(1)根据实体联系图,将关系模式中的空(a)~©补充完整。
(2)给出部门和配给关系模式的主键和外键。
在这里插入图片描述
【问题 3】(4 分)
(1)超市关系的地址可以进一步分为邮编、省、市、街道,那么该属性是属于简单属性还是复合属性?请用 100 字以内文字说明。
(2)假设超市需要增设一个经理的职位,那么超市与经理之间的联系类型应修改为(d),超市关系应修改为(e)。
在这里插入图片描述

2、解析

本题考查数据库系统中实体联系模型和关系模式设计方面的应用知识,属于比较传统的题目,考查点也和往年类似。

【问题 1】
本题考查数据库的概念结构设计。两个实体集间的联系分为三类:一对一(1:1)、一对多(1∶n)和多对多(m:n)。
根据题意,“每个部门只有一名部门经理”,部门和部门经理之间是1:1关系,每个部门有多名员工,即部门和员工之间是1:n的关系,由“超市只有一名经理”可知超市的部门和经理之间是1∶1 的关系,由“超市有多个部门”可知超市和部门之间是 1∶n 的关系。由“一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给可知业务员和商品之间是多对多的关系,即m:n。
根据以上分析,即可完成图 2-7的实体联系图

【问题2】
本题考查数据库的逻辑结构设计,题目要求补充完整各关系模式,并给出部门和配给关系模式的主键和外键。
根据问题 1画完整的实体联系图和需求描述,员工关系模式包括员工号、姓名、部门名称、超市名称、职位、联系方式、工资等,因此(b)处应填员工号、超市名称和部门名称;部门关系模式包括超市名称、部门名称、部门经理和联系电话等,由此可知(a)处填超市名称和部门名称。配给关系模式包括商品号、业务员、配给时间、配给数量等,由此可知,©处应填商品号。部门关系模式的主键应为(超市名称和部门名称),外键名称为(超市名称部门经理);配给关系模式的主键应为(商品号、业务员、配给时间),外键应为(业务员、商品号)。

【问题 3】
超市关系的地址可以进一步分为邮编、省、市、街道,则超市关系中的地址属于复合属性。所谓复合属性就是指属性中含有多种信息,可以进一步拆分的属性,地址可以拆分成多个简单属性,符合这一特征。
假设超市需要增设一个经理的职位,那么超市与经理之间的联系类型应该是一个超市有多名经理,为1∶n的关系,超市关系应包含超市名称、地址、电话。

3、答案

【问题 1】
完善的实体联系图如图 2-8所示

在这里插入图片描述

【问题 2】
(a)超市名称、部门名称。主键:(超市名称,部门名称);外键:(超市名称、部门经理)。
(b)员工号、超市名称、部门名称。
©商品号。主键:(商品号,业务员,配给时间);外键:(业务员、商品号)。

【问题 3】
(1)超市关系中的地址属于复合属性。
(2)(d)1∶n;(e)超市名称、地址、电话。

五、真题五

1、题目

某家电销售电子商务公司拟开发一套信息管理系统,以方便对公司的员工、家电销售、家电厂商和客户等进行管理。

【需求分析】
(1)系统需要维护电子商务公司的员工信息、客户信息、家电信息和家电厂商信息等。员工信息主要包括:工号、姓名、性别、岗位、身份证号、电话、住址,其中岗位包括部门经理和客服等。客户信息主要包括:客户D、姓名、身份证号、电话、住址、账户余额。家电信息主要包括:家电条码、家电名称、价格、出厂日期、所属商。家电厂商信息包括。厂商 ID、厂商名称、电话、法人代表信息、厂址。

(2)电子商务公司根据销售情况,由部门经理向家电厂商订购各类家电,每个家电厂商只能由一名部门经理负责。

(3)客户通过浏览电子商务公司网站查询家电信息,与客服沟通获得优惠后,在线购买。

【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-9所示。
在这里插入图片描述

【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
客户(客户 ID,姓名,身份证号,电话,住址,账户余额);
员工(工号,姓名,性别,岗位,身份证号,电话,住址);
家电(家电条码,家电名称,价格,出厂日期,(1));
家电厂商(厂商 ID,厂商名称,电话,法人代表信息,厂址。(2));
购买(订购单号,(3),金额)。

【问题 1】(6 分)
补充图 2-9 中的联系和联系的类型。
在这里插入图片描述
【问题 2】(6 分)
根据图 2-10,将逻辑结构设计阶段生成的关系模式中的空(1)~(3)补充完整,用下画线指出“家电”“家电厂商”和“购买”关系模式的主键。
在这里插入图片描述
【问题 3】(3 分)
电子商务公司的主营业务是销售各类家电,对账户有余额的客户,还可以联合第二方基金公司提供理财服务,为此设立客户经理岗位。客户通过电子商务公司的客户经理和基金公司的基金经理进行理财,每名客户只有一名客户经理和一名基金经理负责,客户经理和基金经理均可负责多名客户。请根据该要求,对图2-9进行修改,画出修改后的实体间联系和联系的类型。
在这里插入图片描述

2、解析

本题考杳数据库设计。涉及的考点有数据库的概念结构设计和逻辑结构设计
【问题 1】
根据题意,每个家电厂商可以购买多种家电,因此家电厂商和家电之间是一对多的联一种家电可由多个客户购买,一个客户可购买多件家电,因此家电和客户之间是多对系。多的联系,由此可画出完整的实体联系图。

【问题2】
电子商务公司根据销售情况,由部门经理向家电厂商订购各类家电,每个家电厂商只能由一名部门经理负责,家电厂商中需要保存是由哪名部门经理负责的,因此这里需要有员工的工号,这样才能在员工中找到唯一对应的员工。

【问题 3】
由题意可知,可增设实体客户经理和基金经理,客户和客户经理、基金经理都有联系且客户经理和客户、基金经理和客户都是一对多的联系,由此可补充图2-9。

3、答案

【问题 1】
完善的实体联系图如图 2-10 所示。

在这里插入图片描述
【问题 2】
(1)厂商 1D;
(2)工号;
(3)家电条码,客户ID,工号。
家电关系的主键:家电条码:
家电厂商关系的主键:厂商 ID;
购买关系的主键:订购单号。

【问题 3】
修改的实体联系图如图 2-11 所示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【云轩】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值