· 8 years ago · Dec 15, 2017, 10:24 AM
1-- ----------------------------------------------------------------------
2-- DAB1 Bewertetes_Praktikum_03: Kaffee-Datenbank Lösungen
3--
4-- Name:
5-- ----------------------------------------------------------------------
6
7USE DAB1_Bewertetes_Praktikum_03;
8
9-- ----------------------------------------------------------------------
10-- Aufgabe 1
11-- ----------------------------------------------------------------------
12DROP TABLE IF EXISTS Lieferung;
13CREATE TABLE Lieferung (
14 SNr CHAR(3) NOT NULL,
15 FNr CHAR(3) NOT NULL,
16 KNr CHAR(3) NOT NULL,
17 LNr CHAR(3) NOT NULL,
18 LAnzKg decimaL(10,3) NOT NULL,
19 LDatum DATE NOT NULL
20)
21
22 -- ----------------------------------------------------------------------
23 -- Aufgabe 2
24 -- ----------------------------------------------------------------------
25 SELECT
26 DISTINCTs.SNr,
27 s.SOrt
28 FROM Sammelstelle s
29 JOIN LieferungMoeglich lm ON lm.SNrr = s.SNr
30 JOIN Lieferung l ON l.SNr = lm.SNr AND l.FNr = lm.FNr AND l.KNr = lm.KNr
31 WHERE l.LAnzKg = (SELECT MAX(l2.LAnzKg)
32 FROM Lieferung l2
33 WHERE l2.SNr = s.SNr);
34
35-- ----------------------------------------------------------------------
36-- Aufgabe 3
37-- ----------------------------------------------------------------------
38SELECT DISTINCT
39 s.SNr,
40 s.SLand
41FROM Sammelstelle s
42 JOIN AbgabeMoeglich am ON am.SNr = s.SNr
43 JOIN Abgabe a ON a.SNr = am.SNr AND a.KNr = am.KNr
44 JOIN LieferungMoeglich lm ON lm.SNr = s.SNr
45 JOIN Lieferung l ON l.SNr = lm.SNr AND l.FNr = lm.FNr AND l.KNr = lm.KNr
46WHERE COUNT(a.ANr) > 5 AND COUNT(l.LNr) > 3;
47-- ----------------------------------------------------------------------
48-- Aufgabe 4
49-- ----------------------------------------------------------------------
50
51/*
52
53Eigene Abfrage (umgangssprachlich):
54
55Abfrage liefert alle Kaffeesorten die von den Fabriken vor dem 7. Dezember 2013 geliefert wurden
56
57
58
59*/
60
61SELECT DISTINCT
62 k.KName,
63 f.FOrt,
64 f.FLand
65FROM Lieferung
66 JOIN LieferungMoeglich lm ON l.SNr = lm.SNr AND l.FNr = lm.FNr AND l.KNr = lm.KNr
67 JOIN Fabrik f ON f. FNr = lm.FNr
68 JOIN KaffeSorte k ON k.KNr = lm.KNr
69WHERE l.LDatum < '2013-12-07';