在 SQL 中存储用户定义数据的正确方法

2023-12-15

我想构建一个类似于 wufoo 的在线表单生成器,允许用户创建和发布自己的 Web 表单。每个提交内容都应保存到数据库中,用户稍后可以在数据库中检索提交内容。

因为这些形式将是动态的,即。用户可以完全控制表单字段的数量和类型我正在尝试考虑一个可靠的数据库设计来存储这些信息。

我将有一个表字段类型,其中包含用户可用的每种类型的字段,即。文本字段、电子邮件字段等

一个基本表单表将保存每个表单 ID、URL 等。

然后,我将有一个表表单字段,其中包含对基本表单和字段类型的引用,该表还可以包括对每个字段进行的自定义验证。

这个设计作为基础结构好吗?我想向应用程序添加新类型的字段会很容易,但我不知道潜在的缺点是什么,因为我远不是 SQL 专家。


在 SQL 中存储用户定义的数据

我想你正在寻找实体-属性-值数据库模型,其中:

基本思想是存储属性及其对应的值, 作为单个表中的行。

通常该表至少包含三列:实体、属性和 价值。但如果只有一个相关实体,例如一张桌子 对于应用程序配置或选项设置,实体列 可以排除。

请参阅此页面作为开始:

  • 使用数据库元数据及其语义生成自动和动态 Web 条目表单 (pdf)

  • 规划和实施元数据驱动的数字存储库 (pdf)

我重新标记了你的问题实体属性值标签,您可以在其中浏览许多与您的案例相关的线程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SQL 中存储用户定义数据的正确方法 的相关文章

随机推荐

  • 使用最简单的方法将数据(字符串)从子 VC 传递到父 VC

    使用最简单的方法将数据 字符串 从子视图控制器传递到父 VC 我尝试了几种方法 但迷失了 有人可以告诉我最好的方法吗 斯里坎特是正确的 如果您有从一个视图控制器 我们的 第一个 视图控制器 到另一个视图控制器 我们的 第二个 视图控制器 的
  • 单击坐标而不识别元素

    作为我的 Selenium 登录功能测试的一部分 我想通过识别按钮的坐标并指示 Selenium 单击这些坐标来单击按钮 这可以在不识别元素本身的情况下完成 通过 id xpath 等 我知道还有其他更有效的方法来运行单击命令 但我希望专门
  • 即使浏览器关闭,CodeIgniter 如何保留会话数据?

    我想知道 CodeIgniter 中的会话是如何工作的 当浏览器关闭时 会话不是应该自动终止吗 默认情况下 CodeIgniter 不会在浏览器关闭时销毁会话 config sess expire on close FALSE 相反 我们可
  • Chart.js 工具提示模板不起作用

    因此 我正在 Chart js 中使用条形图 并且尝试让自定义工具提示正常工作 环顾四周 似乎在这种情况下要做的事情是添加 tooltipTemplate test 到我的选项部分 这将在结果工具提示中的数据值后面显示单词 test 然而
  • 在 SQL 中存储用户定义数据的正确方法

    我想构建一个类似于 wufoo 的在线表单生成器 允许用户创建和发布自己的 Web 表单 每个提交内容都应保存到数据库中 用户稍后可以在数据库中检索提交内容 因为这些形式将是动态的 即 用户可以完全控制表单字段的数量和类型我正在尝试考虑一个