summaryrefslogtreecommitdiff
path: root/ws2015/dbs
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2015-11-13 23:45:26 +0000
committerGregor Kleen <gkleen@yggdrasil.li>2015-11-13 23:45:26 +0000
commitab9484b343abd995cba915bb0ba4be8907dfa6ec (patch)
treef441968094bec070499d24e45e8a29f1315da1f4 /ws2015/dbs
parent14dc76bda755c850f859a4b974c793e694f2b0b4 (diff)
downloaduni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.tar
uni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.tar.gz
uni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.tar.bz2
uni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.tar.xz
uni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.zip
Shorter lecture names
Diffstat (limited to 'ws2015/dbs')
-rw-r--r--ws2015/dbs/blaetter/01/abgabe.md20
-rw-r--r--ws2015/dbs/blaetter/02/abgabe.md30
-rw-r--r--ws2015/dbs/blaetter/03/abgabe.md54
-rw-r--r--ws2015/dbs/blaetter/04/abgabe.md15
4 files changed, 119 insertions, 0 deletions
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 @@
1# Aufgabe 1-1
2
3a)
4 - Integration
5 - Operationen
6 - Data Dictionary
7 - Benutzersichten
8 - Konsistenzüberwachung
9 - Zugriffskontrolle
10 - Transaktionen
11 - Synchronisation
12 - Datensicherung
13b)
14 Logische Datenunabhängigkeit
15 ~ Die Benutzersichten (externe Schemata) sollen unabhängig sein vom
16 logischen Schema (Tabellen o.ä.)
17
18 Physische Datenunabhängigkeit
19 ~ Das logische Schema soll unabhängig sein vom internen Schema (die
20 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 @@
1# Relationales Datenmodell
2
3a)
4 Daten (Name der Lieferanden, Adressen) sind redundant gespeichert.
5b)
6 Es ist nicht garantiert, dass `Lieferant`, `Adresse`, oder `(Lieferant, Adresse)` Lieferanden eindeutig identifizieren.
7
8 Ersetzung muss jedoch nach `Lieferant` oder `(Lieferant, Adresse)` vorgenommen werden, nicht nach einer etwaigen eindeutigen Spalte, um Konsistenz der redundanten Daten zu erhalten.
9
10 `UPDATE Tabelle SET Adresse="Badstr. 34" WHERE Lieferant = "Huber" AND Adresse = "Turmstr. 12"`
11c)
12 Die ausschließlich mit dem Lieferanden assoziierten Daten `(Lieferant, Adresse)` gehen verloren.
13d)
14 Bestenfalls kann `("<name>", "<adresse>", NULL, NULL)` eingefügt werden.
15 Dies scheint nicht der Semantik der Tabelle zu entsprechen.
16e)
17 ```` {.sql}
18 CREATE TABLE suppliers
19 ( id INTEGER PRIMARY KEY
20 , name VARCHAR UNIQUE
21 , adress VARCHAR
22 );
23 CREATE TABLE orders
24 ( id INTEGER PRIMARY KEY
25 , supplier INTEGER REFERENCES suppliers (id)
26 , item VARCHAR NOT NULL
27 , price FLOAT
28 , UNIQUE (supplier, item)
29 );
30 ````
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 @@
1# SQL-DDL
2
3a)
4 ~~~ {.sql}
5 CREATE TABLE L
6 ( lnr VARCHAR(10) PRIMARY KEY
7 , lname VARCHAR(40) NOT NULL
8 , sitz VARCHAR(40)
9 );
10
11 CREATE TABLE T
12 ( tnr VARCHAR(10) PRIMARY KEY
13 , tname VARCHAR(40) NOT NULL
14 , farbe VARCHAR(40)
15 , gewicht INTEGER
16 , preis VARCHAR(40)
17 );
18
19 CREATE TABLE P
20 ( pnr VARCHAR(10) PRIMARY KEY
21 , pname VARCHAR(40) NOT NULL
22 , ort VARCHAR(40)
23 );
24
25 CREATE TABLE LTP
26 ( lnr VARCHAR(10)
27 , tnr VARCHAR(10)
28 , pnr VARCHAR(10)
29 , menge INTEGER
30 , FOREIGN KEY (lnr) REFERENCES L(lnr)
31 , FOREIGN KEY (tnr) REFERENCES T(tnr)
32 , FOREIGN KEY (pnr) REFERENCES P(pnr)
33 , PRIMARY KEY (lnr, tnr, pnr)
34 );
35 ~~~
36b)
37 ~~~ {.sql}
38 ALTER TABLE L ADD status INTEGER;
39 ~~~
40c)
41 ~~~ {.sql}
42 ALTER TABLE T MODIFY preis float(2);
43 ~~~
44d)
45 ~~~ {.sql}
46 ALTER TABLE T DROP COLUMN preis;
47 ~~~
48e)
49 ~~~ {.sql}
50 DROP TABLE LTP;
51 DROP TABLE L;
52 DROP TABLE T;
53 DROP TABLE P;
54 ~~~
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 @@
1---
2header-includes:
3 - \usepackage{amsmath}
4 - \usepackage{amssymb}
5---
6
7# Natural Join
8
9Zu $\land$.
10
11# Anfragen in relationaler Algebra
12
13a) $\pi_{\texttt{P.pname}}(\sigma_{\texttt{P.ort} = \text{Berlin}}(\texttt{P}))$
14b) $\pi_{\texttt{T.tnr}} \left ( \sigma_{\texttt{L.lname} = \text{Meier}} \left ( \texttt{L} \bowtie \texttt{LTP} \texttt{T} \right ) \right )$
15c) $\pi_{\texttt{T.tname}}(\sigma_{\texttt{P.ort} = \text{Berlin}}(\texttt{P} \bowtie \texttt{LTP} \bowtie \texttt{T}))$