存储表单信息时的最佳mysql表设计?

存储表单信息时的最佳mysql表设计?,mysql,Mysql,我正在设计一个有很多表单的网站。大约有20个不同的表单,每个表单都有自己的字段。因此,我想知道存储每个表单的文本元素的最佳mysql表设计是什么。元素,如字段标签、占位符文本、值错误等 My design now is that i have one table with the following columns: Id areaName label placeholdertext errormsg 然后,对于我的一个表单,我加载区域名等于“name”、“age”和“gender”的所

我正在设计一个有很多表单的网站。大约有20个不同的表单,每个表单都有自己的字段。因此,我想知道存储每个表单的文本元素的最佳mysql表设计是什么。元素,如字段标签、占位符文本、值错误等

 My design now is that i have one table with the following columns:

 Id areaName label placeholdertext errormsg

然后,对于我的一个表单,我加载区域名等于“name”、“age”和“gender”的所有行(我在模板表单中插入三个字段,得到三行。但这是最好的方法吗?我正在考虑使用多语言设置,命名areaName以支持英语。

这样做,就不会有一个通用的“最佳”方法。就我个人而言,我使用

forms: form_id,form_action,form_method
forms_inputs: form_id,input_name,input_def_val,input_order,input_required,input_type

这允许在任何时候通过控制面板编辑任何表单,您可以通过简单地在表单的末尾添加输入和区域设置来对其进行本地化。最重要的考虑因素是数据的组织和逻辑绑定方式,即存在哪些关系。接下来,要看您的集合有多大。如果您是eg编写一个facebook应用程序,你想在其中存储用户的城市,你预计会有10000名用户,在同一个表中以文本字段的形式存储位置不是一个好主意。你应该有一个字段“location\u id”和一个单独的表“location”,并通过id链接信息。这样,你只存储每个城市一次,然后引用它


我的观点是,您的数据库设计取决于许多因素:速度、大小、易于开发、个人偏好。

我会根据数据的逻辑来存储数据。就像我会制作一个单独的表来存储个人用户数据一样(用户名、名、中名、姓、生日、性别、用户语言、时间戳))。其他数据应存储在其他表中,并且可以通过UserId键连接到“User”表。请注意,我没有保存“age”,因为它将在不到一年的时间内过期。存储出生日期(BirthDate)相反,对于多语言设置,只需使用UTF-8并存储语言id(如“eng”或“spa”等)在每一行中,您将始终知道它是什么语言。例如,用于存储表单数据的表将如下所示:MyFormId、UserId、Label、PlaceholderText、ErrorMsg、LangId、Timestamp

您可能希望查看EAV数据库模型。是的。因此,我将有一个语言id,并从该语言id和表单id中获取所有信息在表单中使用的形式?