VT-Hilfsspalten für automatisierte Joins

Anfang  Zurück  Vor

Letzte Änderung 13.02.2014

 

Für die Abfrage mehrerer Datenbanktabellen benötigen Sie immer nur eine einzige Virtuelle Tabelle als Ziel-Tabelle, in der das Abfrageergebnis zusammengeführt wird. In dieser müssen jedoch alle selektierten Spalten vorhanden sein. Um das zu erreichen, können Sie eine bereits vorhandene Virtuelle Tabelle mit allen noch fehlenden Spalten erweitern, oder Sie erzeugen speziell für das Abfrageergebnis eine neue Virtuelle Tabelle, die alle selektierten Spalten enthält.

 

Beispiel für Abfrage über 3 Tabellen:

 

Mit einer Abfrage auf die Tabelle Fahrzeuge sollen alle Fahrzeuge ausgegeben werden. Zu den Fahrzeugdaten soll von der Tabelle Modelle der Name des Modells und von der Tabelle Hersteller der Markenname dazu gejoint werden.

 

 

DB:FAHRZEUGE

clip0560

DB:MODELLE

clip0561

DB:HERSTELLER

clip0562

 

 

 

Geeignete Virtuelle Tabelle für das Abfrageergebnis:

Die Virtuelle Tabelle Fahrzeuge kann durch Import der Datenbanktabelle Fahrzeuge automatisch generiert werden und ist i.d.R. bereits im Projekt vorhanden. Es fehlen jedoch noch Spalten für die Ausgabe von Modell- und Markenname.

 

VT:FAHRZEUGE

clip0563

 

 

Notwendige Erweiterung:

Die Erweiterung der Virtuellen Tabelle mit den benötigten Spalten Modell und Marke können Sie mit wenigen Mausklicks im VT-Editor vornehmen.

 

VT:FAHRZEUGE

clip0564

 

 

1.Klicken Sie im Projektmanagement die Virtuelle Tabelle Fahrzeuge mit Doppelklick an, um diese im VT-Editor zu öffnen.

clip0553

2.Klicken Sie im VT-Editor bei Spalten auf clip0507 Erweitern, um die Virtuelle Tabelle Fahrzeuge mit Hilfsspalten zu erweitern.

clip0554

3.Wählen Sie Datei > Speichern, um die Änderungen in der Datei zu speichern.

 

 

Durch die Erweiterung erhält die Virtuelle Tabelle nicht nur die notwendigen Spalten für die Ausgabe der dazu gejointen Daten, sondern auch die notwendigen Informationen zu den Relationen zwischen den Virtuellen Tabellen.  Voraussetzung dafür ist jedoch, dass zwischen den betroffenen Virtuellen Tabellen, z.B. Fahrzeuge, Modelle und Hersteller, gültige Relationen im ER-Designer von XDEV 5 bestehen. In der Datenbank müssen dafür jedoch keine Relationen definiert werden.

 

clip0565

 

 

Mit diesen Informationen ausgestattet ist die Virtuelle Tabelle nun in der Lage, Datenbankabfragen über alle betroffenen Tabellen automatisch durchzuführen. Sie müssen die Virtuelle Tabelle abschließend nur noch mit einer GUI-Komponente verknüpfen, welche Daten einer Virtuellen Tabelle anzeigen kann, u.a. XdevTable, XdevComboBox, XdevListBox, XdevTree etc. Die Verknüpfung kann sowohl im GUI-Builder per drag&drop, als auch programmatisch mit Hilfe der Methode setModel( ) erfolgen, z.B. table.setModel(Fahrzeuge.VT).

 

 

Hinweis: Da Fremdschlüssel i.d.R. auf der Benutzeroberfläche nicht angezeigt werden, setzt der VT-Editor sämtliche Spalten mit Fremdschlüssel automatisch auf nicht sichtbar.

 

Hinweis: Die Möglichkeit, Daten der Virtuellen Tabelle mit Hilfe der Methode synchronizeChangedRows( ) abzuspeichern, wird durch die Erweiterung nicht beeinträchtigt. Die erweiterten Spalten sind lediglich Hilfsspalten, die ausschließlich zur Ausgabe von Daten dienen. D.h., sie existieren nur in der Virtuellen Tabelle, in der entsprechenden Datenbanktabelle jedoch nicht. Beim Speichern von VT-Daten werden nicht-persistente Spalten automatisch ignoriert. Um persistente von nicht-persistenten Spalten unterscheiden zu können, werden nicht-persistente Spalten im VT-Editor durch Kursivschreibweise und abgewählter Persistenz-CheckBox als nicht-persistent gekennzeichnet.

 

 

 

Weitere Hilfsspalten manuell hinzufügen

 

Mit dem VT-Editor lassen jeweils nur für die nächste Relationsebene Hilfsspalten generieren, z.B. Fahrzeuge > Modelle. Für weiterführende Relationen müssen Sie die erforderlichen Hilfsspalten händisch hinzufügen, z.B. für Hersteller.

 

1.Klicken Sie im Projektmanagement > Virtuellen Tabelle > Hersteller auf +, um die Spalten anzuzeigen.

clip0105

2.Ziehen Sie die Spalte MARKE per drag&drop in den VT-Editor zwischen ID und MODELL_ID, um die Virtuelle Tabelle Fahrzeuge mit einer Hilfsspalte für die Ausgabe der Hersteller zu erweitern.

clip0103

3.Wählen Sie Datei > Speichern, um die Änderungen in der Datei zu speichern.