我的数据库表是否规范化为 3NF?
Are my DB tables normalised to 3NF?
我需要确保我的模式在 3NF 中,但我不太确定 "StudentHomework Table" 有人可以帮忙吗?
我对你的方法的主要担忧是教师和学科之间缺乏关系。
在我看来,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
除此之外,你有明确的主键,所有非主属性都依赖于主键,只有主键,所以你应该不用担心第三种规范化形式了。
希望这对您有所帮助。干杯!
我需要确保我的模式在 3NF 中,但我不太确定 "StudentHomework Table" 有人可以帮忙吗?
我对你的方法的主要担忧是教师和学科之间缺乏关系。
在我看来,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
除此之外,你有明确的主键,所有非主属性都依赖于主键,只有主键,所以你应该不用担心第三种规范化形式了。
希望这对您有所帮助。干杯!