• Keine Ergebnisse gefunden

Vorlesung Datenbanken SS 2005 Prof. Dr. Schicker Übung 2 Thema: Lesezugriffe auf die Beispieldatenbank BIKE. Übung

N/A
N/A
Protected

Academic year: 2021

Aktie "Vorlesung Datenbanken SS 2005 Prof. Dr. Schicker Übung 2 Thema: Lesezugriffe auf die Beispieldatenbank BIKE. Übung"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung Datenbanken SS 2005 Prof. Dr. Schicker

Übung 2

Thema: Lesezugriffe auf die Beispieldatenbank BIKE.

Übung: Komplexe SELECT-Befehle (Where, Join, Group by, Having, Union, Order by).

Aufgaben:

(1) Geben Sie die Relation Auftrag aus, wobei allerdings die Attribute Persnr und Kundnr durch die Attribute Persname und Kundname geeignet zu ersetzen sind.

(2) Geben Sie die Namen der Mitarbeiter aus, und zwar zusammen mit der Differenz zum Gehalt des Vorgesetzten. Warum werden nicht alle 9 Mitarbeiter ausgegeben?

(3) Geben Sie die Namen aller Mitarbeiter aus, und zwar zusammen mit der Differenz zum Gehalt des Vorgesetzten. Gegebenenfalls ist die Zahl 0 (nicht NULL!) einzusetzen.

(4) Schreiben Sie ein (Mini-)Programm (siehe Hinweise), das einen Mitarbeiternamen anfordert. Anschließend erfolgt die Ausgabe aller Daten dieses Mitarbeiters, inkl. der Gehaltsdifferenz zum Vorgesetzten.

(5) Geben Sie die Relation Teilestruktur komplett aus, wobei allerdings statt der Oberteilnr und der Einzel- teilnr die entsprechenden Teilebezeichnungen auszugeben sind.

(6) Geben Sie zu allen zusammengesetzten Teilen an, aus wie vielen Einzelteilen diese bestehen.

(7) Analog 6, wobei nur die Teile ausgegeben werden, die aus mehr als zehn Teilen zusammengesetzt sind.

(8) Geben Sie mit einem einzigen Select-Befehl alle Wohnorte geordnet aus, die insgesamt in den Relationen Personal, Kunde und Lieferant vorkommen. Gleiche Wohnorte dürfen nicht mehrfach ausgegeben werden!

(9) Geben Sie das mittlere Auftragsvolumen aus.

(10) Geben Sie die drei Mitarbeiter aus, die am meisten verdienen, sortiert nach Gehalt (sehr schwer!!!!).

Hinweise:

• In Aufgabe 1 liegt ein Join zwischen Auftrag, Kunde und Personal vor.

• Verwenden Sie bei Aufgabe 2 einen „normalen“ (Inner-)Join. Bei Aufgabe 3 liegt ein Outer-Join vor! Gilt dies auch für Aufgabe 4?

• Verwenden Sie in Aufgabe 5 und 10 Aliasnamen (z.B. Teilestamm T1) und qualifizieren Sie die nicht ein- deutig zuzuordnenden Namen (z.B. Teilestruktur.Einheit)

• Unterscheiden Sie in Aufgabe 6 nicht zwischen Einzelteilen (Einheit ST) und Längenangaben (Einheit CM) und berücksichtigen Sie nicht, dass eventuell Einzelteile wieder zusammengesetzte Teile sind. Das komplette Stücklistenproblem ist nämlich nur rekursiv, also nur mittels entsprechender Programmierung lösbar.

• In Aufgabe 9 müssen zunächst alle Auftragspositionen geeignet aufsummiert werden. Danach ist erst der Mittelwert zu bilden. Empfehlung: Unterselect-Befehl in der From-Klausel.

• Versuchen Sie Aufgabe 10 in seiner allgemeinen Form zu lösen: Auch wenn mehrere Mitarbeiter gleich viel verdienen, sind immer nur drei Mitarbeiter auszugeben. Ausnahme: Der dritte Platz ist nicht eindeutig. Dann sind alle Dritten auszugeben! Natürlich soll die Aufgabe so gelöst werden, dass durch kleine Änderungen auch die ersten vier oder fünf oder hundert Mitarbeiter ausgegeben werden können.

• Zur optimalen Prüfungsvorbereitung empfehle ich schon jetzt, die schwierigeren Aufgaben erst auf Papier zu lösen. Die Eingabe am Rechner dient dann nur der Kontrolle! Vergessen Sie Ihr persönliches Feedback nicht. Fragen Sie sich, warum Ihr erster Entwurf nicht funktionierte, wo Ihre Überlegungen fehlerhaft waren, und wie Sie in Zukunft bessere Resultate erzielen können.

• Im Skript finden Sie am Ende von Kapitel 4 weitere Aufgaben. Doch ich glaube, dass diese 10 Aufgaben bereits mehr als ausreichend sind.

• Interessante SQL-PLUS-Befehle (wichtig für Aufgabe 4) sind:

REMARK text Kommentarzeile, der Text wird überlesen

PROMPT text Der angegebene Text (ohne Hochkomma) wird auf Bild- schirm ausgegeben

PAUSE text Der Text wird auf Bildschirm ausgegeben, das Programm wartet bis zur Eingabe von Return

ACCEPT variable typ PROMPT ‘text’ Gibt den Text auf Bildschirm aus, liest die folgende Eingabe in die Variable des angegebenen Typs ein. Als Typ sind NUMBER (Zahl) und CHAR (Strings) erlaubt. Beispiel:

Accept Persnr Number Prompt 'Personalnr eingeben:' Die mit Accept erzeugten Variablen können in SQL-Anweisungen verwendet werden! Zur Unterscheidung von Spaltennamen muss diesen Variablen dort allerdings das Zeichen ‘&’ vorangestellt werden (z.B. &Persnr).

Referenzen

ÄHNLICHE DOKUMENTE

(a) Sie nden die L A TEX-Vorlage für Übungsabgaben im ILIAS-Übungsobjekt oder direkt auf der Veranstaltungs-Website (dort, wo Sie auch dieses Aufgabenblatt herunter- geladen haben).

Institut für

I Entschlüsseln Sie den Ciphertext (inklusive Angabe Ihrer Rechenschritte). c

Institut für

Verwenden Sie dabei Square-and-Multiply und geben Sie Ihre Rechenschritte als Tabelle wie in der Vorlesung an. Aufgabe 4 (10 Punkte): Eigenschaften

Führen Sie für folgende Zahlen den

Hierzu betrachten wir in dieser Aufgabe zunächst nur in einer festen Reihenfolge geklammerte Produkte.. Seien x

Da jedes Element der Ordnung p eine Untergruppe der Ordnung p erzeugt und umgekehrt auch jedes Element einer Untergruppe der Ordnung p die ordnung p haben muss oder die 1 ist,