- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据库设计综合练习题及答案
1、设某汽车运输公司数据库中有三个实体集。⼀是车队“”实体集,属性有车队号、车队名等;⼆是车辆“”实体集,属性有牌照
号、⼚家、出⼚⽇期等;三是司机“”实体集,属性有司机编号、姓名、电话等。
车队与司机之间存在聘⽤“”联系,每个车队可聘⽤若⼲司机,但每个司机只能应聘于⼀个车队,车队聘⽤司机有聘⽤开始时“
间”和聘期“”两个属性;
车队与车辆之间存在拥有“”联系,每个车队可拥有若⼲车辆,但每辆车只能属于⼀个车队;
司机与车辆之间存在着使⽤“”联系,司机使⽤车辆有使⽤⽇期“”和公⾥数“”两个属性,每个司机可使⽤多辆汽车,每辆汽车可被
多个司机使⽤。
(1)请根据以上描述,绘制相应的E-R图,并直接在E-R图上注明实体名、属性、联系类型;
(2)将E-R图转换成关系模式,画出相应的数据库模型图,并说明主键和外键。
(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第⼏范式。对这些关系模式进
⾏规范化。
1、参考答案:
(1)E-R图设计如下:N1
公⾥数
拥有使⽤⽇期车辆牌照号⼚家出⼚⽇期N
车队号车队车队名
聘⽤
聘期
司机
司机编号姓名电话
1使⽤MN(2)转换成的关系模型应具有4个关系模式:
车队(车队号,车队名)
车辆(牌照号,⼚家,⽣产⽇期,车队号)
司机(司机编号,姓名,电话,车队号,聘⽤开始时间,聘期)
使⽤(司机编号,牌照号,使⽤⽇期,公⾥数)
聘⽤开始时间
相应的数据库模型图为:
(3)都达到了三范式,因为没有部分依赖和传递依赖
2、设某商业集团数据库中有三个实体集。⼀是仓“库”实体集,属性有仓库号、仓库名和地址等;⼆是商店“”实体集,属性有商
店号、商店名、地址等;三是商品“”实体集,属性有商品号、商品名、单价。
仓库与商品之间存在库存“”联系,每个仓库可存储若⼲种商品,每种商品存储在若⼲仓库中,库存有个库存“量”属性;
商店与商品之间存在着销售“”联系,每个商店可销售若⼲种商品,每种商品可在若⼲商店⾥销售,每个商店销售⼀种商品有⽉
份和⽉销售量两个属性;
仓库、商店、商品之间存在⼀个三元联系供“应”,此联系有⽉份和⽉供应量两个属性。(1)请根据以上描述,绘制相应的E-R
图,并直接在E-R图上注明实体名、属性、联系类型;
(2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。
(3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式达到了第⼏范式。对这些关系模式进
⾏规范化。
2、参考答案
(1)E-R图设计如下:
商品名NM⽉销售量库存⽉份商品商品号单价N
仓库号仓库仓库名供应⽉份商店商店号商店名地址
M
销售M
P地址
⽉供应量库存量
⽇期
N(2)据转换规则,E-R图可转换成6个关系模式:
仓库(仓库号,仓库名,地址)
商品(商品号,商品名,单价)
商店(商店号,商店名,地址)
库存(仓库号,商品号,⽇期,库存量)
销售(商店号,商品号,⽉份,⽉销售量)
供应(仓库号,商店号,商品号,⽉份,⽉供应量)
3.设有关系模式
R(职⼯名,项⽬名,⼯资,部门名,部门经理)
如果规定每个职⼯可参加多个项⽬,各领⼀份⼯资;每个项⽬只属于⼀个部门管理;每个部门只有⼀个经理。
1试写出关系模式R的基本函数依赖和关键码。
2说明R不是2NF模式的理由,并把R分解成2NF模式集。
3进⽽把R分解成3NF模式集,并说明理由。
3、参考答案
⑴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}。
文档评论(0)