Datenbankprogrammierung (Oracle) - Informatik

Werbung
Universität Augsburg, Institut für Informatik
Datenbanken u. Informationssysteme
Dr. M. Endres
Übungsblatt 8
Datenbankprogrammierung (Oracle)
Aufgabe 1: DECODE und CASE
In der Vorlesung haben Sie die CASE-Anweisung kennen gelernt, um bedingte Spaltenwerte zu erzeugen. In Oracle
steht hierfür auch die Funktion DECODE zur Verfügung (siehe Skript). Bearbeiten Sie nun folgende Aufgaben:
a) Wie lässt sich DECODE durch CASE ausdrücken?
b) Wie lässt sich DECODE durch UNION-Konstrukte ausdrücken?
Schreiben Sie für beide Fälle geeignte SQL Anweisungen.
Aufgabe 2: SQL (Oracle)
Gegeben sei die folgende Relation:
messwerte(datum, wert_1, wert_2, wert_3, wert_4, wert_5, wert_6)
Die Spalten wert 1 bis wert 6 enthalten numerische Messwerte für den in datum angegebenen Tag. Bearbeiten
Sie die folgenden Aufgaben:
a) Erstellen Sie zunächst ihre eigene Relation messwerte und füllen Sie diese mit geeigneten Daten. datum ist
Primärschlüssel.
b) Geben Sie für jeden Tag den höchsten und den niedrigsten Messwert aus.
c) Geben Sie für jeden Tag wert 1 aus und die Differenz von wert 1 und dem Vortageswert von wert 1.
Aufgabe 3: Bäume
Der folgende Baum soll mittels der Nest-Set-Darstellung in Oracle gespeichert werden.
Fauna
Wirbeltiere
Säugetiere
Echsen
Schalentiere
Fische
a) Erzeugen Sie in SQL eine geeignete Relation mit den Feldern NODE NAME, LFT und RGT.
b) Verwenden Sie den Depth-First Traversierungsalgorithmus um eine Nested-Sets-Darstellung des Baums zu bestimmen. Geben sie die vollständige Tupelmenge an.
c) Ermitteln Sie mit SQL alle Vorgänger von “Echsen”.
d) Ermitteln Sie mit SQL alle Nachfolger von “Wirbeltiere”.
e) “Saurier” gehören zur Gattung der Wirbeltiere. Fügen Sie “Saurier” rechts von “Säugetiere” ein.
f) Zu den Schalentieren gehören die Insekten. Erweiteren Sie Ihren Baum um einen Knoten “Insekten”.
g) Aufgrund zu hoher Umweltverschmutzung sind alle Wirbeltiere ausgestorben. Löschen Sie den gesamten Teilbaum
aus ihrer Struktur.
Herunterladen