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:
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!
Fährnisse des Buildprozesses unter Windows
17.07.2019
Nachdem ich begonnen hatte, mich mit der Beschleunigung der Berechnung des Mandelbrot-Fraktals unter Zuhilfenahme der Shadereinheiten in Graphikkarten zu beschäftigen und erste Erfolge feiern konnte, wollte ich das mal auf einer richtigen Graphikkarte ausprobieren...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Git(lab|hub) Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.
Weiterlesen...Ich habe die auf OpenStreetMap basierende OpenSource Navigationslösung Graphhopper in einen Docker-Container gepackt und als neuestes Mitglied in meinem Docker-Zoo willkommen geheißen.
Weiterlesen...Ich habe neulich über eine Möglichkeit berichtet, SQLite mittels der sQLshell und Beanshell-Skripten um SQL-Funktionen zu erweitern. In diesem Artikel versprach ich auch, über eine solche Möglichkeit für Aggregatfunktionen zu berichten.
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.