我的数据库表是否标准化为3NF?

时间:2015-04-10 09:50:21

标签: database database-design normalization 3nf third-normal-form

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

http://prntscr.com/6ry22u

1 个答案:

答案 0 :(得分:1)

我对你的方法的主要关注是教师和主体之间缺乏关系。

我看到它的方式,HomeworkTask应该有一个SubjectId,主题应该由教师教授。

所以,我会这样做。新表,主题:

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

然后,重构HomeworkTask:

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

除此之外,你有明确的主键,所有非主要属性都取决于PK而且只有PK,所以你应该可以免费获得第3个标准化表格。

希望这会有所帮助。干杯!