gpt4 book ai didi

动态表单生成器的数据库模式

转载 作者:搜寻专家 更新时间:2023-10-30 23:04:27 24 4
gpt4 key购买 nike

我知道类似的问题已经有答案了,但我觉得答案不够有力,所以我会结合我自己的具体问题来问。

  • 假设:动态表单生成器,用户可以创建结构未知的表单。

  • 解决方案:表单提交,数据将存储在 2 表结构中:

    1. FormSubmissionHeader 表将存储有关提交的一些基本数据(formid、userid、datetime 等)
    2. FormSubmissionFieldsData(FormSubmissionHeaderID,FIELDID,FIELDVALUE)

我对这个解决方案的问题是大量使用:
假设我有 100 万用户,
每个用户将有 3 个表单
每个表单将有 10 个字段
每个表单每天将提交 5 次。

因此 FormSubmissionHeader 每天将增长 100 万 X3X5 = 1500 万行。

FormSubmissionFieldsData 将增长 15X10(每天提交的数量,字段数量的两倍),这意味着每天 1.5 亿行。

所以基于这个解决方案:

我不知道它会如何运作。

我看到两个选择:

  1. 使用 MONGODB 存储提交 header 和数据(无 SQL)

  2. 为每个表单动态创建表格并将数据直接存储在那里每个字段的相关数据类型。

这是一个 similar question我看到了..

Wufoo's Database Schema - How would you design it?

我想知道你们对此有何看法,或者您能提出其他建议吗?

最佳答案

您必须努力工作才能让我相信,在当今这个时代,每天 1.5 亿行的数据量很大。这实际上取决于您打算如何处理提交的内容。只要正确索引,大多数查询都可以正常工作。

但如果你真的必须减少行数,你可以将表单提交保存为json格式。我相信 Postresql 开箱即用地支持这一点。您可以同时获得两全其美的结构化和半结构化数据。

所以表单表没有变化,但是提交表会有一些关于提交的列(用户,表单id,日期等)和一个json列,答案是一个json对象,你可以在上面查询以及。

关于动态表单生成器的数据库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28516231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com