From ab9484b343abd995cba915bb0ba4be8907dfa6ec Mon Sep 17 00:00:00 2001
From: Gregor Kleen <gkleen@yggdrasil.li>
Date: Fri, 13 Nov 2015 23:45:26 +0000
Subject: Shorter lecture names

---
 ws2015/dbs/blaetter/01/abgabe.md | 20 +++++++++++++++
 ws2015/dbs/blaetter/02/abgabe.md | 30 ++++++++++++++++++++++
 ws2015/dbs/blaetter/03/abgabe.md | 54 ++++++++++++++++++++++++++++++++++++++++
 ws2015/dbs/blaetter/04/abgabe.md | 15 +++++++++++
 4 files changed, 119 insertions(+)
 create mode 100644 ws2015/dbs/blaetter/01/abgabe.md
 create mode 100644 ws2015/dbs/blaetter/02/abgabe.md
 create mode 100644 ws2015/dbs/blaetter/03/abgabe.md
 create mode 100644 ws2015/dbs/blaetter/04/abgabe.md

(limited to 'ws2015/dbs/blaetter')

diff --git a/ws2015/dbs/blaetter/01/abgabe.md b/ws2015/dbs/blaetter/01/abgabe.md
new file mode 100644
index 0000000..5538409
--- /dev/null
+++ b/ws2015/dbs/blaetter/01/abgabe.md
@@ -0,0 +1,20 @@
+# Aufgabe 1-1
+
+a)
+    - Integration
+    - Operationen
+    - Data Dictionary
+    - Benutzersichten
+    - Konsistenzüberwachung
+    - Zugriffskontrolle
+    - Transaktionen
+    - Synchronisation
+    - Datensicherung
+b)
+    Logische Datenunabhängigkeit
+    ~ Die Benutzersichten (externe Schemata) sollen unabhängig sein vom
+    logischen Schema (Tabellen o.ä.)
+
+    Physische Datenunabhängigkeit
+    ~ Das logische Schema soll unabhängig sein vom internen Schema (die
+    Representation der Daten auf dem Medium)
diff --git a/ws2015/dbs/blaetter/02/abgabe.md b/ws2015/dbs/blaetter/02/abgabe.md
new file mode 100644
index 0000000..e9d7d5e
--- /dev/null
+++ b/ws2015/dbs/blaetter/02/abgabe.md
@@ -0,0 +1,30 @@
+# Relationales Datenmodell
+
+a)
+    Daten (Name der Lieferanden, Adressen) sind redundant gespeichert.
+b)
+    Es ist nicht garantiert, dass `Lieferant`, `Adresse`, oder `(Lieferant, Adresse)` Lieferanden eindeutig identifizieren.
+
+    Ersetzung muss jedoch nach `Lieferant` oder `(Lieferant, Adresse)` vorgenommen werden, nicht nach einer etwaigen eindeutigen Spalte, um Konsistenz der redundanten Daten zu erhalten.
+
+    `UPDATE Tabelle SET Adresse="Badstr. 34" WHERE Lieferant = "Huber" AND Adresse = "Turmstr. 12"`
+c)
+    Die ausschließlich mit dem Lieferanden assoziierten Daten `(Lieferant, Adresse)` gehen verloren.
+d)
+    Bestenfalls kann `("<name>", "<adresse>", NULL, NULL)` eingefügt werden.
+    Dies scheint nicht der Semantik der Tabelle zu entsprechen.
+e)
+    ```` {.sql}
+    CREATE TABLE suppliers
+      ( id INTEGER PRIMARY KEY
+      , name VARCHAR UNIQUE
+      , adress VARCHAR
+      );
+    CREATE TABLE orders
+      ( id INTEGER PRIMARY KEY
+      , supplier INTEGER REFERENCES suppliers (id)
+      , item VARCHAR NOT NULL
+      , price FLOAT
+      , UNIQUE (supplier, item)
+      );
+    ````
diff --git a/ws2015/dbs/blaetter/03/abgabe.md b/ws2015/dbs/blaetter/03/abgabe.md
new file mode 100644
index 0000000..df6a9b2
--- /dev/null
+++ b/ws2015/dbs/blaetter/03/abgabe.md
@@ -0,0 +1,54 @@
+# SQL-DDL
+
+a)
+    ~~~ {.sql}
+    CREATE TABLE L
+      ( lnr VARCHAR(10) PRIMARY KEY
+      , lname VARCHAR(40) NOT NULL
+      , sitz VARCHAR(40)
+      );
+
+    CREATE TABLE T
+      ( tnr VARCHAR(10) PRIMARY KEY
+      , tname VARCHAR(40) NOT NULL
+      , farbe VARCHAR(40)
+      , gewicht INTEGER
+      , preis VARCHAR(40)
+      );
+
+    CREATE TABLE P
+      ( pnr VARCHAR(10) PRIMARY KEY
+      , pname VARCHAR(40) NOT NULL
+      , ort VARCHAR(40)
+      );
+
+    CREATE TABLE LTP
+      ( lnr VARCHAR(10)
+      , tnr VARCHAR(10)
+      , pnr VARCHAR(10)
+      , menge INTEGER
+      , FOREIGN KEY (lnr) REFERENCES L(lnr)
+      , FOREIGN KEY (tnr) REFERENCES T(tnr)
+      , FOREIGN KEY (pnr) REFERENCES P(pnr)
+      , PRIMARY KEY (lnr, tnr, pnr)
+      );
+    ~~~
+b)
+    ~~~ {.sql}
+    ALTER TABLE L ADD status INTEGER;
+    ~~~
+c)
+    ~~~ {.sql}
+    ALTER TABLE T MODIFY preis float(2);
+    ~~~
+d)
+    ~~~ {.sql}
+    ALTER TABLE T DROP COLUMN preis;
+    ~~~
+e)
+    ~~~ {.sql}
+    DROP TABLE LTP;
+    DROP TABLE L;
+    DROP TABLE T;
+    DROP TABLE P;
+    ~~~
diff --git a/ws2015/dbs/blaetter/04/abgabe.md b/ws2015/dbs/blaetter/04/abgabe.md
new file mode 100644
index 0000000..708a249
--- /dev/null
+++ b/ws2015/dbs/blaetter/04/abgabe.md
@@ -0,0 +1,15 @@
+---
+header-includes:
+        - \usepackage{amsmath}
+        - \usepackage{amssymb}
+---
+
+# Natural Join
+
+Zu $\land$.
+
+# Anfragen in relationaler Algebra
+
+a) $\pi_{\texttt{P.pname}}(\sigma_{\texttt{P.ort} = \text{Berlin}}(\texttt{P}))$
+b) $\pi_{\texttt{T.tnr}} \left ( \sigma_{\texttt{L.lname} = \text{Meier}} \left ( \texttt{L} \bowtie \texttt{LTP} \texttt{T} \right ) \right )$
+c) $\pi_{\texttt{T.tname}}(\sigma_{\texttt{P.ort} = \text{Berlin}}(\texttt{P} \bowtie \texttt{LTP} \bowtie \texttt{T}))$
-- 
cgit v1.2.3