我正在为学校设计数据库。到目前为止,我有以下表格:
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
此方案中最佳的数据库设计是什么?
希望我很清楚,不容易用文字解释:)! 谢谢!!