【问题标题】:2D data stored in SQL存储在 SQL 中的二维数据
【发布时间】:2017-10-01 11:24:14
【问题描述】:

这个问题是关于 SQL 的。

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

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

【问题讨论】:

    标签: mysql sql arrays 2d


    【解决方案1】:

    评论有点长。

    使用您所称的ANSWERS -- 以及我所称的StudentAssessments -- 是将这些信息存储在关系数据库中的正确方法。

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

    一些数据库有在字段中存储列表的替代方法——嵌套表、JSON、数组、XML。但是,这些通常不太适合关系模型。例如,外键引用通常无法定义和执行。

    我不会担心“大量”数据。你认为大的东西,按照数据库标准可能相当小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 2016-10-14
      • 2016-03-13
      • 1970-01-01
      相关资源
      最近更新 更多