Ob es marginal ist, soll jemand entscheiden, der mit vielen Mandanten und mehreren Sprachen arbeitet ...kummer hat geschrieben:allerdings stellt sich aus meiner sicht weniger die frage, ob man etwas machen könnte, sondern, was man dadurch gewinnen würde. die redundanz durch das mehrfachanlegen von sprachen ist nun wirklich marginal
Dem widerspreche ich insofern, als das die von Dir angesprochene Redundanz normalerweise meint, Informationen (gewollt) mehrfach abzuspeichern, damit man auf verschiedenen Wegen darauf zugreifen kann (wie z.B. bei der Baumstruktur der Kategorien, einmal als verkettete Liste (cat) und einmal als sequentielle Liste (cat_tree)). Das macht durchaus Sinn, erfordert aber auch Unterstützung durch Funktionen, die die redundanten Strukturen erzeugen bzw. abgleichen. Mit der Datenbank alleine geht das nicht.kummer hat geschrieben:und wie bereits ausgeführt erleichtert es die selektion von artikeln einer bestimmten sprache und eines bestimmten mandanten. nebenbei bemerkt schlägt sich zuweilen redundanz in besserer performance nieder, weshalb sie manchmal angestrebt wird, solange sich keine anomalien daraus ergeben.
Im aktuellen Fall sehe ich das nicht so. So wie die Datenbank angelegt ist, ist die Zuordnung Mandant-Sprache eine n:n Zuordnung. Dabei nach Artikeln einer Sprache zu suchen und darauf zu hoffen gleichzeitig nur Artikel eines Mandanten zu finden, ist in meinen Augen schlichtweg falsch. Und ganz konsequent wäre es bei dem aktuellen Datenbankmodell natürlich, wenn man bei der Sprachzuordnung nicht die idlang sondern die idclientslang verwenden würde (das wäre dann tatsächlich eine Form der von Dir angesprochenen Redundanz).
Was meinst Du mit Synchronisation?kummer hat geschrieben:ohne es selber schon einmal ausprobiert zu haben, könnte ich mir vorstellen, dass probleme bei der synchronisation auftreten werden, wenn dieselbe sprachen-id in mehreren mandanten verwendet werden wird.