MySQL数据库设计(实验九)

1、数据库设计的步骤以及在各个步骤中需要完成的内容。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2. 某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有车牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有聘期;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数,每个司机可以使用多辆汽车,每辆车可被多个司机使用。
分析运输公司对车队、车辆与司机的管理模式进行数据库的设计
(1)提取实体和实体之间的联系,用传统方式进行概念模型(E-R)的设计、画出E-R图:(注意:务必将E-R图进行组合)

在这里插入图片描述
(2)将上题中的E-R图按规则转化为关系模式。
答: 车队(车队号,车队名)
司机(司机编号,姓名,电话)
车辆(车牌照号,厂家,出厂日期)
聘用(车队号,司机编号,聘期)
使用(司机编号,车牌照号,日期,公里数)
3. 已知教师关系模式T(Tno,Tname,SD,Sdname,Cno,Coursenum)
其中:Tno教师号、Tname教师姓名、SD系名、Sdname系主任名、CNO课程号、Coursenum周学时。
语义为:
一个系有多个老师,一个老师只能在一个系;每个系都有一个系主任;假设教师有重名,系主任名也可能有重名。每个教师教多门课,一门课可有几个教师开设。当某个老师讲授某门课后,其周学时就固定了。
(1)写出关系模式T的基本函数依赖和主码。

答:主码为(Tno,Cno)
函数依赖关系有:
Tno—>Tname
Tno—>SD
SD—>Sdname
(Tno,Cno)—>Coursenum
(2)原关系模式T为几范式?为什么?分解成高一级范式,并说明为什么?
答:T为第一范式,因为Tname和SD完全函数依赖于Tno,部分函数依赖于(Tno,Cno);
T1(Tno,Cno,Coursenum)
T2(Tno,Tname,SD,Sdname)
Coursenum完全函数依赖于(Tno,Cno);Tname,SD完全函数依赖以Tno;Sdname传递函数依赖于Tno;在满足第一范式的前提下,无部分函数依赖,为第二范式;
(3)将关系模式分解成3NF,并说明为什么?
答:T1(Tno,Cno,Coursenum)
T2(Tno,Tname,SD)
T3(SD,Sdname)
Coursenum完全函数依赖于(Tno,Cno);Tname,SD完全函数依赖以Tno;Sdname完全函数依赖于SD;在满足第二范式的条件下,无传递函数依赖,为第三范式;
4. 设有关系模式R(A,B,C,D,E,F),其函数依赖集为F={E→D,C→B,(CE)→F,B→A}。
(1)指出R的所有候选码并说明原因。

答:
E—>D
C—>B
(C,E)—>F
B—>A
只在左边出现或没有出现的为:C,E
在两边都出现的为:B
所以B,C,E为候选码,因为其可推出A,D,F属性;
(2)R属于几范式,为什么?
答:第一范式;因为F完全函数依赖于(C,E),B,D部分函数依赖于(C,E),所以不满足第二范式;
(3)将R分解为高一级范式。
R1(E,D)
R2(A,B,C)
R3(C,E,F)
【分析与思考】
(1)E-R图设计之后应进行哪些优化?

1、重新规划实体位置,使各个关系线之间不要出现交叉
2、E-R图合并,消除不一致性和冗余,解决冲突。
(2)将概念模型转换成物理模型后,实体、属性、联系有哪些变化?

对比项概念模型物理模型
实体实体
属性属性字段
关系关系(一对一,一对多,多对一)外键
关系关系(一对多,多对一)表(关系表)
关系关系(多对多)表(关系表)

(3)不合理的关系模式存在什么问题?
数据插入问题(插入异常)
数据删除问题(删除异常)
数据冗余问题(冗余度大)
数据更新问题(修改复杂)
(4)2NF、3NF分别允许有什么依赖,不允许有什么依赖?
2NF允许有:完全函数依赖,传递函数依赖;不允许有:部分函数依赖;
3NF允许有:完全函数依赖;不允许有:部分函数依赖,传递函数依赖;

