数据库架构 - 交友网站

时间:2012-05-03 10:05:41

标签: database-design

我正在开发一个约会网站,该网站将基于用户将从列表中选择的许多个人字段。我有43个不同的字段,用户必须填写 - 每个字段有多个答案选项。

我有3个选项:

  1. 构建硬编码的所有网站并在代码中设置所有字段及其选项 - 这将很难维护。

  2. 我现在看到的另一个选项是为每个字段列表打开一个表,并用其选项填充它。

  3. 为每个字段列表打开一个表并保存其名称及其ID以及字段选项的另一个表,其中包括字段ID和选项名称。

  4. 这些是我看到的选项 - 最好的方法是什么?还有其他我不知道的选择吗?

3 个答案:

答案 0 :(得分:2)

创建一个带有ID和Name的表“FIELDS”和一个带有ID,FIELD_ID和选项名称的表“FIELD_OPTIONS”。

这将允许最大的灵活性 例如,您可以在“FIELDS”表中添加“ALLOWS_MULTISELECT”列,以允许选择多个选项。

答案 1 :(得分:1)

创建具有下拉选择选项的所有字段的基表。从这些基表中加载选择字段选项。 然后创建另一个表以将每个人的数据保存为该表的一行。 该人的数据表将使用表单中的每个字段映射列。

答案 2 :(得分:0)

对于你的目标来说,最好将使用面向文档的数据库,如MongoDB, 是否需要使用SQL?

文档如:

{
"question": <>,
"answers": ["1","2","3","AA"],
"correct": "1"
}