summaryrefslogtreecommitdiff
path: root/ws2015
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2015-10-26 23:56:45 +0100
committerGregor Kleen <gkleen@yggdrasil.li>2015-10-26 23:56:45 +0100
commita5dd3fa6de2aece2ff4ccc447e4dbdb6c9512f5a (patch)
treea592bca077106fdb81e31d55e5451e94a256658c /ws2015
parent1ce02259675e647ec27a33b2910bd86456061d4b (diff)
downloaduni-a5dd3fa6de2aece2ff4ccc447e4dbdb6c9512f5a.tar
uni-a5dd3fa6de2aece2ff4ccc447e4dbdb6c9512f5a.tar.gz
uni-a5dd3fa6de2aece2ff4ccc447e4dbdb6c9512f5a.tar.bz2
uni-a5dd3fa6de2aece2ff4ccc447e4dbdb6c9512f5a.tar.xz
uni-a5dd3fa6de2aece2ff4ccc447e4dbdb6c9512f5a.zip
Datebanksysteme, Blatt 2
Diffstat (limited to 'ws2015')
-rw-r--r--ws2015/datenbanksysteme/blaetter/02/abgabe.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/ws2015/datenbanksysteme/blaetter/02/abgabe.md b/ws2015/datenbanksysteme/blaetter/02/abgabe.md
new file mode 100644
index 0000000..e9d7d5e
--- /dev/null
+++ b/ws2015/datenbanksysteme/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 ````