Home ORDIX AG             Dienstleistung             Trainingsshop    Kunden / Referenzen Aktuelles    Kontakt
Home  Pfeil  ORDIX News  Pfeil  2/2006  Pfeil  Datenbanken
suche: 
Der Artikel richtet sich an Oracle Entwickler und DBAs, die den SQL Developer bei der Entwicklung von Datenbankskripten und -applikationen einsetzen und sich zudem einen schnellen Überblick über die Datenbank verschaffen wollen.

Glossar

Debug
Prüfung des Quellcodes auf Funktionalität und aktuelle Parameterwerte.
GUI
Graphical User Interface. Dies ist die grafische Benutzeroberfläche.
Stored Procedures
Innerhalb der Datenbank gespeicherte Prozeduren, Funktionen und Paketelemente.
SQL
Structured Query Language. Sie dient als Kommunikationsinstrument mit der Datenbank.
PL/SQL
Procedural Language/SQL. Erweiterung von SQL um prozedurale Programmierelemente.

Der Oracle SQL Developer ist da!

Das einfache Werkzeug mit grafischer Oberfläche zur Bearbeitung von Quellcode innerhalb der Oracle Datenbank ist nun endlich da. Das besondere an diesem Oracle Tool ist, dass es zum freien Download zur Verfügung steht. Noch zu Jahresbeginn firmierte es als nicht unterstützte Version unter dem Namen "Raptor". Dieser Artikel stellt den SQL Developer vor und gibt die ersten Erfahrungen wieder.

Der Sinn des SQL Developers ist, die Entwicklungsaufgaben zu vereinfachen und so eine erhöhte Entwicklungsproduktivität zu gewährleisten. Somit richtet sich der SQL Developer in erster Linie an Datenbankentwickler. Für den klassischen Datenbankadministrator kann er nur ein Hilfsmittel sein.

Hardware

Windows Windows 2000-Service Pack 4
Windows XP-Service Pack 1
Linux Red Hat Enterprise Linux 3
Red Hat Enterprise Linux 4
Fedora Core 4
SuSE SLES8
Mac-OS X Apple Mac OS X Version 10.3
Abb. 1: Von Oracle empfohlene Plattformen für den Einsatz des SQL Developers.

Oracle empfiehlt zur Zeit, den in Java entwickelten SQL Developer auf den in Abbildung 1 aufgelisteten Plattformen einzusetzen.

SQL Developer Funktionalitäten

Mit dem SQL Developer können Benutzer Datenbankobjekte anzeigen, bearbeiten, erstellen und löschen.

Innerhalb des integrierten SQL Worksheets lassen sich SQL- und PL-/SQL-Statements ausführen und überprüfen (Debug-Funktionalität). Es besteht ebenso die Möglichkeit, vordefinierte oder selbst erstellte Reports zu erstellen.

Connections

Der SQL Developer besitzt zwei Navigationsebenen, so genannte "Tabs". Die erste Ebene ist der Verbindungsnavigator "Connections". Hiermit kann sich der Benutzer mit jedem möglichen Oracle Datenbankschema verbinden, das die Standard Oracle Authentifizierung benutzt.

Benutzer können sich mit dem SQL Developer an Oracle Datenbanken ab Version 9.2.0.1 und höher anmelden. Zur Datenbankanbindung benötigt man den Schemanamen, das Kennwort, den Rechnernamen und die Datenbank SID bzw. den Servicenamen.

Sobald der Benutzer verbunden ist, können Datenbankobjekte erstellt, geändert, gelöscht und entsprechend ihrer Funktionalität manipuliert werden. Dies beinhaltet den Zugriff auf folgende Objekttypen:

  • Tabellen
  • Views
  • Indizes
  • Packages
  • Prozeduren
  • Funktionen
  • Trigger
  • Typen
  • Sequenzen
  • Materialized Views
  • Materialized View Logs
  • Synonyme
  • Public Synonyme
  • Datenbank Links
  • Directories
  • Papierkorb
    (ganz wichtig ab Oracle 10g!)

Darüber hinaus können Datenbankobjekte anderer Datenbankbenutzer entsprechend der vergebenen System- und Objektprivilegien genutzt werden (siehe Abbildung 2).


Abb. 2: Datenbankobjekte. (vergrößern)

Reports

Die zweite Ebene "Reports" beinhaltet eine Anzahl von vordefinierten Reports über die Datenbank und ihre Objekte. Ebenfalls lassen sich selbstdefinierte Reports erstellen. Bei den vordefinierten Reports handelt es sich um Auszüge aus dem Data Dictionary (siehe Abbildung 3).

Abb. 3: Report Ergebnisse. (vergrößern)

Die Syntax kann angezeigt und durch ein COPY/PASTE in das SQL-Worksheet übertragen werden. Dort wird der Quellcode an die persönlichen Anforderungen angepasst und dann als selbstdefinierter Report gespeichert. Die durch die Reports gewonnenen Daten können auch exportiert werden.

SQL-Worksheet und PL/SQL

Das SQL-Worksheet unterstützt die Erstellung von SQL- und PL/SQL-Befehlen. Diese können einzeln oder nacheinander als Skript ablaufen. Eine Befehlshistorie beinhaltet die vorhergehenden Befehle.

