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 Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Keycloak, OTP, FIDO

    11.06.2021

    Ich berichtete neulich über die Installation und erste Tests von Keycloak. Nun bin ich tiefer eingetaucht und habe die diversen Möglichkeiten untersucht, die Authentifizierung mittels zweiten Faktors sicherer zu machen.

    Weiterlesen

Neueste Artikel

  • Performanceverbesserungen in dWb+ 4.4pre2 build 11264

    In meinem letzten Artikel zum Thema dWb+ beschrieb ich ein neues Feature der Lösung - nunmehr wende ich mich einer wichtigen nichtfunktionalen Anforderung zu

    Weiterlesen
  • Flat Notes und Navidrome neu im Docker-Zoo

    Ein weiteres Self-Hosting-Experiment hat zu zwei neuen Diensten in meinem Docker-Zoo geführt...

    Weiterlesen
  • TPM per PKCS#11 in Java-Anwendungen nutzen

    Nach meinen Erfolgen mit einem TPM in der Version 1.2 zur Absicherung von SSH-Verbindungen wollte ich versuchen, seine Funktionalität in Java-Anwendungen zu integrieren...

    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, muss 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 Codeberg-Repositories findet man hier.