小编Som*_*ame的帖子

具有国际化的MySQL数据库设计

我将开始研究中型应用程序,我正在计划它的数据库设计.我不确定的一件事是这个.我将有许多表需要国际化,例如:"membership_options,gender_options,language_options等"

这些表中的每一个都将共享常见的i18n字段,例如:"title,alternative_title,short_description,description"

在您看来哪种方式最好?有一个i18n表,每个表需要它们具有相同的字段吗?

或做类似的事情:

Membership table     Gender table
----------------     --------------
id | created_at       id | created_at
1  -  22.03.2001       1 - 14.08.2002
2  -  22.03.2001       2 - 14.08.2002


General translation table
-------------------------
record_id | table_name | string_name | alternative_title| .... |id_language
 1        - membership   regular         null                     1 (english)
 1        - membership   normale         null                     2 (italian)
 1        - gender       man             null                     1(english)
 1        -gender        uomo           null                      2(italian)
Run Code Online (Sandbox Code Playgroud)

这会避免我重复这样的事情:

membership_translation table
-----------------------------
membership_id | name | alternative_title | id_lang
1               regular  null …
Run Code Online (Sandbox Code Playgroud)

mysql sql database translation internationalization

5
推荐指数
1
解决办法
6514
查看次数

标签 统计

database ×1

internationalization ×1

mysql ×1

sql ×1

translation ×1