二维数据存储在 SQL

2D data stored in SQL

这个问题是关于 SQL.

学生数据(姓名、生日...)存储在第一个table(STUDENTS)中。评估数据(日期、时间、教师...)存储在第二个 table (ASSESSMENTS) 中。

现在,我想存储每个学生对每个评估的答案。我是否应该创建一个新的 table (例如 ANSWERS),用两个键(一个链接到 STUDENTS,另一个链接到 ASSESSMENTS)为每个学生存储每个答案?这是最佳做法吗?如果是,我担心学生人数多和评估的表现。

评论有点长

使用您所说的 ANSWERS 和我所说的 StudentAssessments 是将此信息存储在关系数据库中的正确方法。

这在 SQL 中称为联结 table,它是实现 n-m 关系的标准方法。

一些数据库有在字段中存储列表的替代方法 -- 嵌套 tables、JSON、数组、XML。然而,这些通常不能很好地适应关系模型。例如,外键引用通常无法定义和强制执行。

我不会担心 "large" 的数据量。您认为很大的东西,按照数据库标准可能很小。