我對這個「簡單」的數據庫設計有點困惑。也許有人有一個更好的主意。我需要設計一個幫助系統符合以下要求:數據庫模型:如何設計多語言幫助系統數據庫?
- 幫助內容具有標題
- 幫助內容擁有內容
- 幫助內容是多語言(標題和內容)
- 一在英語的幫助內容爲強制性
- 英語幫助內容始終作爲後備使用時,不同語言的內容不可用
- 幫助內容可以被分配到多個類別
似乎是一個非常簡單的模型,但我的問題是下面
1)英語是後備語言,總是需要先創建可以創建其他語言之前,使用ParentId是否是一個好的設計?
2)如何使用回退語言進行查詢?我的意思是讓我們假設用戶選擇了西班牙語作爲他的首選語言。但對於西班牙語,一些內容不以西班牙語存在,但僅以英語存在。我如何查詢現有西班牙語的項目,但也返回只有英語內容沒有西班牙兒童的項目。
嗨喬爾。謝謝你的答案。我是否正確理解我在「幫助內容」表中有主要的英語內容,然後在「內容翻譯」表中具有主要英語項目的ID和另外的語言ID? – STORM
@STORM是的。主要英文內容位於'HelpContent'表中,翻譯的內容位於'ContentTranslation'表中,外鍵爲'HelpContent'(例如HelpContentId),外鍵爲'Language'(例如LanguageId或代碼,或任何你使用的) –