数据库设计 - >课程,级别,主题。分数

时间:2016-01-24 21:23:54

标签: database database-design

我正在为学校设计数据库。到目前为止,我有以下表格:

android {
compileSdkVersion 21
buildToolsVersion '21.0.0'
dexOptions {
    incremental true
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_6
    targetCompatibility JavaVersion.VERSION_1_6
} }

现在我处于死胡同状态。 我需要的是:每个学生,在课程结束时通过考试,并获得课程每个主题的标记,以及最终标记,即平均标记的平均值。

此外,leveltopic_junc可以更改:例如,对于今年,topic1可以在level1中,但是明年topic1可以在level2中。这不应该改变前几年分配给 EDIT:courses 的主题。如果今年课程ID:564(level1)有topic1,那么明年我将修改leveltopic_junc表,courseID:564应该维护topic1,即使现在level1它不再是level1。所以leveltopic_junc表只是一个引用表,以便(后来编写php时)我可以使用主题填充coursestudent_junc表,而不必手动搜索或写主题。

最好在两个表中打破coursestudent_junc(或者这会破坏规范化规则之一吗?)

 course:        topic:        level         leveltopic_junc:  student: 
 courseID (PK)  topicID (PK)  levelID (PK)  levelID (fK)      studentID       
 date           topicname     levelname     topicID (fK)      studentname     
 level(fK)

 coursestudent_junc: 
 courseID (fK)
 studentID(fK)
 topicID (fK)
 mark

此方案中最佳的数据库设计是什么?

希望我很清楚,不容易用文字解释:)! 谢谢!!

0 个答案:

没有答案