答:原表存在的函数依赖关系为: 部件号→部件名,部件号→现有数量,
项目代号→项目内容,项目代号→项目负责人, (项目代号,部件号)→已提供数量。 关系键为(项目代号,部件号)。(2分) 存在部分函数依赖:
(项目代号,部件号)p→部件名,(项目代号,部件号)p→现有数量,
(项目代号,部件号)p→项目内容,(项目代号,部件号)p→项目负责人。(1分) 消除部分函数依赖,分解得到以下的三个关系模式: 部件(部件号,部件名,现有数量) 项目(项目代号,项目内容,项目负责人) 提供(项目代号,部件号,已提供数量)
该关系达到2NF。由于不存在传递函数依赖,也达到3NF。(3分)
? 4、涉及到学生、教师和课程的关系模式
STC(SNo,SN,SA,TN,CN,G),其中6个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。假设学生有重名,课程名也可能有重名。又假设每个教师只教一门课,但一门课可有几个教师开设。当某个学生选定某门课后,其上课教师就固定了。 ? (1)写出键码和函数依赖;
? (2)分解关系模式使之属于BC范式。 答:
1) 键码:{SNo,CN}和{SNo,TN}
函数依赖:SNo SN,SA (BC范式违例)
TN CN (BC范式违例) SNo,CN TN,G
P a) SNo,CN SN,SA SNo,TN G
P b) SNo,TN CN
P c) SNo,TN SN,SA (a,b,c为部分依赖,可不写)
2) STC1(SNo,SN,SA) STC2(TN,CN) STC3(SNo,TN,G)