On 2012-03-22, Marc Santhoff wrote:
>>> Gibt es ene Möglichkeit per Konfiguration die Zwangskonvertierung aller
>>> Namen (Tabelle, Feld) in Kleinbuchstaben zu unterbinden?
>>>
>>> Ich bin nicht sicher, ob das Client-Programm hier was falsch macht, der
>>> jdbc-Treiber verantwortlich ist oder der DB-Server nur "richtig
>>> eingestellt" werden muß.
>
> Btw. es war der Client, neuere Version kennt Quoting by default.
Ist das auch abschaltbar? Ich halte festeingestelltes Quoting by
default für keine gute Lösung. Nebenbei löst das keine Konflikte, wenn
etwa Views oder Funktionen _in_ der Datenbank definiert sind. Das muss
dann auch alles händisch (nach)gequotet werden.
>> Du kannst die Namen schreiben wie du willst, jede Schreibweise wird
>> erkannt. Wenn du unbedingt grpßgeschriebene Namen erzwingen willst, dann
>> setze alles in doppelte Anführungszeichen. Danach musst du aber in
>> wirklich jeder Anfrage die Bezeichner in Anführungszeichen setzen und
>> immer so schreiben wie die erstellt wurden.
>
> Ja, folgenschwere Entscheidung, die treffe ich aber nicht. Die DB
> existiert schon.
Solange sich durch die case-insensitive und damit standardkonforme
Behandlung von Bezeichnern keine Konflikte ergeben (also etwa nicht
"Tabelle_1" neben "tabelle_1" bereits existiert): wo ist das Problem?
Dann könnte alles so bleiben, wie es ist. Und Standardkonformität
sollte immer erste Wahl sein.
> Zusatzfrage:
>
> Wie bildet man bei "am besten" die Tabellennamen auf Anzeigenamen für den
> benutzer ab? Eine Tabelle mit Zuordnungen und ggf. Sprache? Oder überläßt
> man das dem Client-Programm?
Solange es nur ein Clientprogramm gibt, ist es Geschmackssache.
Existieren aber mehrere Clientprogramme, dürfte die Implementation an
zentraler Stelle, also auf dem Datenbankserver zu bevorzugen sein. Die
muss man nämlich nur einmal anlegen.
Das alles ist aber, wenn man es robust und fehlertolerant machen will
(Unterscheidung zwischen de_DE und de_AT beispielsweise oder
Fallbacks, wenn bestimmte Sprachen nur unvollkommen eingepflegt sind),
keineswegs trivial. Ich habe das mal in PG so gemacht und bereue den
Aufwand im Nachhinein nicht.
> Irgendwo hatte ich als Lösung mal gesehen, daß die Tabellenkommentare den
> Anzeigenamen enthielten - hübsch, aber dann nur einsprachig. Und
> womöglich in anderen DBen nicht möglich.
Kommentare sollten schon echte Kommentare bleiben und nicht für
irgendwas anderes zweckentfremdet werden.