oriberu: Struktur mit mehrsprachlichen Inhalten

Beitrag lesen

Hallo,

danke für Deine Antwort.

dieses Modell funktioniert, gar keine Frage. Das einzig wirkliche
Problem ist,dass es nur sehr schwer erweiterbar ist, weil eine
weitere Sprache eine Änderung am Datenmodell erfordert, [...]

Ja, genau das ist es auch, was mir hauptsächlich Unbehagen bereitet.

Die erste Erweiterung wäre die Kennzeichnung eines Satzes mit
seiner Sprache, also aus Spalte mach Zeile:
sta_id, sta_titel, sta_text, sprache

Bei mir wäre eine Eintrag in der Stammdatentabelle sozusagen ein
primäres Datenobjekt, d.h. eine Zeile daraus enthält die wichtig-
sten Daten für die jeweilige Instanz des Projektes - ich habe, in
Ermangelung eines besseren Ausdrucks, ein "philosophisches" ;)
Problem damit, hier Einträge hinzuzufügen, die sich nur in den
Spracheigenschaften und der ID unterscheiden (in der Tabelle wären
dann im Einsatz auch viele nicht-sprachbezogene Eigenschaften verankert);
ich würde gern vermeiden, dass beispielsweise id #10,11,12 essentiell
die gleichen Reihen enthalten, in der sich dann jeweils nur die text-
bezogenen Felder unterscheiden. Ich hatte bei meinem Besipiel der
Übersichtlichkeit halber auf die neutralen Felder verzichtet; das war
wahrscheinlich nicht ganz günstig, sorry. Ich ziehe die Möglichkeit
auf jeden Fall in Betracht.

Dann gibt es noch die ganz dynamische Variante, bei der noch
nichtmal vorgegeben ist, dass es titel und text gibt, sondern man
dies auch noch in Zeilen auflöst.
id, info_typ, info_wert, info_sprache

  • z.B. info_typ = titel

Darüber habe ich grundsätzlich auch nachgedacht; ich bin mir aller-
dings nicht sicher, wie diese Daten dann zu referenzieren wären. Das
würde doch in etwa dieses Modell voraussetzen:

stammdaten        info                 typ         sprache
------------      ---------            --------    ---------
sta_id            inf_id               typ_id      spr_id
sta_name          inf_typ_id -->       typ_name    spr_kuerz
sta_bla           inf_wert                         spr_name
sta_info_id ???   inf_sprache_id -->

--> 1:n Relation

Denn hier könnte ich aus stammdaten ja jeweils nur einen info-Datensatz
referenzieren. Hmm, oder ich setze in info gleich noch ein zusätzliches
ID-Feld ein, in dem dann die sta\_id referenziert ist, dann hat dort noch
immer jeder Datensatz einen eigenen Identifikator, kann von einer Applikation
aber trotzdem noch zugeordnet werden. Verstöße das gegen die "reine Lehre",
weil dann keine direkte Referenz aus meiner stammdaten-Tabelle hervorgeht?

Also wie eben, nur mit zwei abgewandelten Tabellen:

stammdaten      info
------------    ---------
sta_id          inf_id
sta_name        inf_stammdaten_id
sta_bla         inf_typ_id -->
                inf_wert
                inf_sprache_id -->

Grüße