Lesenswert 04.08.2014, 00:00 Uhr

0xDBE ist im Anmarsch

Eine intelligente Entwicklungsumgebung für Datenbankentwickler von JetBrains.
Wer Code entwickelt, braucht ein anständiges Werkzeug. Entweder etwas wie Visual Studio oder einen sonstigen, guten Editor. Hauptsache ist, dass die Funktionen, die täglich genutzt werden, auch vorhanden sind und den Bedürfnissen entsprechen.
Bei Entwicklungsumgebungen, die sich an die bekannteren Sprachen wie C#, F# und Co. richtigen, ist das teilweise auch schon seit Jahren der Fall. Was aber, wenn zum Projekt Datenbanken gehören? Was ist, wenn SQL, Stored Procedures, Trigger und Co. zum Tagesgeschäft gehören.
Wer viel mit Datenbanken zu tun hat, kennt das Problem. Die Unterstützung für diese Art von Artefakten ist häufig sehr dürftig. Von SQL ganz zu schweigen.

0xDBE was?

Genau hier möchte JetBrains, Hersteller von ReSharper, IntelliJ IDEA und TeamCity, einhaken. 0xDBE ist deren neue Entwicklungsumgebung. Hinter dem zunächst etwas wirren Namen verbirgt sich eine IDE, die perfekt auf die Bedürfnisse von Datenbank-nahen Entwicklern und Administratoren zugeschnitten ist. Zum Lieferumfang gehört beispielsweise ein SQL-Editor, der bisherigen Editoren in dem Bereich das Fürchten lehren soll. Diese Ausrichtung bedeutet im Umkehrschluss, dass Programmiersprachen nicht viel in der IDE zu suchen haben. Von einigen spezialisierten Versionen in Richtung Stored Procedures mal abgesehen.
Ob das gelingt wird die Zeit entscheiden. Denn 0xDBE ist aktuell in einer sogenannten EAP Version erschienen, was Early Access Preview bedeutet: der gesamte Funktionsumfang befindet sich also im Fluss. Änderungen sind nicht ausgeschlossen sondern sogar höchst wahrscheinlich. Was nicht nur Fehlerbehebungen betreffen wird.
Zu dieser EAP kann sich, stand jetzt, jeder anmelden der Lust hat. Auf der zugehörigen Webseite (Registrierung für die EAP) sind nur ein paar Informationen auszufüllen. Anschließend wird eine E-Mail mit einem Download-Link verschickt. Dieser Artikel basiert auf der Version 138.551 von 0xDBE, Codename Natasha.

Installation und Konfiguration

Die Installation verläuft absolut reibungslos und dauert nur wenige Minuten. Danach geht es an die Settings, von denen 0xDBE einige bereithält. War eine frühere Version der IDE installiert, können bereits vorhandene Einstellungen übernommen werden.
Ansonsten führt ein Wizard durch die verschiedenen Einstellungen.
Zuerst die Auswahl der Oberflächenoptik. Hier steht das Aussehen der IDEA IDE zur Verfügung oder ein Darcula genanntes Aussehen. Letzteres erinnert Stellenweise an das Dark Theme von Visual Studio. Daneben können noch sechs verschiedene Farbschemata und der präferierte SQL-Dialekt ausgewählt werden. Letzteres ermöglicht die Auswahl eines allgemeinen, generischen Dialekts oder eines Spezielleren. Beispielsweise für PostgreSQL oder den SQL Server von Microsoft.
Zusätzlich fragt 0xDBE danach, ob ein Master-Passwort gesetzt werden soll. Mit diesem Master-Passwort werden alle anderen Passwörter verschlüsselt auf dem Datenträger abgelegt, die zur Verbindung zu verschiedenen Datenbanken eingegeben werden. Ein sehr gutes und bei anderen IDEs längst überflüssiges Feature. Abbildung 1 zeigt die Funktion in Aktion inklusive der Information, von wem die Anfrage stammt.
[Abb. 1] Eingabe des Master-Passworts für die Verbindung mit einer Datenbank.
Abschließend besteht die Möglichkeit, direkt Datenquellen zu vorhandenen Datenbanken anzulegen. Die Liste der unterstützten Datenbanken und Hersteller ist beachtlich:
  • DB2
  • Derby
  • H2
  • HSQLDB
  • MySQL
  • ODBC
  • Oracle
  • PostgreSQL
  • SQL Server
  • SQLite
  • Sybase
Damit darf sich 0xDBE zurecht als Cross-Plattform Datenbank Management-Tool bezeichnen.

Kurzüberblick einiger Features