Zusätzlich existiert die Möglichkeit, sich den Ausführungsplan für ausgewählte Statements anzusehen. Etwas lästig ist die permanente Aufforderung zur Auswahl der entsprechenden Datenbank bei jedem Öffnen des SQL-Worksheets. Hier existieren Tools mit einer komfortableren Lösung.

Ein weiteres Manko ist zur Zeit, dass die SQL*Plus Session Parameter nicht genutzt werden können. Die Darstellung der Ergebnisse durch DBMS_OUTPUT wird dadurch aber nicht beeinträchtigt (siehe Abbildung 4)!

Fehlermeldungen der SQL*PLUS Sessionparameter
Abb. 4: Fehlermeldungen der SQL*PLUS Sessionparameter.(vergrößern)

Exportieren von Abfrageergebnissen

Die zum Beispiel mit SQL gewonnenen Ergebnisse lassen sich in die Formate INSERT-Statements, SQL-Loader, CVS, Text und XML exportieren. Dies geschieht einfach über die Auswahl aus dem Kontextmenü, das per Mausklick aufgerufen werden kann (siehe Abbildung 5).

Abb. 5: Export gewonnener Daten durch einen SELECT. (vergrößern)

Im Anschluss kann bestimmt werden, ob die Daten in einer Datei oder im Clipboard gespeichert werden. Ebenso kann über den Tab Reiter "Columns" die Auswahl auf einzelne Spalten beschränkt werden. Darüber hinaus kann auch noch eine WHERE-Klausel implementiert werden (siehe Abbildungen 6 und 7).

Abb. 6: Auswahl des Speicherortes und Anzeige des Speicherformates.

Abb. 7: Anzeige des Speicherformates. (vergrößern)

Applikationsfenster

Eine Gesamtansicht einzelner Applikationsfenster (Connections, Reports, Snippets, SQL-Worksheets) zeigt Abbildung 8. Es ist auch möglich, die einzelnen Applikationsbestandteile jeweils am Applikationsrand minimiert zu positionieren und nur bei Bedarf zu öffnen.

Abb. 8: Übersicht der Applikationsfenster. (vergrößern)

Debug

Der Benutzer kann PL/SQL-Code erstellen und ändern. Er kann Code-Formatierung und Bookmarks hinzufügen und Quellcode verwenden. Das Prüfen (Debug) von Stored Procedures ist möglich.

Diese Eigenschaft erlaubt dem Benutzer, den Code laufen zu lassen, zu prüfen und alternative Daten während des Debug-Vorgangs einzugeben. Dazu wird die entsprechende Stored Procedure aufgerufen und durch das Kontextmenü in den Debug Status versetzt (siehe Abbildung 9).

Abb. 9: Debug Kontextmenü. (vergrößern)

Im Anschluss erscheint ein Fenster, das der Auswahl der zu prüfenden Stored Procedure dient (siehe Abbildung 10).

Abb. 10: Auswahlfenster. (vergrößern)

Nach dem Bestätigen der ausgewählten Stored Procedure mit "OK" wird dies im Debug-Modus angezeigt. Nun stehen alle Debug-Funktionalitäten zur Verfügung. Abbildung 11 gibt ein Beispiel.

Abb. 11: Beispiel für das Debugging einer Stored Procedure. (vergrößern)

Snippets

Eine weitere, nützliche Implementierung sind die so genannten "Snippets". Das Bearbeiten von SQL- bzw. PL/SQL-Code im Worksheet wird durch ihre Verwendung vereinfacht. Es handelt sich dabei um vordefinierte Quellcodefragmente, wie z. B. SQL-Funktionen, Optimizer hints oder verschiedene PL/SQL-Programmiertechniken (siehe Abbildung 12).

Abb. 12: Snippets im SQL Developer.

Support

Für den Support ist zu beachten, dass eine Zertifizierung (Support bei Fragen) für die einzelnen Bestandteile des SQL Developers (SQL-Worksheet, Datenbank-Funktionen, PL/SQL-Support) zur Zeit nur für die Datenbanken 9i (Version 9.2.0.4) und 10g Enterprise Edition, Standard Edition, Standard Edition One und Express Edition gilt.

Die Unterstützung der einzelnen Datenbankversionen befindet sich aber in einem fortlaufenden Prozess. Die notwendige Voraussetzung für den Support des SQL Developers ist eine Oracle Datenbanklizenz.

Fazit

Für die erste Version ist der SQL Developer ein durchaus für SQL- und PL/SQL-Standardprogrammierung sinnvoll einzusetzendes Werkzeug, um schnell und ohne großen Konfigurationsaufwand mit der Datenbank zu kommunizieren. Vor allem das Debug Tool bietet dem Entwickler einen unschätzbaren Vorteil bei seiner täglichen Arbeit. Ein weiterer Pluspunkt dieses Tools besteht darin, dass es von Oracle unterstützt wird und dass zur Zeit keine Lizenzgebühren anfallen.

Letzteres ist, wie wir wissen, keine Garantie auf Lebenszeit und könnte zunächst nur ein Lockmittel sein.

Klaus Günther (info@ordix.de).