首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL数据库/列名约定+语言代码

SQL数据库/列名约定+语言代码
EN

Stack Overflow用户
提问于 2018-05-09 17:16:27
回答 1查看 864关注 0票数 1

通常在主表中,我们有一个name列,它通常是英文的。但是,如果我们使用不同的语言,那么最好的列命名约定是什么。en_namename_en好吗?(请记住,我将使用JPA和实体)。现在,我需要下面的专栏文章:

  • 英语en_name
  • 阿拉伯语的ar_name
  • 法语fr_name
  • de_name代表德语。 另外,使用两个字母ISO 639-1代码或三个字母ISO 639-2代码更好?
EN

回答 1

Stack Overflow用户

发布于 2018-06-07 21:47:32

这取决于你需要什么。如果您只需要一个单独的列来存储在DB名称翻译中,我建议使用name_dename_en .,但这只是我的首选,很容易阅读和理解列的用途。

但是考虑一下过滤(搜索)。如果在同一表中预先加上附加列,则需要在查询(存储过程)中添加某种开关,以搜索特定语言的名称--对于英语,您需要使用name_en、德语- name_de进行搜索。因此,我可以推荐带有单独表的解决方案,以便使用id[master_table]_idlanguage_codetext (或name)列进行本地化。

例如,有一个表item,其中包含idname列。我将创建包含iditem_idlanguage_codetext列的表language_code。因此,对于表item中的item_localization中的行(1,"name"),将是(1,1,"en","name-en"),(1,2,"de","name-de")。

我准备把它存储在主表中,英文名称也复制在本地化表中。在这种情况下,很容易通过本地化的名称进行过滤,比如

代码语言:javascript
复制
select item.*
from item
join item_localization on item_localization.item_id = item.id
where item_localization.language_code = "de" and item_localization.text like "%some_text%"

但这只是我的经验和想法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50258795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档