有很多行 vs 有很多列:哪条路要走?
Having many rows vs having many columns: which is the way to go?
我正在为学校成绩分析器创建一个数据库。
在我的数据库中,我有 tables,例如“students 和 subjects”...我需要一个 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
我正在为学校成绩分析器创建一个数据库。
在我的数据库中,我有 tables,例如“students 和 subjects”...我需要一个 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