1、数据库设计的步骤以及在各个步骤中需要完成的内容。

mysql数据库课程课程标准 mysql数据库课程设计案例_mysql数据库课程课程标准


mysql数据库课程课程标准 mysql数据库课程设计案例_mysql_02


mysql数据库课程课程标准 mysql数据库课程设计案例_完全函数依赖_03


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

mysql数据库课程课程标准 mysql数据库课程设计案例_mysql数据库课程课程标准_04


(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允许有:完全函数依赖;不允许有:部分函数依赖,传递函数依赖;

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