2017-04-16 49 views
1

我正在为学校成绩分析器创建一个数据库。 在我的数据库中,我有像“学生科目”...我需要一个表,每个学生(马克表)得分的表。
此表正在考虑2个选项.. :我有一个表(分)与多列即students_regno,(列所有科目 - 可能约为20 此表将有更少的行。也许700 或者 :我可以有一个标记表与几列,即students_regno,subject_id,标记这将只有3列,但该行可能跨越超过5000行有很多行vs有很多列:哪条路要走?

哪种方式应该。我去了吗?

+0

澄清你的问题吧。行和列的使用不一致,例如以下语句:'这将只有3行,但行可能跨越超过5000行。'没有意义。你的意思是什么专栏? – Sasang

+0

他们不被称为标记。他们被称为成绩。 –

+0

@shogunivar该选项将导致超过5000行时,将标记送入数据库......将所有这些行影响数据库的速度?...速度是我的另一个主要关切。 subject_id和students_regno也会一再重复......这是一个问题吗? –

回答

2

第二个绝对是要走的路。

你总是想记住你想要扩展你的系统。如果在5年内引入新的科目。你想能够添加。并且,您不希望添加额外的字段,并将所有已有的记录留空。

让所有东西分开也是更好的选择。可能会有很多次您不需要90%的数据。然后,最好从1分表中得到它。

所以我会说去选择2.一个标记表student_regno, subject_id, mark