就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果你觉得这个问题可以改进并可能重新打开,visit the help center 寻求指导。




9年前关闭。




创建多语言数据库的最佳方法是什么?为每个表创建本地化表使设计和查询变得复杂,在其他情况下为每种语言添加列很简单但不是动态的,请帮助我了解什么是企业应用程序的最佳选择

最佳答案

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

例如。第一个表只包含语言中性数据(主键等),第二个表包含每种语言的一条记录,包含本地化数据和语言的 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>

使用这种方法,您可以根据需要处理尽可能多的语言(无需为每种新语言添加额外的字段)。

更新 (2014-12-14):请查看 this answer ,了解有关用于将多语言数据加载到应用程序中的实现的一些附加信息。

关于sql - 多语言数据库设计的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/929410/

10-17 02:44