如有不同答案请下方留言讨论谢谢!

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1、有一课程管理系统,有如下特点:一个系可开设多门课程,但一门课只在一个系部开 设,一个学生可选修多门课程,每门课可供若干学生选修,一教师只教一门课程,但 一门课程可有几教师讲授,每个系聘用多教师,但一个教师只能被一个系所聘用, 要求这个课程管理系统能查到任何一个学生某门课程的成绩,以及这个学生的这门课是 哪个老师所教的。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 1、参考答案: 2、设某汽车运输公司数据库中有三个实体集。一是"车队"实体集,属性车队车队 等;二是"车辆"实体集,属性有牌照、厂家、出厂日期等;三是"司机"实体集,属 性有司机编、姓、电话等。 车队与司机之间存在"聘用"联系,每个车队可聘用若干司机,但每个司机只能应聘于一 个车队车队聘用司机有"聘用开始时间"和"聘期"两个属性车队与车辆之间存在"拥有"联系,每个车队可拥有若干车辆,但每辆车只能属于一个 车队; 司机与车辆之间存在着"使用"联系,司机使用车辆有"使用日期"和"公里数"两个属性 ,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 2、参考答案: (1)E-R图设计如下: (2)转换成的关系模型应具有4个关系模式: 车队车队车队) 车辆(车牌照,厂家,生产日期,车队) 司机(司机编,姓,电话,车队,聘用开始时间,聘期) 使用(司机编,车辆,使用日期,公里数) 3、设某商业集团数据库中有三个实体集。一是"仓库"实体集,属性有仓库、仓库和 地址等;二是"商店"实体集,属性有商店、商店、地址等;三是"商品"实体集,属 性有商品、商品、单价。 仓库与商品之间存在"库存"联系,每个仓库可存储若干种商品,每种商品存储在若干仓 库中,库存有个"库存量"、"存入日期"属性; 商店与商品之间存在着"销售"联系,每个商店可销售若干种商品,每种商品可在若干 商店里销售,每个商店销售一种商品有月份和月销售量两个属性; 仓库、商店、商品之间存在一个三元联系"供应",反应了把某个仓库中存储的商品供 应到某个商店,此联系有月份和月供应量两个属性。 (1)请根据以上描述,绘制相应的E-R图,并直接在E- R图上注明实体属性、联系类型; (2)将E-R图转换成关系模型,画出相应的数据库模型图,并说明主键和外键。 (3)分析这些关系模式中所包含的函数依赖,根据这些函数依赖,分析相应的关系模式 达到了第几范式。对这些关系模式进行规范化。 3、参考答案 (1)E-R图设计如下: (2)据转换规则, E-R图可转换成6个关系模式: 仓库(仓库,仓库,地址) 商品(商品,商品,单价) 商店(商店,商店,地址) 库存(仓库,商品,日期,库存量) 销售(商店,商品,月份,月销售量) 供应(仓库,商店,商品,月份,月供应量) 4.设有关系模式 R(职工,项目,工资,部门,部门经理) 如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理, 一个部门有多个项目;每个部门只有一个经理。 1. 试写出关系模式R的函数依赖和关键码。 2. 说明R不是2NF模式的理由,并把R分解成2NF模式集。 3. 进而把R分解成3NF模式集,并说明理由。 4、参考答案 R的基本函数依赖有三个: (职工,项目)(工资 项目 (部门 部门 (部门经理 项目 (部门经理 关键码为(职工,项目)。 根据 ,R中存在下列两个函数依赖: (职工,项目)( 项目 ((部门) (职工,项目)( 项目 ((部门经理) 这两个函数依赖都是局部依赖,因此R不是2NF模式。 R应分解成两个模式: R1(项目,部门,部门经理) R2(职工,项目,工资) R1和R2都是2NF模式。 R2已是3NF模式,因为非主属性"工资"已经完全依赖主键"职工,项目" 在R1中,由于存在两个函数依赖: 项目(部门 部门\(项目 部门(部门经理 即存在非主属性对主键的传递依赖,因此R1不是3NF模式。 对R1应分解成两个模式:R11(项目,部门),R12(部门,部门经
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值