Abbildung 2 zeigt eine Übersicht von 0xDBE. In dem Beispiel ist eine Verbindung mit einer PostgreSQL Datenbank aktiv.
[Abb. 2] Oberfläche von 0xDBE.
Auf der linken Seite werden die verschiedenen Schemata der Datenquelle angezeigt. Die Einträge können erweitert werden, so dass die Artefakte der Schemata sichtbar sind. Beispielsweise Tabellen und Views. In der Mitte ist der SQL-Editor. Ein erstes Feature ist direkt sichtbar: die Auto-Vervollständigung für SQL-Anweisungen. Es ist ein regelrechter Segen, eine funktionierende Vervollständigung für SQL Anweisungen zu haben. Inklusive eines guten Syntax Highlighting.
Die bereits angesprochene Code-Vervollständigung geht soweit, dass das Schema von Datenbank Artefakten berücksichtigt wird. Bei einer Join-Anweisung kann direkt die Verknüpfung der Fremdschlüssel einbezogen werden. Die Struktur spielt auch bei ALTER- und INSERT-Statements eine Rolle, was die Arbeit deutlich vereinfacht.
Daneben gibt es viele weitere Features, die bereits aus IntelliJ IDEA bekannt sind. Dazu gehört unter anderem die Code-Analyse und ein Refactoring. 0xDBE hat kein Problem damit, eine Spalte in einer Tabelle umzubenennen und konsequent alle Verwendungen der alten Spalte mit anzupassen - beispielsweise in Stored Procedures und SQL Statements.
Auch das automatische Formatieren von SQL-Code funktioniert sehr gut. Die hinterlegten Regeln sind flexibel anpassbar. Selbst eine Navigation in Go-to-Defintion-Manier fehlt nicht. So kann zum Beispiel aus einer SQL-Anweisung direkt zu einer Spalte einer Tabelle gesprungen werden. Abgerundet wird das Gesamtergebnis durch einen guten Tabelleneditor, der es erlaubt, vorhandene Daten zu ändern oder in Ihnen zu navigieren.
Auch an eine Versionsverwaltung wurde gedacht, die Änderungen protokollieren und rückgängig machen soll. Dieses Feature ist in der aktuellen Preview aber noch nicht vollständig implementiert.
Sehr vorteilhaft ist, dass 0xDBE nicht einfach nur die Rolle eines grafischen Editors für Datenbanken einnehmen möchte.
Erstellen einer neuen Tabelle.
Immer wenn Änderungen durchgeführt werden sollen, gibt es zwar eine grafische Oberfläche, trotzdem wird das korrespondierende SQL-Statement mit angezeigt. So auch beim Anlegen von neuen Tabellen, wie Abbildung 3 zeigt. Es ist schön, dass SQL ein First-class citizen (First-class citizen auf Wikipedia) ist und nicht unter einer bunten Oberfläche versteckt werden soll.

Ungewöhnliches

Etwas ungewöhnlich ist der Umgang mit verschiedenen Konsolen. In vielen anderen Editoren beziehungsweise IDEs rund um das Datenbankmanagement können diverse Konsolen geöffnet werden. Das funktioniert bei 0xDBE nicht ganz so einfach. JetBrains arbeitet dagegen mit sogenannten Projekten. Zu einem Projekt können verschiedene Verzeichnisse hinzugefügt werden. Diese Verzeichnisse wiederum können eigene SQL-Dateien enthalten.
0xDBE erlaubt es, diese Dateien zu öffnen und auszuführen. Auch der Inhalt ist veränderbar. Dabei spielt es keine Rolle, ob die einzelnen Dateien mit verschiedenen Datenquellen genutzt werden oder mit einer einzigen. Auch die konkreten Datenbanken spielen keine Rolle. So lange das in den Dateien enthaltene SQL-Derivat verstanden wird.
Das ist ein größerer Unterschied zu anderen Datenbank-Tools, in denen einfach eine neue SQL-Konsole geöffnet und die Verbindung zu einer Datenbank aufgebaut wird.

Fazit

0xDBE hat von mir eine ehrenvolle Verneigung verdient. Endlich ein Cross-Plattform-Editor, der Datenbankmanagement und Entwicklung vereint. JetBrains ist auch mit diesem Tool auf gutem Wege, eine schlecht besetzte Lücke auszufüllen. Alleine beim Thema Code-Vervollständigung für SQL-Anweisungen kommt schnell die Frage auf, warum Microsoft das beim SQL Management Studio immer noch nicht geschafft hat. Unverständnis, das JetBrains mit einem Lächeln auf dem Gesicht wahrgenommen haben wird. 0xDBE ist dabei, anderen Tools schnell den Rang abzulaufen. Und das zu Recht.

Der Autor

Fabian Deitelhoff lebt und arbeitet in Dortmund, der Metropole des Ruhrgebiets. Er studiert derzeit den Masterstudiengang Informatik mit dem Schwerpunkt Biomedizinische Informatik an der Hochschule Bonn-Rhein-Sieg in Sankt Augustin. Seine Schwerpunkte liegen in der Entwicklung von Visual Studio Erweiterungen, der Analyse und Beschreibung von Open Source Frameworks sowie im Rapid Prototyping. Beruflich ist er als freier Autor, Trainer, Sprecher und Softwareentwickler im .NET Umfeld tätig. Sie erreichen Ihn über seinen Blog www.fabiandeitelhoff.de, per E-Mail unter Fabian@FabianDeitelhoff.de oder auf Twitter als @FDeitelhoff.


Das könnte Sie auch interessieren