ORACLE UND SQL Seminarunterlage
0-2 ORACLE IMPRESSUM Version: 5.01 DID: Autoren: Herausgeber: ORA_SQL Jörg Fritze Frank Roeing Roeing und Fritze Schulungen GbR Alte Straße 65 D-44143 Dortmund Telefon: +49-231-416377 Telefax: +49-231-410944 EMail: schulung@irf-dv.de Internet: www.irf-dv.de Copyright 1992-2007 by Jörg Fritze und Frank Roeing, Dortmund Wichtiger Hinweis Diese Seminarunterlage wurde mit größter Sorgfalt erstellt. Trotzdem können wir Fehler nicht völlig ausschließen und können deshalb für fehlerhafte Angaben und deren Folgen keine Haftung übernehmen. Bitte geben Sie uns Hinweise zu Fehlern unter der oben angegebenen Telefonnummer oder EMail-Adresse. Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung auf Datenverarbeitungsanlagen bleiben, auch bei nur auszugsweiser Verwendung vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen der Bundesrepublik Deutschland mit Genehmigung des Urhebers zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Jörg Fritze und Frank Roeing, Dortmund 2007
SQL Developer B-1 B SQL Developer KURZEINFÜHRUNG Diese Kurzeinführung ist für den Einstieg in SQL Developer gedacht. Für eine komplette Referenz orientieren Sie sich bitte an den Oracle-Hilfetexten bzw. Internetseiten. Behandelt wird die SQL Developer Version 1.1.
B-2 SQL Developer Arbeitsweise Grundidee SQL Developer (ehemals Projekt Raptor) ist eine in Java geschriebene grafische Oberfläche für Oracle Datenbanken, in der Objekte angezeigt, erstellt, geändert und abgefragt werden können.neben einer SQL Oberfläche stehen weitere kleine Werkzeuge wie ein Reporting-Tool und ein PL/SQL Debugger zur Verfügung. Die Werkzeuge arbeiten in Java und erzeugen somit selbst das notwendige SQL, um zum Beispiel alle Daten einer Tabeller auf Mausklick grafisch anzuzeigen. Mit weiterer Bedienung der grafischen Oberfläche wandelt das SQL Developer Programm diese Befehle entsprechend weiter in SQL Befehle um, die an das Oracle übergeben werden. So kann ein Benutzer ohne SQL-Kenntnisse einen bestimmten Funktionumfang von SQL Developer nutzen. Neben dieser Nutzungsmöglichkeit ist aber das Hauptwerkzeug des SQL Developers die so genannte SQL Workbench. Mit diesem Werkzeug kann analog zu SQL*Plus (vgl. Anhang A) SQL und PL/SQL editiert und ausgeführt werden. SQL Developer verwendet wie fast alle Java Programme eine hoch portable Umgebung und steht bei geringem Installationsaufwand auf unterschiedlichen Plattformen zur Verfügung, so auch Windows, Linux und Apple Mac OS X. Oracle stellt die Software gratis zur Verfügung. Verbindungen SQL Developer hält mehre Verbindungen gleichzeitig offen, wenn man dies wünscht. Im Objektfenster links werden alle Verbindungen (Connections) dargestellt, die man eingerichtet hat. Eine eingerichtete Verbindung wird in der Konfiguration des Programms gespeichert und kann beim nächsten Programmstart wieder verwendet werden. Mit dem folgenden Dialog wird eine Verbindung eingerichtet:
SQL Developer B-3 Natürlich sollte man ein Passwort nur für unkritische Verbindungen in der Konfiguration speichern (Save Passwort)! Falls Sie eine Verbindung später wieder loswerden möchten, so können Sie dies mit der rechten Maustaste (RMT) auf der Verbindung veranlassen. Nach der Einrichtung der für Sie wichtigen Verbindungen haben Sie nach dem Start des Programms links die Liste der Verbindungen im Objektfenster und rechts das SQL Worksheet:
B-4 SQL Developer Bedienung SQL Developer besitzt, wie fast alle GUI-Programme, Menü (1) und Werkzeugleisten (2). Auf der linken Seite sind die Werkzeuge Objektfenster und Reports fest vorgegeben (3), rechts finden sich zunächst aufgerufene Werkzeuge, die sich über Tab-Reiter stapeln lassen (4). Mit Mausklick (linke Maustaste, LMT) auf den jeweiligen Tab-Reiter (3), (4) wird das entsprechende Fenster aktiviert. Am linken und rechten Rand kann ein Dock eingerichtet werden. Im oberen Bild ist ein Dock am rechten Rand vorhanden (5). Eine Fenstergruppe kann in das Dock minimiert werden (6), dann verlässt es fortan den Arbeitsbereich (springt aus dem Dock heraus und wieder in das Dock hinein), bis es wieder in den Arbeitsbereich geholt wird (7) oder ganz geschlossen wird (8). Dieses Verhalten kann über die Grundeinstellungen und Kontextmenüs (RMT) weiter beeinflusst werden. Die Einstellungen die man gemacht hat werden in der Regel in einer Konfigurationsdatei gespeichert und bleiben so erhalten. Zusätzliche Add-Ons bieten Komfortfunktionen, wie Nachschlagen im Metalink oder Anzeigen von Fehlertexten (9).
SQL Developer B-5 Objektfenster Im Baum des Objektfensters können die Oracle-Objekte der entsprechenden Verbindung durchsucht und angeschaut werden, falls eine entsprechende Berechtigung vorliegt. Dabei zeigt das Programm unterhalb der Verbindung zunächst einmal alle Objekttypen an (Tables, Views, etc.). Hierunter fallen alle Objekte, die zum eigenen Schema gehören, z.b. eigene Tabellen. Für fremde Objekte gibt es den eigenen Baumknoten Other Users, der andere Schemata und darunter die gleichen Typenlisten enthält. In jeder Typliste findet man die einzelnen zugreifbaren Objekte. Mit LMT und RMT sind eine Vielzahl von Werkzeugen aufrufbar, unter anderem ein Dateneditor für Tabellen (siehe oben) oder ein Tool, mit dem man sich die DDL für ein Objekt generieren lassen kann.
B-6 SQL Developer SQL Worksheet Aufruf und Grundaufbau Das SQL Worksheet wird standardmäßig aufgerufen, wenn eine Verbindung aufgemacht wird. Außerdem kann es unter anderem über Menü, Werkzeugleiste oder RMT auf der gewünschten Verbindung wieder aufgerufen werden, falls es einmal geschlossen worden sein sollte. Will man hauptsächlich mit SQL arbeiten, empfiehlt es sich, die anderen Fenster - vor allem das Objektfenster - ins Dock zu schicken, wie für den obigen Screenshot geschehen. Der Platz kommt den Elementen des Worksheets zugute: eine eigene kleine Werkzeugleiste oben der SQL-Bereich, in dem eine SQL-Anweisung oder mehrere Anweisungen stehen der Ausgabebereich, bestehend aus unterschiedlichen Ausgabefenstern, die durch Tab-Reiter erreichbar sind eine kleine Statusleiste unten
SQL Developer B-9 Reports Im SQL Developer kann eine SELECT-Anweisung als Report abgelegt und ausgeführt werden. Dabei hat das Werkzeug eine Reihe von Abfragen unten dem Ast Data Dictionary Reports bereits vordefiniert.hier lassen sich Informationen aus dem Objektfenster als Abfrageergebnis anzeigen. Anknüpfungpunkte zu den Data Dictionary Reports finden sich natürlich in dieser Unterlage im Kapitel 6 (Thema Data Dictionary) und Anhang C (Data Dictionary Tabellen). Im zweiten Ast kann jeder Benutzer eigene Reports anlegen. Dabei kann dieser Ast nach Belieben organisiert werden. Mit RMT steht ein Kontextmenü zur Verfügung, das dem Benutzer das Anlegen, Ändern und Löschen von Unterordnern und Reports erlaubt.
B-10 SQL Developer Report-Definition Ein Report hat die folgenden Eigenschaften: Diese können bei einem neuen Benutzer-Report erfasst bzw. später geändert werden (RMT im Baum). Nach der Ausführung steht das Ergebnis in einem eigenen Ausgabefenster: Mit dem SQL-Button kann aus dem Ausgabefenster heraus die SELECT-Anweisung in ein neues Worksheet übertragen werden. Diese Funktion steht auch für die vordefinierten Data Dictionary Reports zur Verfügung.
SQL Developer B-11 Variablen Innerhalb der SELECT-Anweisung kann anstelle eines Wertes auch eine Variable angegeben werden, die bei der Ausführung des Reports vom Benutzer mit ausgefüllt werden muss. 1 Beispiel: Es sollen die Kundendaten zu einer Kundennummer ausgegeben werden - die Kundennummer weiß man jedoch erst bei der konkreten Abfrage. Herkömmlicherweise müsste das SQL-Programm editiert und die gewünschte Kundennummer in die WHE- RE-Klausel eingetragen werden. Im Developer Report ist die folgende Lösung möglich: Zur Laufzeit wird die eingetragene Bind-Variable :NUMMER abgefragt: 1 Im Gegensatz zu SQL*Plus (vgl. Anhang A) werden im SQL Developer Bind Variablen verwendet, die nicht an beliebiger Stelle stehen dürfen, sondern nur dort, wo sie einen Wert ersetzen.
B-12 SQL Developer Im obigen Beispiel wird in Folge der Kunde mit der Nummer 8400 ausgegeben (oder nichts, wenn es keinen Kunden mit dieser Nummer gibt): Copyright 2006-2007 by J.Fritze und F.Roeing, Dortmund. Alle Rechte vorbehalten.die Weitergabe an Dritte sowie Vervielfältigungen jeglicher Art sind nur mit schriftlicher Genehmigung der Autoren gestattet.