Mik3e
Erfahrenes Mitglied
Hi zusammen,
Hab eine kleine Logik-Frage (Special für HPVW
:
Es geht darum, zu einem Hauptwert mehrere verschiedene Werte in einer anderen Tabelle zu speichern. Und zwar aufgrund von Mehrsprachigkeit. Klingt jetzt nicht logisch, nachfolgendes Beispiel sollte es allerdings erklären.
Angenommen es gibt eine Tabelle, in der Hersteller von Produkten gespeichert sind. Neben dem Namen des Herstellers (der in jeder Sprache gleich ist) gibt es auch noch eine Beschreibung sowie eine URL zu seiner Website, die natürlich in jeder Sprache anders sein wird.
tbl_hersteller:
In dieser "Haupttabelle" sind nur jene Kerndaten gespeichert, die in jeder Sprache gleich sind. Nun gibt es für die Beschreibung eine zweite Tabelle, die dann auf den jeweiligen Datensatz, gebunden über die languageID, gejoined wird:
tbl_hersteller_description
Soweit so klar.
ABER (das gibt es leider immer):
Es gibt nun ja auch noch die URLs zu den Herstellerwebsites, die für jede Sprache anders sein sollen. Natürlich könnte man nun genauso wie für die Beschreibung auch eine eigene Tabelle "tbl_hersteller_urls" anlegen, in der dann die URLs über die LanguageID gejoined werden.
Bevor ich das aber umsetze wollte ich mal hier in die Runde fragen, ob jemand eine elegante Lösung für diese Problemstellung hat, bei der man für alle Eigenschaften (Beschreibung, URL etc.) nur eine einzige Tabelle einsetzt.
Danke & Ciao,
Mike
Achja, obwohl hier relativ irrelevant:
DBMS: MySQL 5.0.15
Hab eine kleine Logik-Frage (Special für HPVW

Es geht darum, zu einem Hauptwert mehrere verschiedene Werte in einer anderen Tabelle zu speichern. Und zwar aufgrund von Mehrsprachigkeit. Klingt jetzt nicht logisch, nachfolgendes Beispiel sollte es allerdings erklären.
Angenommen es gibt eine Tabelle, in der Hersteller von Produkten gespeichert sind. Neben dem Namen des Herstellers (der in jeder Sprache gleich ist) gibt es auch noch eine Beschreibung sowie eine URL zu seiner Website, die natürlich in jeder Sprache anders sein wird.
tbl_hersteller:
Code:
herstellerID | name
-------------------------------
1 Mercedes Benz
2 Volkswagen
In dieser "Haupttabelle" sind nur jene Kerndaten gespeichert, die in jeder Sprache gleich sind. Nun gibt es für die Beschreibung eine zweite Tabelle, die dann auf den jeweiligen Datensatz, gebunden über die languageID, gejoined wird:
tbl_hersteller_description
Code:
descriptionID | fk_herstelleID | fk_languageID | description
-------------------------------------------------------------------------------------
1 | 1 | DE | Deutsche Beschreibung zu Mercedes Benz
2 | 1 | EN | English description to Mercedes Benz
3 | 2 | DE | Deutsche Beschreibung zu Volkswagen
4 | 2 | EN | English description to Mercedes Benz
Soweit so klar.
ABER (das gibt es leider immer):
Es gibt nun ja auch noch die URLs zu den Herstellerwebsites, die für jede Sprache anders sein sollen. Natürlich könnte man nun genauso wie für die Beschreibung auch eine eigene Tabelle "tbl_hersteller_urls" anlegen, in der dann die URLs über die LanguageID gejoined werden.
Bevor ich das aber umsetze wollte ich mal hier in die Runde fragen, ob jemand eine elegante Lösung für diese Problemstellung hat, bei der man für alle Eigenschaften (Beschreibung, URL etc.) nur eine einzige Tabelle einsetzt.
Danke & Ciao,
Mike
Achja, obwohl hier relativ irrelevant:
DBMS: MySQL 5.0.15
Zuletzt bearbeitet: