Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

07.05.2007

CW-Leser testen: Squirrel SQL

Frank Pientka arbeitet als Principal Software Architect bei der MATERNA GmbH. Als Software Architect sorgt er für mehr Qualität in der Software und kümmert sich, als Gründungsmitglied des iSAQB, um eine verbesserte Ausbildung und Zertifizierung von Architekten.
Seit mehr als zwei Jahrzehnten unterstützt er Firmen bei der Umsetzung  und Modernisierung ihrer Software-Architekturen. Dabei führt er externe Reviews und Architekturbewertungen als Gutachter durch.
Dazu hat er auch schon mehrere Bücher, Fachartikel veröffentlicht und Vorträge gehalten.
Die Open-Source-Software bietet bequemen Zugriff auf zahlreiche Datenbanksysteme.

Für die Arbeit mit Datenbanken existiert als einfachster Zugang eine Kommandozeilenschnittstelle. Einige Datenbankhersteller bieten für diesen Zweck grafische Werkzeuge an. Oft besitzen diese Programme jedoch eine eigenwillige und funktionsüberladene Oberfläche, was es dem Bediener schwer macht, auf Datenbanksysteme unterschiedlicher Anbieter zuzugreifen. Genau das verspricht das unter LGPL (Lesser General Public License) verfügbare Open-Source-Programm Squirrel, dessen Name sich vom englischen Wort für Eichhörnchen ableitet. Der leistungsfähige und flexible SQL-Editor gestattet es, mit verschiedenen relationalen Datenbanken wie Oracle, DB2, Derby, PostgreSQL und MySQL auf einheitliche Weise zu arbeiten. Voraussetzung ist ein JDBC-2.0-Treiber. Diesw Konstellation macht es für den Anwender erheblich leichter, komplexe SQL-Anweisungen zu erzeugen sowie sich in die Struktur einer Datenbank einzuarbeiten.

Fazit

Squirrel SQL ist, was die Unterstützung vieler Datenbanken betrifft, sehr kontaktfreudig. Es bietet durch die einheitliche und flexible Oberfläche eine universelle und überzeugende Alternative zu kommerziellen beziehungsweise datenbankspezifischen SQL-Werkzeugen, falls man auf erweiterte Datenbankadministrationsfunktionen verzichten möchte.

Es bleibt zu hoffen, dass fehlende Funktionen wie etwa für den Vergleich von Datenbankobjekten über zusätzliche Plug-ins in späteren Versionen nachgeliefert werden, die das Eichhörnchen dann in seine Plug-in-Sammlung aufnimmt. Bisher ist es eifrig dabei tätig gewesen.

Referenzen im Web

Homepage: http://www.squirrelsql.org/

Dokumentation: http://squirrel-sql.sourceforge.net/paper/SQuirreL_de.pdf

SQuirreL SQL Client: A Single, Open Source Front End to Interact with Your Heterogeneous Database.

Environment: http://www-106.ibm.com/developerworks/db2/library/techarticle/dm-0312bhogal

Anwender können durch Datenbankobjekte navigieren, diese anzeigen und darauf SQL-Befehle absetzen. Die Oberfläche teilt sich übersichtlich in Menüs, Icons und die Arbeitsbereiche Verbindungen, Treiber, Datenbank-Objekt-Browser und SQL-Editor auf. Damit hat man die Informationen zu einer Datenbank stets im Griff. Layouts und Skins wirken sehr ansprechend.

Außerdem kann das Werkzeug über Plug-ins erweitert werden, um die Spezialitäten einzelner Datenbanken besser zu unterstützten. Hervorzuheben sind hier die bereits mit ausgelieferten Plug-Ins fürs Kopieren einer Datenbank ("DBCopy"), das Ändern von Datenbankstrukturen ("Refactoring") sowie die Validierung und die Syntax-Hervorhebung von SQL. Ferner gibt es Erweiterungen, um Data Objects anzulegen, Tabellenbeziehungen grafisch darzustellen und SQL-Befehle wie Lesezeichen zu speichern.

Steht eine Verbindung zur Datenbank, kann der Nutzer im Objekt-Browser die Datenbankobjekte Tabelle, Views, benutzerdefinierte Datentypen (UDTs) und gespeicherte Prozeduren (Stored Procedures) betrachten. Im Objekt-Browser wird neben den Spalten- und Zeilenzahl auch der Inhalt der Tabelle mit Schlüsseln und Fremdschlüsseln angezeigt.

Um die Inhalte von Tabellen vor Veränderungen zu schützen, sind sie standardmäßig nur zum Lesen zugänglich. Nachdem diese Eigenschaft geändert wurde, können sehr einfach Zeilen in die Tabelle eingeführt werden oder Inhalte angepasst werden.

Somit eignet sich Squirrel nicht nur für die SQL-Entwicklung, sondern auch für die Migration zwischen verschiedenen Datenbanken. Besonders komfortabel, wenn auch nicht für alle Datenbankprodukte verfügbar, ist das erwähnte DBCopy-Plug-in, was eine komplette Tabelle mit Inhalt kopiert.

Die Verwendung mehrerer Datenbanken wird dadurch vereinfacht, weil man SQL-Statements einheitlich erstellen und ausführen kann. Syntaxfehler erkennt und markiert das Werkzeug schon vor der Ausführung. Außerdem lässt sich das passende SQL-Grundgerüst für ein Datenobjekt per Copy and Paste zusammenstellen, das nur noch an die speziellen Bedürfnisse anzupassen ist.

Oft wird für die Arbeit mit SQL eine überschaubare Anzahl von fertigen Anweisungen benötigt, diese werden in der Befehlshistorie aufgehoben und können von dort wieder ausgeführt werden. Alternativ kann man die SQL-Befehle in einer Bookmark-Sammlung oder in einer eigenen Datei für eine spätere Ausführung aufheben. Dadurch wird die tägliche, fehlerträchtige Arbeit mit SQL, auch ohne eine SQL-Referenz, erheblich vereinfacht und beschleunigt.

Um das passende SQL generieren zu können, ist genaues Wissen über die in einem Datenmodell dargestellten Beziehungen zwischen den Tabellen nützlich. Gerade eine grafische Darstellung bietet hier entscheidende Vorteile, um sich einen Überblick zu verschaffen. Die Tabellen können mit den Constraint-Namen auf einer Blattseite platziert werden, so dass auch sie ohne hässliche Seitenumbrüche ausdruckbar sind. Außerdem gibt es eine Zoomfunktion.