MySQL数据库设计(实验九)

本小妞迷上赌 提交于 2019-12-28 03:49:55

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的基本函数依赖和主码。

设有关系模式R(A,B,C,D,E,F),其函数依赖集为T=。
令其相应对应为A,B,C,D,E,F。
T=(C->D, A->B,A->C, AE->F)
AE为主码
(2)原关系模式T为几范式?为什么?分解成高一级范式,并说明为什么?
为一范式。
A决定BC,B部分依赖于A,故为一范式。
T1(AEF)
T2(ABCD)
F完全依赖于AE。B,C,D完全依赖于A。为二范式。
(3)将关系模式分解成3NF,并说明为什么?
T1(AEF)
T2(ABC)
T3(CD)
F完全依赖于AE,BC完全依赖于A,D完全依赖于C。
4. 设有关系模式R(A,B,C,D,E,F),其函数依赖集为F={E→D,C→B,(CE)→F,B→A}。
(1)指出R的所有候选码并说明原因。

BCE
BCE可以推出其他ADF属性。
(2)R属于几范式,为什么?
为一范式。
因为F由CE共同决定,D依赖于E且B依赖于C。
(3)将R分解为高一级范式。
R1(ED)
R2(ABC)
R3(CEF)
【分析与思考】
(1)E-R图设计之后应进行哪些优化?

略!
(2)将概念模型转换成物理模型后,实体、属性、联系有哪些变化?

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

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!