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

  • OAuth und OTP

    16.02.2020

    Wie bereits beschrieben will ich mich demnächst näher mit OAuth befassen...

    Weiterlesen...

Neueste Artikel

  • Split von Filesets in Apache ANT

    Ich musste neulich darüber nachdenken, eine Parallelisierung für einen meiner ANT-Tasks in meinem Static Site Generator einzubauen.

    Weiterlesen
  • Ein Doclet zur Erzeugung von DocBook aus Javadoc

    Ich habe mich mit der Idee zu diesem Projekt Monate abgequält - hätte ich gewusst, was die eigentliche Implementierung für Qualen verursachen würde, hätte ich sie wahrscheinlich eingestampft.

    Weiterlesen
  • Motion JPEG Erzeugung aus Java heraus

    Da ich mich in den letzten Wochen wieder einmal mit Javas Sicherheitsmechanismen und dem Erzeugen von Animationen beschäftigt habe, habe ich den Entschluss gefasst, die bisher mittels JMF AVIs in dWb+ zu erstetzen - nur wodurch?

    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.