Designansätze: Mehrsprachige Stammdaten



  • Wie würdet ihr am ehesten folgenden Fall abbilden: Normalerweise werden Stammdaten in der Landessprache erfasst, manche Kunden benötigen aber die Stammdaten in mehreren Sprachen (und dies ggf. parallel in einer Ausgabe - z.B. deutsch und englisch, aber das nur am Rande).

    Ich kann mir dafür mehrere Lösungsansätze in der Datenbank vorstellen, so ganz glücklich bin ich bei keinem davon. Meine bisherigen 3 Ansätze:

    1. (Imho schlechtester Ansatz) Man lässt nur eine begrenzte Zahl von Sprachen zu, und doppelt die betroffenen Felder innerhalb einer Tabelle (z.B. BezeichnungDe, BezeichnungEn).

    2. Man legt keinerlei Sprachabhängige Anteile in die eigentliche Stammdatentabelle, und hat neben dieser eine Tabelle mit den sprachabhängigen Teil die auf die Id der Stammdatentabelle verweist, und dazu die Sprache/Kultur als Primärschlüssel hält.

    Beispiel:

    TabelleA
    - Id [Primärschlüssel]
    - <weitere Sprachunabhängige Felder>

    TabelleALang
    - Id [Primärschlüssel]
    - Sprache/Kultur [Primärschlüssel] (z.B. de-DE - ggf. in zwei Felder für "Fallback" gesplittet)
    - <Sprachabhängige Felder>

    3. Wie 2. nur das man die Felder einer Sprache (nennen wir sie mal die "Hauptsprache" oder "Standardsprache) in der TabelleA hält, und die zweite Tabelle nur bemüht, wenn man davon abweichende Eingaben machen will. Problematisch sehe ich das nur dann an, wenn ein System beispielsweise von mehreren verschiedenen Sachbearbeitern in unterschiedlichen Länder gepflegt wird.


Anmelden zum Antworten