有很多行 vs 有很多列:哪条路要走?

Having many rows vs having many columns: which is the way to go?

我正在为学校成绩分析器创建一个数据库。 在我的数据库中,我有 tables,例如“studentssubjects”...我需要一个 table每个学生的分数(marks table) .
为此 table 我正在考虑 2 个选项.. 1 :我将有一个包含许多列的 table(标记),即 students_regno,(所有科目的列 - 可能在 20。 table 的行数会更少。也许 700 要么 2 :我可以用几列标记 table 即 students_regno,subject_id,marks 这个将只有 3 列,但行可能跨越 5000 多行。

我应该走哪条路?

第二个绝对是正确的选择。

您始终要记住,您希望能够扩展您的系统。如果在 5 年内引入一个新的主题。你希望能够添加它。因此,您不想添加额外的字段并将其留空以保留您已有的所有记录。

最好将所有内容分开。可能很多时候您不需要 90% 的数据。最好从 1 分 table 开始。

所以我会说选择选项 2。用 student_regno, subject_id, mark

标记 table