数据库设计综合练习题及答案

数据库设计综合练习题及答案

2023年7月27日发(作者:)

1、有一课程管理系统,有如下特点:一个系可开设多门课程,但一门课只在一个系部开设,一个学生可选修多门课程,每门课可供若干学生选修,一名教师只教一门课程,但一门课程可有几名教师讲授,每个系聘用多名教师,但一个教师只能被一个系所聘用,要求这个课程管理系统能查到任何一个学生某门课程的成绩,以及这个学生的这门课是哪个老师所教的。

(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型;

(2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。

(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。对这些关系模式进行规范化。

1、参考答案:

1

系部

1

1

聘用

开设

n

课程

n

开设

n

教师

2、设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。

车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;

司机与车辆之间存在着“使用”联系,司机使用车辆有“使用日期”和“公里数”两个一个车队,车队聘用司机有“聘用开始时间”和“聘期”两个属性;

k

1

n

选修

m

n

选修

n

属于

学生

m

属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。

(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型;

(2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。

(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。对这些关系模式进行规范化。

2、参考答案:

(1)E-R图设计如下:

车队号 车队名

1

车队

聘用开始时间

1

聘期

拥有 聘用

N

车辆

M

使用

N

N

司机

牌照号

厂家 出厂日期

司机编号

姓名

电话

使用日期

公里数

(2)转换成的关系模型应具有4个关系模式:

车队(车队号,车队名)

车辆(车牌照号,厂家,生产日期,车队号)

司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期)

使用(司机编号,车辆号,使用日期,公里数)

3、设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。

仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,库存有个“库存量”、“存入日期”属性;

商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;

仓库、商店、商品之间存在一个三元联系“供应”,反应了把某个仓库中存储的商品供应到某个商店,此联系有月份和月供应量两个属性。

(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型;

(2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。

(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第几范式。对这些关系模式进行规范化。

3、参考答案

(1)E-R图设计如下:

仓库号 仓库名

地址

M

存入日期

仓库

M

供应

月份

月供应量

库存

库存量

N

商品

N

M

单价

销售

P

商店

N

商店号

商店名

地址

商品号

商品名

月份 月销售量

(2)据转换规则, E-R图可转换成6个关系模式:

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

商品(商品号,商品名,单价)

商店(商店号,商店名,地址)

库存(仓库号,商品号,日期,库存量)

销售(商店号,商品号,月份,月销售量)

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

4.设有关系模式

R(职工名,项目名,工资,部门名,部门经理)

如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理,一个部门有多个项目;每个部门只有一个经理。

① 试写出关系模式R的函数依赖和关键码。

② 说明R不是2NF模式的理由,并把R分解成2NF模式集。

③ 进而把R分解成3NF模式集,并说明理由。

4、参考答案

⑴ R的基本函数依赖有三个:

(职工名,项目名)工资

项目名 部门名

部门名 部门经理

项目名 部门经理

关键码为(职工名,项目名)。

⑵ 根据⑴,R中存在下列两个函数依赖:

(职工名,项目名) 项目名 (部门名)

(职工名,项目名) 项目名 (部门经理)

这两个函数依赖都是局部依赖,因此R不是2NF模式。

R应分解成两个模式: R1(项目名,部门名,部门经理)

R2(职工名,项目名,工资)

R1和R2都是2NF模式。

⑶ R2已是3NF模式,因为非主属性“工资”已经完全依赖主键“职工名,项目名”

在R1中,由于存在两个函数依赖:

项目名部门名 部门名项目名

部门名部门经理

即存在非主属性对主键的传递依赖,因此R1不是3NF模式。

对R1应分解成两个模式:R11(项目名,部门名),R12(部门名,部门经理)。这两个模式都是3NF模式。

因此,R分解成3NF关系模式集时,R={ R11,R12,R2 }。

5、综合题

假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,销售价格,部门代码,负责人)

如果规定:(1) 每个商店的每种商品只在一个部门销售;

(2) 每个商店的每个部门只有一个负责人;

(3) 每个商店的每种商品只有一个销售价格。

试回答下列问题:

(1) 根据上述规定,写出关系模式R的函数依赖;

(2) 找出关系模式R的候选码;

(3) 试问关系模式R最高已经达到第几范式?为什么?

(4) 如果R不属于3NF,请将R分解成3NF模式集。

5、参考答案

(1) 有三个函数依赖:

(商店编号,商品编号) →部门代码

(商店编号,部门代码) →负责人

(商店编号,商品编号) →销售价格

(2) R的候选码是 (商店编号,商品编号)

因为:

(商店编号,商品编号) →销售价格

(商店编号,商品编号) →部门代码

(商店编号,部门代码) →负责人

[(商店编号,商店编号,商品编号) →(商店编号,部门代码) →负责人

(商店编号,商品编号) →(商店编号,部门代码) →负责人]

(3) 因为R中存在着非主属性“负责人”对候选码 (商店编号、商品编号)的传递函数依赖(上面黄字上一行),所以R属于2NF,R不属于3NF。

(4) 将R分解成:

R1 (商店编号,商品编号,销售价格,部门代码)

R2 (商店编号,部门代码,负责人)

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690435361a349403.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信