我想實現多語言系統和我碰到一個話題來了計算器,我沒有得到的想法。多語言數據庫設計方法
完整的問題,可以發現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