我的数据库表是否规范化为 3NF?

Are my DB tables normalised to 3NF?

我需要确保我的模式在 3NF 中,但我不太确定 "StudentHomework Table" 有人可以帮忙吗?

http://prntscr.com/6ry22u

我对你的方法的主要担忧是教师和学科之间缺乏关系。

在我看来,HomeworkTask 应该有一个 SubjectId,而 Subject 应该由 Teacher 教授。

所以,我会这样做。一个新的Table,主题:

Table Subject:
Id (PK)
TeacherId (FK)
Name
Description
... any other fields necessary

然后,重构HomeworkTask:

Table HomeworkTask:
Id (PK)
SubjectId (FK)
HomeworkTitle
SetDate
DueDate

除此之外,你有明确的主键,所有非主属性都依赖于主键,只有主键,所以你应该不用担心第三种规范化形式了。

希望这对您有所帮助。干杯!