为了账号安全,请及时绑定邮箱和手机立即绑定

什么是多语言数据库设计的最佳实践?

什么是多语言数据库设计的最佳实践?

UYOU 2019-08-29 09:03:05
什么是多语言数据库设计的最佳实践?创建多语言数据库的最佳方法是什么?为每个表创建本地化表使设计和查询变得复杂,在其他情况下为每种语言添加列很简单但不动态,请帮助我理解什么是企业应用程序的最佳选择
查看完整描述

3 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

我们所做的是为每个多语言对象创建两个表。


例如,第一个表仅包含与语言无关的数据(主键等),第二个表包含每种语言一个记录,包含本地化数据和语言的ISO代码。


在某些情况下,我们添加一个DefaultLanguage字段,这样如果没有可用于指定语言的本地化数据,我们就可以回退到该语言。


例:


Table "Product":

----------------

ID                 : int

<any other language-neutral fields>



Table "ProductTranslations"

---------------------------

ID                 : int      (foreign key referencing the Product)

Language           : varchar  (e.g. "en-US", "de-CH")

IsDefault          : bit

ProductDescription : nvarchar

<any other localized data>

使用此方法,您可以根据需要处理多种语言(无需为每种新语言添加其他字段)。



查看完整回答
反对 回复 2019-08-29
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

我觉得这种方法适合我:


产品产品详细信息国家

========= ================== =========

ProductId ProductDetailId CountryId

-  etc  -  ProductId CountryName

            CountryId语言

            产品名称 - 等 - 

            产品描述

            - 等 - 

ProductDetail表包含您要支持的语言的所有翻译(对于产品名称,描述等)。根据您应用的要求,您可能希望将Country表分解为使用区域语言。


查看完整回答
反对 回复 2019-08-29
  • 3 回答
  • 0 关注
  • 1278 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信