tinne
I'm new here

Vielsprachige Datenbanken

Für einen Marketingauftritt konfigurieren wir Projekte mit mehreren dutzend Sprachen. Die Frage stellt sich jetzt, wie Datenbank-Schemata für so viele Sprachen sinnvoll konfiguriert werden können: Katalog-Informationen zu einzelnen Produkten enthalten eine große Zahl sprachabhängiger Spalten, die in der Standard-Datenmodellierung zu entsprechend breiten Datenbank-Tabellen führen. Aufgrund dieser Problematik und des Limits für die maximale Anzahl von Spalten in einer Tabelle (Ora: 1000, DB2: 1012, MySQL: 4096, abermaximal 65 KiB Zeilendaten, PostgreSQL: 250-1500 "depending on column type") wird die Menge der nutzbaren Datenbanken stark eingeschränkt.

Gibt es jenseits der manuellen Teilung der Tabellen (mit 1:1-Beziehung zwischen zweien) Möglichkeiten, mit dieser Situation umzugehen? Aus DBA-Sicht optimal wärewohl die Variante, dass sprachabhängige Felder transparent in eine sprachabhängige Kindtabelle rutschen, aber dieses lässt sich vermutlich nicht ohne größere Aufwände in die Datenbanktreiber resp. die Datenquellen-Abstraktionsschicht einbauen. Welche Möglichkeiten bestehen und welches Vorgehen ist das empfohlene?

0 Kudos
1 Reply
feddersen
Community Manager

Hallo,

wir haben einige Kunden, die die Sprachen im Entity-Relationship-Modell abgebildet haben, so wie Sie es auch schon beschrieben haben. Nachteil ist, dass man dann die Sprachreiter nicht mehr in der Form nutzen kann.

Dazu modelliert man eine Tabelle mit den Stammdaten, eine Tabelle mit den sprachspezifischen Daten und eine Tabelle mit den Sprachen an sich. Dazu sind keine Änderungen am Datenbanktreiber oder der Persistenzschicht notwendig. Das kann alles im Schema abgebildet werden.

Viele Grüße

Christoph Feddersen

0 Kudos