【发布时间】:2018-12-29 12:57:59
【问题描述】:
我有两个表 asssessment 和 questions,我想将 questions 表中的一些问题插入到单个评估表的评估表中,所以我有一系列问题,我想将这些问题插入到评估中单项评估表。
【问题讨论】:
标签: sql-server node.js sequelize.js
我有两个表 asssessment 和 questions,我想将 questions 表中的一些问题插入到单个评估表的评估表中,所以我有一系列问题,我想将这些问题插入到评估中单项评估表。
【问题讨论】:
标签: sql-server node.js sequelize.js
只使用这两个表听起来不是一个好方法。它违反了数据库的关系模型。
您可能希望使用以下方法:
表[评估]:评估本身的主要描述,每个评估一行,主键例如评估_ID。
表 [问题]:您拥有的当前表,希望有一个主键列,例如 question_ID。
表 [asssessment_questions]:具有单独的主键列、具有对 [assessment] 表的外键引用的列 [assessment_ID] 以及具有对 [questions] 表的外键引用的列 [question_ID]。
然后,您可以添加一个 [persons] 表来存储有关进行评估的人员的数据,并将此表链接到 [assessment] 表,其中包含类似于 [asssessment_questions] 的中间表。
下一步,您可能希望收集个人如何在特定评估中回答特定问题的信息。这可以通过另一个类似于 [assessment_questions] 但基于 [assessment_questions] 和 [persons] 的表来完成。
【讨论】:
您可以使用 sequelize 在数据库中插入数组。您想更改模型,如下所示。我正在尝试通过数组在数据库中添加多种语言。
language: {
type: DataTypes.STRING,
allowNull: false,
get() {
return this.getDataValue('language').split(';')
},
set(val)
{
this.setDataValue('language',Array.isArray(val) ? val.join(','):val);
}
},
【讨论】: