0

我正在设计一个有很多表格的网站。大约有 20 种不同的表格,每个表格都有自己的字段。因此,我想知道最好的 mysql 表设计用于存储每个表单的文本元素。字段标签、占位符文本、评估错误等元素。

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

 Id areaName label placeholdertext errormsg

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

4

3 回答 3

0

有了这个,就不会有一个通用的“最好”的方法来做到这一点。就个人而言,我使用

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

这允许随时通过控制面板编辑任何表单,您只需将 input_locale 添加到 forms_inputs 的末尾即可将其本地化

于 2013-02-26T22:21:52.503 回答
0

最重要的考虑因素是您的数据如何组织和逻辑绑定,即存在哪些关系。接下来,归结为您的收藏有多大。例如,如果您正在编写一个 facebook 应用程序,您希望在其中存储用户所在的城市,并且您希望有 10000 名用户,那么将位置作为文本字段存储在同一个表中并不是一个好主意。您将有一个字段“location_id”和一个单独的表“位置”,并通过 id 链接信息。这样,您只存储每个城市一次,然后引用它。

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

于 2013-02-26T22:44:45.460 回答
0

我会根据它的逻辑存储数据。就像我会创建一个单独的表来存储个人用户数据(UserId、FirstName、MidName、LastName、BirthDate、Gender、UserLanguage、Timestamp)。其他数据应该存储在其他表中,可以通过UserId键连接到“用户”表。请注意,我没有保存“年龄”,因为它会在不到一年的时间内过时。改为存储出生日期 ( BirthDate )。对于多语言设置,只需使用 UTF-8 并在每一行中存储语言 ID(例如我们的“eng”或“spa”等),这样您就可以始终知道它是什么语言。例如,用于存储表单数据的表如下所示:MyFormId、UserId、Label、PlaceholderText、ErrorMsg、LangId、

于 2013-02-26T22:48:08.187 回答