From f9ff726137004a78dda390167c8b81ecbcfaae24 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sat, 14 Nov 2015 01:29:11 +0000 Subject: =?UTF-8?q?dbs=20=C2=AD=2005?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ws2015/dbs/blaetter/05/abgabe.md | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 ws2015/dbs/blaetter/05/abgabe.md (limited to 'ws2015') diff --git a/ws2015/dbs/blaetter/05/abgabe.md b/ws2015/dbs/blaetter/05/abgabe.md new file mode 100644 index 0000000..046a270 --- /dev/null +++ b/ws2015/dbs/blaetter/05/abgabe.md @@ -0,0 +1,52 @@ +--- +header-includes: + - \lstset{frame=single, breaklines=true, postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow\space}}} +--- + +# Anfragen in SQL + +a) + +~~~ {.sql .numberLines} +SELECT pname FROM P WHERE ort = "Berlin" +~~~ +b) + +~~~ {.sql .numberLines} +SELECT T.tnr FROM T, L, LTP WHERE LTP.tnr = T.tnr AND LTP.lnr = L.lnr AND L.lname = "Meier" +~~~ +c) + +~~~ {.sql .numberLines} +SELECT T.farbe FROM T, P, LTP WHERE LTP.pnr = P.pnr AND LTP.tnr = T.tnr AND P.ort = "Berlin" +~~~ +d) Ich nehme hier und im folgenden an, dass mit *P2* und *P3* die Projekte mit Nummer 2 und 3 gemeint sind---sind *P2* und *P3* Namen ist die Lösung komplett analog. + +~~~ {.sql .numberLines} +SELECT T.name, T.farbe FROM T, P, LTP \ + WHERE LTP.pnr = P.pnr AND LTP.tnr = T.tnr AND ( P.pnr = 2 OR P.pnr = 3 ) +~~~ + + +# Änderungsoperationen in SQL + +a) + +~~~ {.sql .numberLines} +INSERT INTO L (lname, status, sitz) VALUES ("Maier", 10, "Neuried"); +INSERT INTO LTP (lnr, tnr, pnr, menge) SELECT lnr, 4 as tnr, 8 as pnr, 200 as menge FROM L WHERE lname = "Maier"; -- lname ist schlüsselkanidat; ansonsten muss Datenbankspezifische Funktionalität genutzt werden um lnr zu ermitteln. +COMMIT; +~~~ +b) + +~~~ {.sql .numberLines} +UPDATE LTP SET menge = menge * 3 WHERE pnr = 4; +COMMIT; +~~~ +c) + +~~~ {.sql .numberLines} +DELETE FROM LTP WHERE lnr = 4; +DELETE FROM L WHERE lnr = 4; +COMMIT; +~~~ -- cgit v1.2.3