未知领域的数据库设计

时间:2016-08-15 06:12:35

标签: sqlite android-studio entity-relationship

我正在尝试在android中制作表单构建器。我在设计数据库时遇到了真正的问题。在此应用程序中,用户首先将所需字段拖到屏幕上并更改字段标签。字段包含:

  1. 复选框
  2. 单选按钮
  3. 文本框
  4. 纯文本
  5. 这是我的模型: This is my first mockup

    And form builder Activity

    我在设计数据库时遇到了真正的问题。我需要一个帮助来完成它。

    我们非常感谢您对教程或ER图的任何链接。 在此应用程序中,用户将他所需的字段拖到屏幕上,如模拟中所示。假设当用户拖动复选框图标时,屏幕上将显示可编辑复选框标签和可编辑选项。然后,表单构建器根据他的要求和选项命名标签。通过这种方式,他首先构建了表单。

2 个答案:

答案 0 :(得分:1)

这是我在10分钟内创造的,希望它有所帮助。

  • TB_FieldType //字段类型

UUID_Type,

Type_Name,(Checkbox,RadioButton,Textbox,PlainText,Password,DropdownSelect ......)

  • TB_FieldRule //表字段规则

UUID_Rule,

规则(仅限数字,非空......)

  • TB_UserTable //保存用户设计的thrir自己的表

UUID_Table,

Table_Name,(设计表名)

  • TB_UserTable_Field //设计的表格字段详细信息

UUID_TableField,

UUID_Table,

UUID_Type,

UUID_GroupID,(如果字段是单一类型,则可以为null)

UUID_Rule,

Field_Name,(显示名称)

FIELD_LENGTH,

  • TB_Group //(对于多种类型的字段*,如RadioButton,DropwodnSelect ......)

UUID,

的GroupID,

GroupData,

答案 1 :(得分:0)

我会创建一个表来存储字段定义,其字段如下:

  • survey_id(参考该领域所属的调查)
  • field_id(字段的唯一ID)
  • field_type(复选框,广播,普通等)
  • FIELD_LABEL
  • field_data(如果需要,还有附加信息,例如无线电的选择选项 - 取决于类型)
  • field_index(定义字段的顺序)
  • ...您可能需要的任何其他字段

根据这些数据,您可以动态构建GUI。

您需要另一张表来存储答案(如果它在您的应用范围内):

  • field_id(对前表的引用)
  • 值(由用户输入)
  • ... user_id,timestamp等根据您的需求