数据库期末复习 下载本文

司机编号 → 车队编号, 车队编号 → 车队主管。

显然,存在传递依赖:司机编号→ 车队主管。

此时在R2的关系中,一个车队只有一个主管人员,但这个车队有20名司机,则在关系中就要有20个元组。这20个元组的车队编号相同,而车队主管要重复出现20次,这就是数据冗余。

R2应分解成R21(司机编号,车队编号) R22(车队编号,车队主管)

这样,ρ={R1,R21,R22},其中每个模式均是3NF模式。

2.设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和

地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。 设仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储

在若干仓库中,每个仓库每存储一种商品有个日期及存储量;商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在着“供应”联系,有月份和月供应量两个属性。

(1)试画出ER图,并在图上注明属性、联系类型、实体标识符; 仓库号 仓库 地址 仓库 M 月份 M 日期

月供应库存

供应

库存量

N N P 商品 商店 销售 M N 商品名 地址 商店号 单价 商店名 商品号

月份 月销售

(2)将ER图转换成关系模型,并说明主键和外键。 据转换规则,ER图可转换成6个关系模式:

仓库(仓库号,仓库名,地址)

商品(商品号,商品名,单价) 商店(商店号,商店名,地址)

库存(仓库号,商品号,日期,库存量) 销售(商店号,商品号, 月份,月销售量)

供应(仓库号,商店号,商品号,月份,月供应量)