Namen sind Zeichenfolgen, die verwendet werden, um SQL-Objekte zu identifizieren.
Der Name eines Objekts wird in der Regel bei der Definition des Objekts mit der entsprechenden SQL-Anweisung festgelegt. Damit ist der Name eingeführt und das Objekt kann in nachfolgenden Anweisungen mit diesem Namen angesprochen werden.
SESAM/SQL unterscheidet einfache Namen und qualifizierte Namen.
Einfache Namen
Einfache Namen sind entweder reguläre Namen, die nicht in Anführungszeichen eingeschlossen werden, oder Spezialnamen, die in Anführungszeichen eingeschlossen werden müssen.
Reguläre Namen
Reguläre Namen setzen sich aus Buchstaben, Ziffern und dem Unterstrich (_) zusammen. Das erste Zeichen eines regulären Namens muss ein Buchstabe sein. Bei der Interpretation werden Kleinbuchstaben in Großbuchstaben umgewandelt. Für reguläre Namen dürfen keine reserviertenSQL-Schlüsselwörter verwendet werden.
Spezialnamen
Spezialnamen dürfen dagegen auch reservierte SQL-Schlüsselwörter sein und Zeichen enthalten, die für reguläre Namen nicht erlaubt sind. Groß- und Kleinbuchstaben werden unterschieden. Spezialnamen werden durch Anführungszeichen begrenzt. Das erste Zeichen nach dem einleitenden Anführungszeichen darf kein Unterstrich (_) sein. Ein Anführungszeichen innerhalb eines Spezialnamens muss doppelt angegeben werden. Das doppelte Anführungszeichen zählt dabei als ein Zeichen.
Leerzeichen am Ende von Spezialnamen sind nicht signifikant. Z.B. sind die folgenden Schreibweisen alle äquivalent:
KUNDE Kunde "KUNDE" "KUNDE "
Qualifizierte Namen
Um verschiedene Objekte gleichen Namens innerhalb der SQL-Anwendung eindeutig identifizieren zu können, gibt es die Möglichkeit, Namen zu qualifizieren. Namen für Objekte können in SQL explizit qualifiziert werden, indem den Namen, durch einen Punkt getrennt, ein Datenbank-, Schema- oder Tabellen- bzw. Korrelationsname vorangestellt wird.
Qualifiziert werden können die Namen für
Schema, Space, Storage Group, Tabelle, Index. Integritätsbedingung und Routine mit dem Datenbanknamen
Tabelle, Index, Integritätsbedingung und Routine mit dem Schemanamen
Spalte mit dem Tabellen- bzw. Korrelationsnamen.
Namen für SQL-Objekte mit Ausnahme von Spalten müssen in der Regel explizit oder implizit qualifiziert werden. Ist keine explizite Qualifikation durch den Datenbank- bzw. Schemanamen angegeben, dann wird ein Name implizit mit dem voreingestellten Datenbank- bzw. voreingestellten Schemanamen qualifiziert. Die voreingestellten Datenbank- und Schemanamen werden mit der Precompiler-Option SOURCE-PROPERTIES (siehe Handbuch „ ESQL-COBOL für SESAM/SQL-Server“) bzw. in den Konfigurationsdaten für den Utility-Monitor (siehe Handbuch „ Utility-Monitor“) angegeben. Für dynamisch übersetzbare Anweisungen kann der Anwender mit SET CATALOG und SET SCHEMA voreingestellte Datenbank- bzw. Schemanamen angeben (siehe "Voreinstellungen in dynamischen Anweisungen festlegen").
Beispiel
Tabelle KUNDE
im Schema AUFTRAGSVER
der Datenbank AUFTRAGKUNDEN
.
auftragkunden.auftragsver.kunde