学生选择课程表。
studentnumber name age selected course credit
1 tom 23 math 5
2 jim 20 computer 4
........
如果表格不适合2NF,为什么以及如何纠正它。谢谢。
答案 0 :(得分:0)
不是2NF。这是:
生:
studentnumber name age
1 tom 23
2 jim 20
课程:
coursenumber name credit
1 math 5
2 computer 4
Student_Courses:
studentnumber coursenumber
1 1
2 2
因为您想要打破不完全依赖于原始候选键的属性(例如课程和学生编号)。所述属性仅部分取决于原始候选键(例如,学分取决于课程但不取决于学生。年龄和姓名取决于学生但不取决于课程。)。对于每个部分依赖关系,您将创建一个新表,以便属性完全依赖于新的候选/主键。
答案 1 :(得分:0)
您的样本中没有足够的数据来确定所有决定因素是什么。
根据我们对学生和课程的了解,可以合理地猜测学生人数确定姓名和年龄,并且选定的课程也会确定学分。假设(学号,选定课程)是该表的候选键也是合理的。根据每个人之前对学生和课程的经验,这都是猜测工作。
在另一个回复中给出了正确的解决方案,除了引入一个新的数据项,即“coursenumber”并不是将数据放入2NF所必需的,前提是没有两个课程可以拥有相同的“选定课程” ”。然而,发明课程编号可能是一个好主意。