BNr,Titel, Autor, Gebiet, Verlag, Preis - home.hs

Werbung
Übungen Datenbanken
IM-M
1
-----------------------------------------------------------------------------------------------------------------------------------------------
1. Datenbanken / SQL (DML) Rechnerübung
Gegeben sind folgende Relationen:
R1: BUCH (BNr,Titel, Autor, Gebiet, Verlag, Preis) (s.u.)
R2: ENTLEIHER (ENr, Name, Ort)
(Der Zugriffspfad für diese Tabellen wird Ihnen in der einführenden Übung mitgeteilt)
BNr
Titel
Autor
Gebiet
b15
Oracle8i
Eickler
DB
b17
Java
Welter
Programmierung
M+T
34.90
b25
Projektmanagem Hansen
ent
SW-Engineering
Springer
52.50
b18
C++
Beck
Programmierung
Wiley
19.90
b20
Access
Beck
DB
M+T
35.50
b16
WLAN
Heller
Netze
Springer
49.90
……
……
……
……
……
……
Annahmen:
Verlag
Preis
59.90
Von einem Buch sei jeweils nur 1 Exemplar vorhanden
Zu jedem Buch wird nur jeweils 1 Autor gespeichert
1.1 Datenwiedergewinnung: Formulieren Sie die folgenden Aufgaben in SQL:
a) Lassen Sie sich den vollständigen Inhalt der beiden Tabellen anzeigen
b) Gesucht ist jeweils die vollständige Information über alle Entleiher, die in Karlsruhe wohnen.
c) Gesucht sind die Namen und Wohnorte aller Entleiher, aufsteigend sortiert nach dem Wohnort
d) Hat der Verlag „M+T“ im Gebiet „DB“ Bücher mit einem Preis unter 40 (€) ?
Gesucht: Titel, Verlag, Preis.
e) Lassen Sie Titel und Preis aller Bücher zum Gebiet „DB“ anzeigen, absteigend nach dem Preis
sortiert
f) Lassen Sie Autor und Titel für alle Bücher anzeigen, bei denen der Autor mit „H“ beginnt
g) Wieviele Bücher des Autors „Hansen“ sind in der Buchtabelle vorhanden?
Ausgabe: Autor, Anzahl Bücher
h) Wie hoch ist der Durchschnittspreis aller Bücher? Ausgabe: Durchschnittspreis
i) Wie hoch ist der Durchschnittspreis aller Bücher der verschiedenen Verlage?
Ausgabe: Verlag, Durchschnittspreis
1.2 Datenänderung
Kopieren Sie die Relationen BUCH und ENTLEIHER in entsprechende Tabellen unter Ihrer
Kennung. (Achtung: es werden nur Inhalte, keine evt. vorhandenen constraints übernommen)
a) Nehmen Sie einen neuen „passenden“ Datensatz in die Tabelle Buch auf.
b) Erhöhen Sie die Preise aller Bücher um 10%.
Lassen Sie den Inhalt der Tabelle Buch anzeigen
c) Entfernen Sie das Buch „C++“ des Autors „Beck“ aus der Datenbank.
d) Wenn Sie den Anfangszustand der Tabelle Buch wieder herstellen wollen (also alle Änderungen
rückgängig machen wollen), geben Sie folgenden SQL-Befehl:
ROLLBACK
Dies funktioniert aber NUR in der laufenden Sitzung!
----------------------------------------------------------------------------------------------------------------------------------------------Kühn/Fb W
2007
IMM-Ueb-Teil1
Übungen Datenbanken
IM-M
2
-----------------------------------------------------------------------------------------------------------------------------------------------
2. SQL (DML und DDL) Rechnerübung
2.1 Benutzer entleihen Bücher. Dies lässt sich unterschiedlich darstellen
a)
Entleiher
Buch
1
b)
n
Entleiher
Buch
Ausleihe
1
n
m
?
1
Geben Sie einen sinnvollen Satzaufbau für die Tabellen Buch und Ausleihe in den Fällen a) bzw. b)
an und üÜberlegen Sie sich je (mindestens) 2 Argumente, die für Lösung a) bzw. b) sprechen.
2.2 Erstellen Sie die in Aufgabe 2.3b) entworfene Tabelle AUSLEIHE mit den von Ihnen
festgelegten Feldern.
Vereinbaren Sie dabei auch einen primary key.
Welche Attribute vereinbaren Sie als NOT NULL und warum?
2.3 Füllen Sie diese Tabelle mit mindestens 10 Zeilen (auch mit bereits überschrittenem
Rückgabedatum).
Lassen Sie den Inhalt der Tabelle anzeigen.
2.4 Welche Ergebnistabelle liefert
a) ein „kartesisches Produkt“ der beiden Tabellen Entleiher und Ausleihe
b) ein (inner) Join der beiden Tabellen Entleiher und Ausleihe mit der Verbundbedingung:
Entleiher.Enr=Ausleihe.Enr
2.5 Welche Bücher hat der Entleiher mit der Enr ... ausgeliehen (verwenden Sie eine „passende“
Enr). Anzeige: Enr, BNr, Rückgabedatum
2.6 Geben Sie die Benutzerinformationen zu den Benutzer aus, die Bücher ausgeliehen haben,
deren Rückgabedatum überschritten ist (Ausgabe: Enr, Name, Ort; keine Duplikate in der
Ausgabe).
2.7 Stellen Sie fest, wieviele Bücher jeder Benutzer jeweils ausgeliehen hat.
Anzeige: Enr, Anzahl_entliehene_Bücher (verwenden Sie COUNT und GROUP BY).
2.8 Wie 3.6, aber Anzeige: Enr, Name, Anzahl_entliehene_Bücher
2.9 Der Entleiher Bauer mit der Entleihernummer e2 ist von Karlsruhe nach Stuttgart umgezogen.
Ändern Sie seinen Eintrag entsprechend.
Vereinbaren Sie für die Tabellen ENTLEIHER und BUCH nachträglich passende Felder als
Primärschlüssel.
2.10 Vereinbaren Sie für die Tabelle AUSLEIHE nachträglich Foreign Key Constraints bzgl. der
Tabellen ENTLEIHER und BUCH.
2.11 Verändern Sie die Struktur der Tabelle AUSLEIHE.
Es soll nun auch festgehalten werden, ob und wann ein Entleiher gemahnt worden ist.
Fügen Sie deshalb ein Attribut „Mahnkennzeichen“ hinzu:
Mkz (erlaubte Werte: 0, 1, 2; Voreinstellung:0).
Lassen Sie den Inhalt der Tabelle Ausleihe anzeigen.
2.12 Ändern Sie für alle Ausleihdatensätze, bei denen das Rückgabedatum überschritten ist, das
Mahnkennzeichen auf: Mkz=1.
----------------------------------------------------------------------------------------------------------------------------------------------Kühn/Fb W
2007
IMM-Ueb-Teil1
Herunterladen