Virtabs: Aufbau des Definitionsfile

ER2SQL wird über eine ASCII-Datei gesteuert, die sowohl eine Beschreibung der Datenbank enthält, als auch die Definitionen der zu erzeugenden Virtabs. Diese Datei heißt traditionell '<db_name>.vt'.

Syntaktische Grundregeln

  • Alles zwischen "#" oder "//" oder "--" und dem Zeilenende ist Kommentar.
  • Alles zwischen "/*" und "*/" ist Kommentar (zeilenübergreifend).
  • Leerzeilen und Kommentare sind überall erlaubt.
  • Einzelne Wörter werden durch Leerzeichen voneinander getrennt.
  • Die Anordnung der Wörter ist nicht an bestimmte Spalten gebunden, sondern ist frei.
  • Groß-/Kleinschreibung von Schlüsselworten ist ohne Bedeutung..
  • Mit "INCLUDE filename" können andere Dateien in die Hauptdatei eingebunden werden (z.B. ausgelagerte Datenbank-Definitionen).
  • Mit dem optionalen Schlüsselwort “END” kann das Ende des zu verarbeitenden Teils der Datei markiert werden.

Organisation des Definitionsfiles

Der Inhalt der Definitionsdatei gliedert sich logisch in zwei Abschnitte:

  1. die Beschreibung der Tabellen der Datenbank (Schlüsselwort “TABLE”) und die Beschreibung der 1:n-Beziehungen zwischen den Tabellen der Datenbank (Schlüsselwort “LINK”)
  2. die Beschreibung der zu erzeugenden Virtabs (Schlüsselwort “VIRTUALTABLE”).

Diese Abschnitte müssen dabei nicht in aufeinanderfolgenden Blöcken erscheinen, sodnern können durchaus gemischt werden. Jegliche Referenzierung eines Objektes setzt jedoch dessen bereits erfolgte Defintion voraus, daher ist die natürliche Reihenfolge: “TABLE”, “LINK”, “VIRTUALTABLE”.
Es hat sich bewährt, Datenbankdefinition und Virtabs für abgeschlossene thematische Bereiche der Datenbank getrennt in Einzeldateien zu speichern, die von einer zentralen Dateien INCLUDed werden.. Datenbankdefinitionen tragen die Erweiterung .VTH (VT-Header).

Beispiel: Wenn eine fiktive grosse Datenbank ENTERPRISE einen Tabellennetz besitzt, das sich mit der Verufstätigkeit besitzt, wird folgende Include-Dateistruktur empfohlen:

Datei “enterprise.vt”:

...
//Fachschale SALES
include ’sales.vth’  // Datenbankdefinitionen
include ’sales.vt’     // Virtabdefinitionen
...

//Fachschale PRODUCTION
include ’production.vth’   // Datenbankdefinitionen
include ’production.vt’    // Virtabdefinitionen

...

end                        // am Datei-Ende optional

 

Vorsicht: Tippfehler oder Diskrepanzen zur Datenbank im ersten Abschnitt der Definitionsdatei äußern sich erst bei der Übersetzung des von ER2SQL erzeugten SQL -Codes in Compilationsfehlern! Man sollte deswegen die “-defdb*”-Optionen vor allem auch als debugging-Instrument verstehen und anhand der so produzierten Ausgabe die Übereinstimmung zwischen Datenbankdefinition und Virtab-Definitionsdatei prüfen.

 

.

[Referenz] [ER2SQL cmdline] [DB-Voraussetzungen] [Definitionsfile-Aufbau] [Syntax: TABLE und LINK] [Syntax: VIRTUALTABLE] [Syntax: TABLE] [Syntax: COLUMN] [Syntax: CONSTRAINT] [Syntax: USES, MODIFY, ...] [Fehler von ER2SQL] [Laufzeitfehler] [Syntax-Hervorhebung] [SQL-Objekt-Namen]