sQLshell Version 7.4 bringt virtuelle Fremdschlüsselbeziehungen

vorhergehende Artikel in: Java Komponenten sQLshell GUI
02.07.2022

Eine neue Version der sQLshell ist verfügbar!

Die sQLshell bot - besonders im Virtuellen Abfrageeditor, aber auch in vielen weiteren Bereichen schon seit langem viele Komfortfunktionen zur Arbeit mit Fremdschlüsselbeziehungen.

Diese kann manjedoch in Datenmodellen nicht ausnutzen, wi referentielle Integrität über Trigger oder Stored Procedures oder - noch schlimmer - über Applikationslogik abgebildet wird.

Die sQLshell unterstützte Anwender in solchen Fällen mittels eines Plugins, das das Datenmodell untersuchte und abhängig von den Eigenschaften der vorgefundenen Tabellen und Spalten Vorschläge für mögliche Fremdschlüsselbeziehungen unterbreitete. Allerdings arbeitete dieses Plugin so, dass als Resultat die SLQ-Anweisungen zur tatsächlichen Erstellung einer realen Fremdschlüsselbeziehung ausgegeben wurde.

Nun will oder kann man nicht Änderungen an einem vorliegenden Datenmodell vornehmen, nur weil man dadurch besser mit der sQLshell arbeiten kann. Daher wurde das Konzept virtueller Fremdschlüsselvereinbarungen eingeführt. Diese existieren nur "im Kopf" der sQLshell, sind aber für die Komponenten und Funktionalitäten vollkommen gleichwertig zu realen, im Datenmodell modellierten.

Im Visuellen Abfrageeditor sind sie graphisch von den "echten" abgesetzt: Die virtuellen werdn als gestrichelte Linien dargestellt, die modellierten weiterhin mit durchgezogenen Linien. Ein Beispiel ist in der folgenden Abbildung dargestellt:

Screenshot Virtuelle Fremdschlüsselbeziehung dargestellt im Visuellen Abfrageeditor

Anlegen lassen sich diese virtuellen Fremdschlüsselbeziehungen über den Visuellen Abfrageeditor: Hierzu wurden bestehende Funktionalitäten ein wenig erweitert: Man kann wie gewohnt einen Join dadurch erzeugen, dass man eine Spalte einer im Visuellen Abfrageeditor befindlichen Tabelle auf eine andere zieht. Dieser neu erzeugte Join ist immer ein LEFT JOIN. Nach Erzeugung kann man über ein Kontextmenü den Typ des Joins ändern. Neu ist die Möglichkeit, aus einem Join eine virtuelle Fremdschlüsselbeziehung zu machen. Nacheiner solchen Umwandlung verschwindet der Join und wird durch eine virtuelle Fremdschlüsselbeziehung ersetzt - diese Umwandlung kann nicht rückgängig gemacht werden.

Mit virtuellen Fremdschlüsselbeziehungen können alle Manipulationen und Interaktionen durchgeführt werden, die auch mit real modellierten Fremdschlüsselbeziehungen und Joins möglich sin - natürlich lassen sie sich auch ebenso einfach wieder entfernen!

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Neueste Artikel

  • Github hat keine Ahnung von Crypto und Sicherheit

    Morgen - am 1.2.2023 - soll mein neuer $dayjob anfgangen - und damit die Quelle, aus der ich die Mittel beziehe, weiterhin meine Kuchenzutaten bezahlen zu können. Das wird irgendwas mit Sicherheit sein. Und am Tag davor hat sich - wer eigentlich genau? - überlegt: "Komm, lass ihn uns nochmal so richtig auf Betriebstemperatur überkochen!". Aber - der Reihe nach...

    Weiterlesen...
  • Aktualisierung TileServer - Restrukturierung

    Ich habe meinen Tile-Server für OpenStreetMap-Daten aktualisiert

    Weiterlesen...
  • Drunken Bishop in Java

    Ich habe neulich wieder einmal Lust auf eine kleine Fingerübung gehabt und deshalb ein Verfahren in Java implementiert, das ich ursprünglich als Möglichkeit kennenlernte, zwei Schlüssel beim Versuch des Aufbaus einer Verbindung mittels SSH zu vergleichen...

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.