Datenbanken: SQL-Praktikum 1 ------------------------------------------------------------------------------------------------------------------------------------------- Kurze Bedienungsanleitung zu Oracle / isql Zugriff auf die Oracle-Datenbanküber das WEB Sie haben die Möglichkeit, mit einem Browser über das web auf die Oracle-Datenbank von WI zuzugreifen (z.B. von einem beliebigen Pool aus). 1. Zugang Verwenden Sie die URL: http://www.fak-wi.hs-karlsruhe.de/isqlplus/ Es erscheint ein Anmeldefenster Benutzername: Verwenden Sie dbuser... (wie zugeteilt) Kennwort: kein (Buchstabenfolge „k e i n“ !) Connect-Bezeichner: widb1 Anmelden Systemantwort: „Ihr Kennwort ist abgelaufen. Wählen Sie ein neues Kennwort“. Tun sie das und notieren Sie sich dieses Kennwort! In dem erscheinenden Eingabefenster können Sie nun SQL-, PL/SQL und manche SQL*PLUSBefehle eingeben, die Ergebnisse sehen Sie in einem (oder mehreren) Ausgabefenster(n) darunter. Die Befehle werden mit den button "Ausführen" abgeschickt. Ein ; zum Beenden des SQLBefehls ist hier nur notwendig, wenn Sie mehr als einen Befehl auf einmal abschicken. 2. Hinweise 2.1 SQL-Skripte Sie können (bei umfangreicheren Aufgaben wegen der Dokumentation sehr zu empfehlen) ihre SQL-Befehle mit einem beliebigen Editor schreiben, in einer Datei mit der Endung .txt oder .sql speichern ("SQL-Skript") und dann laden und ablaufen lassen. Es muss sich um eine reine Textdatei ohne Editor-spezifische Formatierungen handeln, verwenden Sie deshalb z.B. den Systemeditor von windows (Start – Programme – Zubehör – Editor) oder speichern Sie mit Word erstellte Dateien als .txt. Starten sie den Editor auf Betriebssystemebene als eigenen Prozess, schreiben Sie die SQL-Befehle und speichern Sie alles in einer Datei. Das Editorfenster kann offen bleiben. Jetzt dieses Skript im Browserfenster suchen (mittels „Skript laden“ - „durchsuchen“), öffnen, laden -> Inhalt erscheint im Arbeitsbereich; starten. Alternative: Sie übertragen nur die gerade relevanten Befehle mittels „kopieren“ / „einfügen“ zwischen Editorfenster und DB-Arbeitsbereich. Wenn sie Ihr SQL-Skript schrittweise weiterentwickeln, so brauchen Sie bereits abgearbeitete Befehle nicht zu löschen (Dokumentation Ihrer Arbeit!), sondern Sie können Sie „ausblenden“ durch a) ein rem (von "remove") am Zeilenanfang blendet die Zeile aus; rem wirkt nur zeilenweise. b) /* beliebiger Text / Befehle */ blendet alles zwischen den Begrenzungszeichen aus. ------------------------------------------------------------------------------------------------------------------------------------------Kühn/Fb W IMB-BEDIEN-Oracle-SS07 Datenbanken: SQL-Praktikum 2 ------------------------------------------------------------------------------------------------------------------------------------------- 2.2 Dokumentation der Ergebnisse Die Systemantworten / Ergebnisse Ihrer Aktionen können beim Zugang übers web nicht automatisch protokolliert werden. Wenn Sie diese dokumentieren wollen, so müssen Sie die Ausgaben in eine eigene Datei kopieren. Öffnen Sie dazu einen beliebigen Editor (WORD bringt hier eine bessere Ausgabeformatierung als der Systemeditor) und übertragen Sie die Ergebnisse mit „kopieren“ / „einfügen“ zwischen DB-Arbeitsbereich und Editorfenster. 2.3 Beachten Sie a) Kommandos, Tabellennamen, Attributnamen,... sind in Oracle nicht "case-sensitive"; aber bei Suche nach Attributwerten muß auf Groß-/Kleinschreibung geachtet werden! b) Beim Zugang über das web sind alle SQL-Befehle und einige SQL*PLUS Befehle verwendbar. Sehr nützlich für unbekannte Tabellen (oder Views) ist der SQL*PLUS-Befehl DESCRIBE <Tabellenname> der den Aufbau einer Tabelle zeigt, d.h. die Attributnamen und Datentypen (während SELECT... ihren Inhalt liefert). c) Bevor Sie sich den Inhalt einer unbekannten Tabelle anzeigen lassen, kann es nützlich sein, die Anzahl Zeilen festzustellen. Diese erhalten Sie mit SELECT COUNT(*) FROM <Tabellenname>; Wenn DESCRIBE… und COUNT anzeigen, dass die unbekannte Tabelle viele Zeilen und Spalten hat, so sollten die gewünschten Informationen sehr gezielt mittels Attributliste und Where-Klausel ausgewählt werden. d) Eine Kopie einer vorhandenen Tabelle erhalten Sie mit: CREATE TABLE <neuer Name> AS SELECT * FROM <alter Name>; e) Beachten Sie: Beim Zugriff auf eine Tabelle, die unter einer anderen Benutzerkennung gespeichert ist, muss dem „alten“ Tabellennamen die Benutzerkennung vorangestellt werden, also Inhalt lesen: SELECT * FROM < Benutzerkennung.Tabellenname > Kopie erstellen: CREATE TABLE <neuer Tabellenname> AS SELECT * FROM < Benutzerkennung.alter Tabellenname >; f) Wenn ein Objekt einen (zu) langen Namen hat, so können Sie für dieses Objekt einen anderen Namen (ein Synonym) erzeugen, unter welchem es in Zukunft (auch) für Sie ansprechbar ist: CREATE SYNONYM <Synonymname> FOR <Objektname>; g) Sollten Sie nicht mehr sicher sein, welche Tabellen sich unter Ihrer Kennung befinden, so können Sie sich die Tabellennamen aus Ihrem „Systemkatalog“ anzeigen lassen SELECT * FROM CAT; ------------------------------------------------------------------------------------------------------------------------------------------Kühn/Fb W IMB-BEDIEN-Oracle-SS07 Datenbanken: SQL-Praktikum 3 ------------------------------------------------------------------------------------------------------------------------------------------- 3. Einführende Aufgaben: Aufgabe 1: Unter der Kennung kuehn gibt es die Tabellen b2Kunde, b2Rechnung, b2Vertreter, b2Lieferant; b2Lieferprogramm (s.Folien, Beispiel2) 1.1 Lassen Sie sich den Aufbau dieser Tabellen anzeigen (describe...) 1.2 Lassen Sie sich den Inhalt dieser Tabellen anzeigen 1.3 Führen Sie die folgenden SQL-Befehle jetzt am System aus: - Prejektion der Tabelle b2Rechnung auf die Attribute KdNr, RechBetrag. - Selektion in b2Rechnung mit Bedingung Rechbetrag>20 000 - (Inner) Join von b2Rechnung und b2Kunde mit b2Rechnung.KdNr = b2Kunde.KdNr - Gesucht sind Name und Wohnort der Kunden die vom Vertreter des Bezirks ‚Mitte’ betreut werden - Gesucht sind Teilenummern und Name der Lieferanten, die Teile mit den Nummern 9 bis 11 liefern. Aufgabe 2: Unter der Kennung kuehn gibt es die Tabellen bibBUCH2 und bibENTLEIHER. 2.1 Lassen Sie sich den Aufbau dieser Tabellen anzeigen (describe...) 2.2 Lassen Sie sich den Inhalt dieser Tabellen anzeig 2.3 Erzeugen Sie jeweils einen abkürzenden Namen (Synonym) für diese Tabellen. Bearbeiten Sie das ausgegebene Übungsblatt2. Speichern Sie die erfolgreich abgelaufenen SQL-Befehle in einer Datei, z.B. in der Form rem Aufgabe 2.1 rem a) select .... rem b) select .... usw. Beenden Sie Ihre Arbeit mit anklicken des „Abmelden“-Feldes im rechten oberen Fensterbereich! ------------------------------------------------------------------------------------------------------------------------------------------Kühn/Fb W IMB-BEDIEN-Oracle-SS07