我目前不知道如何设计这个表,所以我真的想要一些建议。说明如下:
表格将包含3个考试成绩。
要记住的特征:
只是插入数据我就能想到一些东西,但是当把这些功能放到混合中时,它就行不通了。
我的最后一招是拥有一张表格:studentid,考试,主题代码,结果。这将像搜索和计算一样工作,但从长远来看,我有一种非常混乱和庞大的数据库的感觉。
我目前的设计(由我的朋友提供): 每个主题及其结果都有自己的领域。它有效,但很难扩展(添加更多主题)。
有什么建议吗?
答案 0 :(得分:1)
可能的表结构(省略列定义):
Exam
---------
Exam_ID
Exam_name
number_of_req_subjects
number_of_opt_subjects <---- -1 could be infinite
Subject
-----------
Subject_id
subject_name
exam_subject
------------
exam_subject_id
exam_id
subject_id
required
exam_result
------------
exam_result_id
exam_subject_id
result
在考试A中获得数学A的数量:
SELECT count(exam_result_id)
FROM exam_result er, exam_subject es, subject s, exam e
WHERE er.exam_subject_id = es.exam_subject_id
AND es.subject_id = s.subject_id
AND es.exam_id = e.exam_id
AND e.exam_name = 'A'
AND s.subject_name = 'MATH'
(我知道使用连接会比连接不同表的位置更好,但我有点懒。)
主题导致可搜索...我们没有足够的信息。事实上,我的回答可能完全没有,但我认为我现在可以通过给定的信息得到它。制作可搜索的内容只是创建一个足够有用的选择陈述的问题。
答案 1 :(得分:1)
我建议你看一下Quiz Data Model,而不是为你想要达到的目标编写一种全新的方法。这是非常全面的,如果它没有解决你需要的一切,你只需要做一些小调整就可以到达那里。