Hallo,
ich habe folgende Situation: Eine Tabelle Pool hat eine Spalte "text" die in vielen Sprachen übersetzt werden soll. Dann gibt es eine Selection Tabelle, die beschreibt, welche Elemente aus dem Pool selektiert sind.
Pseudo Layout:
Wenn ich jetzt ein select auf die Selection Table mit einem Join mache, bekomme ich automatisch alle "text" Einträge.
Nun zu meinem Mehrsprachen-Problem. Diese Lösung ist starr, weil es ziemlich sicher mit der Zeit immer mehr Sprachen geben wird:
Vorteil, ein Join-Query. Nachteil, neue Sprache erfordert ein Alter Table
Um das dynamisch zu halten, fällt mir dieses Layout ein:
Dazu kommt noch eine Sprachentabelle, die auf text_id verweist (deren Layout ist hier egal).
Der Vorteil, in die Sprachentabelle (oder Tabellen) kann ich flexibel neue Sprachen hinzufügen, ohne Änderung am Grundlayout. Großer Nachteil: ein select von Selection erfordert für n Elemente n+1 Queries.
Gibt es eine elegantere Möglichkeit, wie ich die Queries minimieren kann und dennoch die Sprachen flexibel verwalten kann?
ich habe folgende Situation: Eine Tabelle Pool hat eine Spalte "text" die in vielen Sprachen übersetzt werden soll. Dann gibt es eine Selection Tabelle, die beschreibt, welche Elemente aus dem Pool selektiert sind.
Pseudo Layout:
Code:
Pool: id : int(auto increment) text: varchar(200) Selection: pool_id: Foreign Key auf Pool(id)
Nun zu meinem Mehrsprachen-Problem. Diese Lösung ist starr, weil es ziemlich sicher mit der Zeit immer mehr Sprachen geben wird:
Code:
Pool: id : int(auto increment) text_de: varchar(200) text_en: varchar(200) Selection: pool_id: Foreign Key auf Pool(id)
Um das dynamisch zu halten, fällt mir dieses Layout ein:
Code:
Pool: id : int(auto increment) text_id: int Selection: pool_id: Foreign Key auf Pool(id)
Der Vorteil, in die Sprachentabelle (oder Tabellen) kann ich flexibel neue Sprachen hinzufügen, ohne Änderung am Grundlayout. Großer Nachteil: ein select von Selection erfordert für n Elemente n+1 Queries.
Gibt es eine elegantere Möglichkeit, wie ich die Queries minimieren kann und dennoch die Sprachen flexibel verwalten kann?
Kommentar