Base: Art des Aufbaus der Tabellennamen

Guten Tag miteinander,

Win 10; LibreOffice 6.3.3.2; x64

Im Base-Handbuch kann man sich Beispiele für den Aufbau von Tabellennamen anschauen. Wie früher üblich gibt es weder sprachbezogene Buchstaben (ä, ß, …) noch Leerstellen. Selbst nur der Unterstrich und nicht einmal der Bindesrich wird verwendet. Ist das Gewohnheit oder gibt es dafür Gründe?

Gruß Harald

Die Vermeidung von Leerzeichen, Sonderzeichen usw. ist dem Sicherheitsbedürfnis geschuldet, das jemand hat, der mit DOS angefangen ist, die ANSI-Sachen in Windows mit den UTF-8-Sachen in Linux getauscht hat und dabei so manches erlebt hat.

Gerade bei Anleitungen zu Datenbanken werden häufig die Maskierungen in den SQL-Code nicht mit rein genommen und stattdessen Tabellennamen und Feldnamen grundsätzlich nur klein geschrieben, ohne Sonderzeichen, ohne Leerzeichen und nur mit dem Unterstrich. Die Verwendung von Großbuchstaben ist für mich also schon ein Entwicklungsschritt davon weg. Für Datenbanken sind Bezeichnungen mit Klein- und Großbuchstaben ohne Maskierung gleich.

Prinzipiell kannst Du aber inzwischen natürlich alle möglichen Bezeichner verwenden. Base maskiert für die Datenbank die Bezeichner. Bei Firebird gibt es aber die Begrenzung auf 31 Zeichen (Vorsicht: Sonderzeichen nehmen mehr Platz ein als ein ASCII-Zeichen).

Und noch etwas: Bestimmte Sonderzeichen bereiten natürlich Probleme - insbesondere die Verwendung von Maskierungszeichen wie dem doppelten Anführungsstrich, dem einfachen Anführungsstrich, Accentzeichen usw. Und was natürlich auch vermieden werden sollte sind Leerstellen am Schluss eines Bezeichners. Da habe ich so manche SchülerIn erlebt, die bei der Eingabe von SQL-Code unerfindliche Probleme bekam.

ich nehme an, dass das selbe für Feldnamen gilt? Kann man in der “Beschreibung” der Felder alles (Sonderzeichen, …) eingeben?

Bei Feldnamen gilt das Gleiche. Speziell Firebird hat hier bei dem Import Probleme bereitet, da einige Leute in der HSQLDB tatsächlich längere Feldnamen verwandt haben. Dann klappt der Import nach Firebird nicht.

Und natürlich würde ich dort genauso mit Sonderzeichen und Leerzeichen aufpassen. Nicht alles, was möglich ist, ist auch sinnvoll nutzbar.