我想实现多语言系统和我碰到一个话题来了计算器,我没有得到的想法。多语言数据库设计方法
完整的问题,可以发现here
在问题选项3,它具有像下面
CREATE TABLE T_PRODUCT (
NAME_FK int,
DESCRIPTION_FK int,
PRICE NUMBER(18, 2)
)
CREATE TABLE T_TRANSLATION (
TRANSLATION_ID
)
CREATE TABLE T_TRANSLATION_ENTRY (
TRANSLATION_FK,
LANGUAGE_FK,
TRANSLATED_TEXT NTEXT
)
CREATE TABLE T_TRANSLATION_LANGUAGE (
LANGUAGE_ID,
LANGUAGE_CODE CHAR(2)
)
但我没有得到这个想法为什么我们需要T_TRANSLATION
表的结构。它的工作是什么?这个问题也被问了一些意见,但他们没有得到有关这个问题的答案。
如何通过这种方式插入,然后选择产品?
什么,如果我有一个表与许多外键也需要翻译,例如(人[NationalityId,MaritalStatusId,CourtesyId,名字,中间名,姓氏])国籍,MaritalStatus,礼貌是表,做你所提供的解决方案仍然有效和合适的,因为数量加入将会有太多 – Monah 2015-07-24 15:36:15
那么,它基本上是翻倍了需要连接的表数:不是加入N“正常”的表,你现在_also_加入N个翻译表。这是否是一个问题,必须在有代表性的环境下进行衡量但是,没有其他解决方案能够动态地选择语言,可以避免某种额外的“连接”,无论是以数据库还是其他方式表达,数据库通常都很擅长加入... – 2015-07-24 16:34:39