Skip to content

Latest commit

 

History

History
138 lines (103 loc) · 3.85 KB

uebung_03.md

File metadata and controls

138 lines (103 loc) · 3.85 KB

Tutorium - Grundlagen Datenbanken - Blatt 3

Vorbereitungen

  • Für dieses Aufgabenblatt wird die SQL-Dump-Datei schema_default.sql benötigt, die sich im Verzeichnis sql befindet.
  • Die SQL-Dump-Datei wird in SQL-Plus mittels start <Dateipfad/zur/sql-dump-datei.sql> in die Datenbank importiert.
  • Beispiele
    • Linux start ~/Tutorium.sql
    • Windows start C:\Users\max.mustermann\Desktop\Tutorium.sql

Datenbankmodell

Datenbankmodell

Aufgaben

Aufgabe 1

Erstelle eine INNER JOIN (optional WHERE) Abfrage um die Beziehungen zwischen den Tabellen GAS_STATION, Provider, COUNTRY und ADDRESS aufzulösen, sodass eine ähnliche Ausgabe erstellt wird wie abgebildet.

Anbieter Straße PLZ Ort Land Steuer
Shell Zurlaubener 1 54292 Trier Deutschland 0.19
Esso Triererstraße 10 53937 Hellenthal Deutschland 0,19
... ... ... ... ... ...

Lösung

Deine Lösung

Aufgabe 2

Suche alle Tankstellen raus, deren Straßenname an zweiter Stelle ein U haben (case-insensetive). Verändere dazu die Abfrage aus Aufgabe 1. Optional für Enthusiasten, suche mittels Regulärem Ausdruck.

Lösung

Deine Lösung

Aufgabe 3

Suche alle Tankstellen raus, die sich in Trier befinden.

Lösung

Deine Lösung

Aufgabe 4

Füge eine fiktive Tankstelle hinzu. Sie darf auf keine bestehenden Informationen basieren. Nutze möglichst wenige SQL-Befehle. Rufe fehlende Informationen möglichst direkt ab.

Lösung

Deine Lösung

Aufgabe 5

Erstelle eine INNER JOIN (optional WHERE) Abfrage um die Beziehung zwischen den Tabellen ACCOUNT, VEHICLE, VEHICLE_TYPE, GAS und PRODUCER aufzulösen und zeige die Spalten FORNAME, SURNAME, VEHICLE_TYPE_NAME, VERSION, BUILD_YEAR, PRODUCER_NAME und GAS_NAME an. Richte SQL-Plus so ein, dass möglicht jeder Datensatz nur eine Zeile belegt.

  • COLUMN FORMAT a<Zeichenlänge>
  • COLUMN FORMAT <Zahlenlänge, pro Länge eine 9>
  • Beispiel für eine Spalte des Datentyps VARCHAR2: COLUMN SURNAME FORMAT a16
  • Beispiel für eine Spalte des Datentyps NUMERIC: COLUMN SOLD_KILOMETER 9999

Lösung

Deine Lösung

Aufgabe 6

Welche Fahrzeuge wurden noch keinem Benutzer zugewiesen? Gebe über das Fahrzeug Informationen über den Typ, den Hersteller, das Modell, Baujahr und den Kraftstoff aus.

Lösung

Deine Lösung

Aufgabe 7

Verknüpfe eines der Autos aus Aufgabe 6 mit deinem Benutzernamen. Verwende dazu möglichst wenige SQL-Statements.

Lösung

Deine Lösung

Aufgabe 8

An welcher Tankstelle wurde noch nie getankt? Gebe zu den Tankstellen die Informationen über den Standort der Tankstellen aus.

Lösung

Deine Lösung

Aufgabe 9

Liste alle Benutzer (Vorname und Nachname) mit Fahrzeug (Hersteller, Modell, Alias) auf, die noch nie einen Beleg hinzugefügt haben.

Lösung

Deine Lösung

Aufgabe 10

Liste alle Benutzer auf, die mit einem Fahrzeug schonmal im Außland tanken waren.

Lösung

Deine Lösung

Aufgabe 11

Wie viele Benutzer haben einen LKW registriert?

Lösung

Deine Lösung

Aufgabe 12

Wie viele Benutzer haben einen PKW und einen LKW registriert?

Lösung

Deine Lösung

Aufgabe 13

Führe den Patch 02_patch.sql, der sich im Verzeichnis sql befindet, in deiner Datenbank aus. Wie lautet der Befehlt zum import?

Lösung

Deine Lösung

Aufgabe 14

Aktualisiere den Steuersatz aller Belege auf den Steuersatz des Landes, indem die Kunden getankt haben.

Lösung

Deine Lösung