Nehmen wir an, Sie haben eine Produkttabelle, die wie folgt aussieht:
%Vor%Dann verbinden Sie sich einfach mit product_id = product.id und wo locale = 'en-US'
Das wirkt sich natürlich auf die Performance aus, da Sie jetzt einen Join benötigen, um den Namen und die Beschreibung zu erhalten, aber später beliebig viele Gebietsschemata zulassen.
Ich glaube, dass mehr Informationen über das, was Sie tun, hilfreich wären. Können Sie einige Beispiele der Daten geben? Und was meinst du mit Dynamik? Dass es im Laufe der Zeit viele Daten und viele Änderungen an den Daten geben wird oder dass die Daten nur für eine kurze Zeit verfügbar sein müssen.
Im Allgemeinen sollten Sie sich einen Elternteil mit gemeinsamen nicht lokalisierten Daten und eine Kindtabelle mit den lokalisierten Daten und dem Sprachenschlüssel ansehen. Wenn Sie mit dynamic meinen, dass es sich häufig ändert, sollten Sie sich die Verwendung von Triggern und eines "translationRequired" -Flags ansehen, um Dinge zu markieren, die nach einer Änderung übersetzt werden müssen.
Können Sie die Art der "dynamischen Daten" beschreiben?
Eine Möglichkeit, dies zu implementieren, wären drei verschiedene Tabellen:
Wenn die dynamischen Daten eingegeben werden, erstellen Sie den Standardeintrag "Englisch" und übersetzen Sie dann in Ihrer Freizeit.
Tags und Links sql sql-server design localization database-design