【问题标题】:Storing information as serialized data in Mysql or as individual fields将信息存储为 Mysql 中的序列化数据或单个字段
【发布时间】:2012-04-07 19:12:12
【问题描述】:

我对 MySql 上的数据存储有疑问,什么是存储这样的更好的方法:

我正在尝试创建一个应用程序,用户可以在其中存储不同的可自定义表单字段,例如如果我需要一个联系表格,我可以创建一个带有 From textfield、Subject 下拉字段、Message textarea 字段的表单,同样可以使用不同的表单元素创建一个不同的表单。除此之外,用户还可以为字段设置名称、值或其他表单属性。

但是,有什么更好的方法来存储这条信息,以便检索创建动态表单,以便用户轻松更改内容以及使用它们?

我只能想到两种存储方式:

  1. 在具有诸如 id、表单、元素、名称、值等模式的表中

    element_id | form_id |元素 |姓名 |价值 |
    1 | 1 |文本框 |到 |空|
    2 | 1 |选择框 |主题 |一般,支持|

  2. 作为表中的字段,数据类型为BLOB,可以存储为序列化数据

请多多指教。谢谢。

【问题讨论】:

    标签: mysql database-design


    【解决方案1】:

    嗯,我自己不喜欢在我的设计中使用序列化数据。但这真的取决于你会用它做什么。

    我发现this blog article描述了起起落落,这可能对您的决定有所帮助。

    【讨论】:

      【解决方案2】:

      嗯,我有一个好主意,但它涉及不同的表。 首先创建一个表 Form_fields 字段 id , field_name 第二个表属性,id,属性 第三个表 Field_attributes 具有 id 、 form_field_id 和 attribute_id。这是一个关系表。现在用 php 和 mysql 做后端。

      【讨论】:

        猜你喜欢
        • 2023-03-07
        • 2013-06-15
        • 1970-01-01
        • 1970-01-01
        • 2013-06-11
        • 1970-01-01
        • 1970-01-01
        • 2012-08-03
        • 1970-01-01
        相关资源
        最近更新 更多