试题一(15分)
某新能源汽车公司为了提升效率,需开发一个汽车零件采购系统。请完成系统的数据库设计。
概念结构设计
需求描述
(1)记录供应商信息,包括供应商的名称、地址和一个电话。
(2)记录零件信息,包括零件的编码、名称和价格。
(3)纪录车型信息,包括车型的编号、名称和规格。
(4)记录零件采购信息,某个车型的某种零件可以从多家供应商采购,某种零件也可以被多个车型采用,某家供应商也可以供应多种零件,还包括采购数量和采购日期。
逻辑结构设计
根据概念结构设计阶段完成的实体联系图,得出如下关系模式(不完整):
- 供应商(名称,地址,电话)
- 零件(编码,名称,价格)
- 车型(编号,名称,规格)
- 采购(车型编号,供应商名称,( a ),( b ),采购日期)
问题1(5分)
根据描述补充上图中的实体联系图(不增加新的实体)。
问题2(3分)
补充逻辑结构设计结果中的(a),(b)两处空缺,并标注主键和外键完整性约束。
问题3(7分)
该汽车公司现新增如下需求:记录车型在全国门店的销售情况,门店信息包括:门店编号、地址和电话,销售包括:销售数量和销售日期等,对原有设计进行以下修改以实现该需求。
(1)在图中体现门店信息及其车型销售情况、并标明新增的实体和联系及其重要属性。
(2)给出新增加的关系模式并标注主键和外键完整性约束。
试题二(15分)
汽车厂商对配件进行统一管理,设计了相应的数据库,其中一个表记录了维修配件的使用信息。其表结构如下:
- 维修配件使用表(车牌号,维修时间,配件编码,配件名称,配件供应商,配件仓库编码,仓库地址,维修配件数量)。
其中,车牌号和配件编码满足唯一性。假设同一辆车在同一次维修情况下可能需要多种维修配件,一种配件只能存放于一个配件仓库,一种配件只能由一个配件供应商提供。维修时间精确到秒。
问题1 (7分)
题中给出的维修配件使用表存在数据冗余,请给出具体的冗余属性,并说明因此会出现哪些异常?
问题2 (8分)
维修配件使用表是否满足BCNF? 如果不满足,请对其进行模式分解,使分解后的关系模式满足 BCNF,并标记出主键、外键。
2023年上半年数据库系统工程师下午真题及答案解析
试题一(15分)
问题1(5分)