suit: Idee zur Mehrsprachigkeit

Beitrag lesen

Subordniate 1 | S... 2 | S.... 3 ist im Prinzip kein Fehler. Es ist dann nur schwieriger auf Veränderungen zu reagieren, aber man kann mit der DB doch noch gut arbeiten.

Das maß der Dinge ist nicht, wie du damit arbeiten kannst sondern wie die Datenbank damit arbeitet - sobald du anfängst, felder mit "inhalt1, inhalt2" oder ähnliches zu benennen, läuft etwas falsch - ganz egal ob du als Mensch damit arbeiten kannst.

RDBMS sind dafür ausgelegt mit Relationen und verknüpften Tabellen zu arbeiten - Redundanzen in der Datenstruktur sind uncool.

Vor allem bei so Sachen wie Manager Subordinate kann es aber schon Problemchen geben, auf die man dann im Code reagieren müsste. Wenn mal ein Subordinate wegfällt oder so. Man muss den Code auch anpassen, wenn mal ein fünfter dazukommt und man die DB angepasst hat.

Dasselbe gibt für eine Sprache, wenn du plötzlich 7 statt 8 Sprachen hast - oder wenn eine Sprache nicht vollständig übersetzt ist - da hast du lauter Löcher, in denen sich das DMBS "NULL"-werte oder Leerstrings merken muss. Ordentlich normalisert gibts einfach keine Datensätze.

Aber hier ist es schon was anderes. Ein extra Subordinate kommt in eine Firma schnell mal rein, wenn ein Boss sich das wünscht. Dann ändert sich nichts, bis auf dass bei einem Boss ein Sub mehr ist.

Eine komplette Website (großes Projekt) in einer weiteren Sprache anzubieten ist da was ganz anderes.

Nein, ist es aus Sicht des Datenmodells nicht :) ich hab' Websites, da kommen öfter Sprachen dazu als die Firma/das Hotel neue Angestellte bekommt :)

Da wird jeder Sprach-Datenbankeintrag angefasst. Also zu jeder Phrase muss eine neue Sprache hinzukommen.

Nein, auch das ist oft nicht der Fall - oft wird nur das nötigste übersetzt, der rest wird mit Englisch als Fallback ausgeliefert.

Auch kann es sein, dass in einer Sprache später ein Teil dazukommt, der Rest aber erst später (oder gar nie) übersetzt wird - dann wären bei deinem Modell "Löcher" drin - und spätestens sowas ist ein Indiz für ein schlechtes Datenmodell.

Also ich sehe da - auch wenns auf den ersten Blick ähnlich zu deinem Beispiel ist

Es ist nicht ähnlich, es ist exakt dasselbe - das _ist_ die 1. Normalform :)