Aufgabe 3.1

Mobilfunk-Netze bei Überlast
Schloßgrabenfest 2015
Alexander Frömmgen und Jens Heuschkel
Antragsteller:
Prof. Alejandro Buchmann, Ph.D.
Prof. Dr.-Ing. Wolfgang Effelsberg
Prof. Dr. David Hausheer
Prof. Dr.-Ing. Matthias Hollick
Prof. Dr.-Ing. Anja Klein
Prof. Dr. phil. Martina Löw
Prof. Dr. rer. nat. Max Mühlhäuser
Prof. Klara Nahrstedt, Ph.D. (UIUC)
Prof. Dr. Silvia Santini
Prof. Dr. rer. nat. Andreas Schürr
Prof. Dr.-Ing. Ralf Steinmetz
Prof. Dr.-Ing. Thorsten Strufe
Prof. Dr. Karsten Weihe
Prof. Dr.-Ing. Klaus Wehrle (RWTH Aachen)
DFG Sonderforschungsbereich 1053 — MAKI
Multi-Mechanismen-Adaption für das künftige Internet
Motivation
● Das Forschungsprojekt MAKI zielt auf Überlast-Situationen
● Realistische Daten werden benötigt
● Daten werden von Providern nicht bereitgestellt
➔ Idee: Sammeln der Daten mittels App beim Nutzer
● z.B. Schlossgrabenfest Darmstadt:
● Hessens größtes Musik-Festival
● Über 400.000 Besucher
➔ Garantierte Überlast ☺
DFG Sonderforschungsbereich 1053 — MAKI
Multi-Mechanismen-Adaption für das künftige Internet
Android APP zur Datensammlung
Research4Refill
● Was wird gemessen?
● Die Messung läuft anonym und automatisch im Hintergrund
● Es werden keine Handynummern, Namen, Adressbücher, eMails,
Nachrichten, besuchte Webseiten etc. erfasst!
Was habe ich davon?
● Ein Freigetränk auf dem Schloßgrabenfest!
● Du unterstützt die Forschung an einem Problem,
von dem Du selbst betroffen bist!
DFG Sonderforschungsbereich 1053 — MAKI
Multi-Mechanismen-Adaption für das künftige Internet
Download Research4Refill
Unterstütze die Verbesserung mobiler Netzwerke
und hol dir dein Schloßgrabenfest Freigetränk!
● Schloßgrabenfest: 21.05. - 24.05. (Teilnahme an allen Tagen möglich)
● App verfügbar im Google Playstore: Research4Refill
DFG Sonderforschungsbereich 1053 — MAKI
Multi-Mechanismen-Adaption für das künftige Internet
Einführung in Data and Knowledge
Engineering
3. Übung
Relationales Modell
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 5
Aufgabe 3.1:
Relationen Schemata
Art
Matr#
Klausur
(0,N)
schreibt
(1,1)eingeschr. (0,N)
Student
an
Name
Fachbereich
(1,N)
gliedern
sich in
(1,1)
Zeit
hat
Zeit
(1,1)
findet
statt
(0,N)
FB#
(1,1)
(1,N)
findet
statt
(0,N)
Name
Vorlesung
findet
statt
Zeit
(1,1)
(0,N)
Titel
Professor
Name
Pers#
(1,1)
Übung
Veranst#
Titel
Name
(0,N)
(0,1)
(1,N)
hält
(0,N)
Raum#
(0,N)
gehört
zu
Raum
FG#
Fachgebiet
Veranst#
(3,3)
(1,1)
(0,N)
beschäftigt
(1,1)
stellt
ein
stellt
ein
(0,1)
(1,1)
hält
(0,N)
Mitarbeiter
Pers#
Name
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 7
(0,1)
Hiwi
Pers#
Name
Aufgabe 3.1:
Relationen Schemata
Fachbereich
FB#
PK
Name
x
FK
Fachgebiet
FG#
PK
Name
x
FB#
Professor
x
FK
Fachbereich.FB#
Professor.Pers#
Professor
Pers#
PK
Name
x
FK
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 8
FG# und FB# als
PK notwending da
nur weak entity!
Aufgabe 3.1:
Relationen Schemata
Mitarbeiter
Pers#
PK
Name
FG
FB
Fachgebiet.FG#
Fachgebiet.FB#
FG
FB
Fachgebiet.FG#
Fachgebiet.FB#
x
FK
Hiwi
Pers#
PK
Name
x
FK
Student
Matr#
PK
FK
Name
FB
x
Fachbereich.FB#
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 9
Aufgabe 3.1:
Relationen Schemata
Vorlesung
Veranst#
PK
Titel
Raum
Zeit
x
FK
Raum.Raum#
Übung
Veranst#
PK
Titel
Raum
Zeit
Vorlesung
Mitarbeiter
Vorlesung.Veranst#
Mitarbeiter.Pers#
x
FK
Raum.Raum#
Vorlesung-Professor
Vorlesung
Professor
PK
x
x
FK
Vorlesung.Veranst#
Professor.Pers#
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 10
Aufgabe 3.1:
Relationen Schemata
Raum
Klausur-Raum
Raum#
PK
x
FK
Raum#
Klausurart
Vorlesung
PK
x
x
x
FK
Raum.Raum#
Klausur.Art
Klausur.Vorlesung
Klausur
PK
Art
Vorlesung
x
x
FK
Zeit
Vorlesung.Veranst#
Klausur.Zeit könnte man auch in
der Tabelle Klausur-Raum
darstellen. Dies würde es erlauben
je Raum eine unterschiedliche
Klausurzeit festzulegen
Student-Klausur
Student
Klausurart
Vorlesung
PK
x
x
x
FK
Student.Matr#
Klausur.Art
Klausur.Vorlesung
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 11
Aufgabe 3.1:
Relationen Schemata
Inv#
Noten
N
Konto
1
Seiten
leiht
aus
1
Schüler
N
Id
Eltern
Name
ist
Kind
Id
Lehrer
N
Name
N
unterrichtet
Id
N
Dauer
N
N
Raum
Name
1
Zeit
N
Beginn
Ende
Name
Instrument
Kosten
Größe
lagert
Nummer
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 12
Aufgabe 3.1:
Relationen Schemata
Noten
Inv#
PK
Seiten
Ausleiher
X
FK
Schüler.Id
Eltern
Id
PK
Name
Konto
Name
Eltern
X
FK
Schüler
Id
PK
FK
X
Eltern.Id
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 13
Aufgabe 3.1:
Relationen Schemata
Lehrer
Id
Name
PK
X
FK
Raum
Nummer
PK
Größe
X
FK
Instrument
Name
PK
FK
Kosten
lagert_in
X
Raum.Nummer
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 14
Aufgabe 3.1:
Relationen Schemata
Unterricht
Schüler
Lehrer
Raum
Instrument
Zeit
PK
X
X
X
X
FK
Schüler.Id
Lehrer.Id
Raum.Nummer
Instrument.Name
Beginn
Ende
X
X
Ist das Ergebnis streng nach Umsetzungsvorschrift. Problem: Unterricht, der noch
andauert, hätte Ende = null, was nicht erlaubt ist, da Ende Teil vom PK ist.
Unterricht
Schüler
Lehrer
Raum
Instrument
Zeit
Dauer
PK
X
X
X
X
X
FK
Schüler.Id
Lehrer.Id
Raum.Nummer
Instrument.Name
Dauer.Id
Dauer
Id Beginn
Ende
X
Diese Variante umgeht das Problem, indem eine eigene Relation mit extra Primärschlüssel
für Dauer angelegt wird.
Unterricht
Schüler
PK
X
Lehrer
X
Raum
Instrument
X
Zeit
X
Beginn
X
FK Schüler.Id Lehrer.Id Raum.Nummer
Instrument.Name
Diese Variante modelliert die Intention, ist aber die am wenigsten offensichtliche.
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 15
Ende
Aufgabe 3.2: Schlüsselkandidaten
Sei R = ABCDEFGHI eine Relation und
F = {B  C, A  DE, BC  F, F  GH, A  I, D  I}
eine Menge FDs über R.
Bestimmen Sie alle Schlüsselkandidaten.
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 16
Aufgabe 3.2: Schlüsselkandidaten
Um die Schlüsselkandidaten zu finden, muss man alle linken Seiten der FDs betrachten und
bestimmen, welche Attribute von ihnen funktional abhängig sind.
𝐹 = {𝐵 → 𝐶, 𝐴 → 𝐷𝐸, 𝐵𝐶 → 𝐹, 𝐹 → 𝐺𝐻, 𝐴 → 𝐼, 𝐷 → 𝐼}
𝐵 → 𝐶, 𝐵𝐶 → 𝐹, 𝐹 → 𝐺𝐻 ⊨ 𝐵 → 𝐵𝐶𝐹𝐺𝐻
𝐴 → 𝐷𝐸, 𝐴 → 𝐼
⊨ 𝐴 → 𝐴𝐷𝐸𝐼
𝐵𝐶 → 𝐹, 𝐹 → 𝐺𝐻
⊨ 𝐵𝐶 → 𝐵𝐶𝐹𝐺𝐻
𝐹 → 𝐺𝐻
⊨ 𝐹 → 𝐹𝐺𝐻
𝐷→𝐼
⊨ 𝐷 → 𝐷𝐼
 keine linke Seite bildet alleine einen Schlüsselkandidaten.
 z.B. 𝐴, 𝐵, 𝐶 bildet einen Superschlüssel, der aber nicht minimal ist.
 {𝐴, 𝐵} ist minimal und ist der einzige Schlüsselkandidat.
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 17
Überflüssige Attribute
Achtung: wir betrachten ab jetzt FD-Mengen
 Ein Attribut ist überflüssig, g.d.w. man es aus der linken (bzw.
rechten) Seite einer FD entfernen kann und die neue FD-Menge
äquivalent zur alten ist.
 Zwei FD-Mengen sind äquivalent, g.d.w. sie die gleiche Hülle
besitzen. (die eine darf weder größer noch kleiner sein als die
andere).
 Die Hülle (transitive closure) F+ ist die Menge aller FDs, die von
der bekannten Menge von FDs impliziert werden
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 18
Armstrongs Axiome
 Reflexivität
 Wenn Y Teilmenge von X ist, dann gilt X → Y
 Erweiterung
 Wenn X → Y, dann gilt XZ → YZ
 Transitivität
 Wenn X → Y und Y → Z, dann gilt X → Z
 Additivität (union rule)
 Wenn X → Y und X → Z, dann gilt X → YZ
 Projektivität (decomposition rule)
 Wenn X → YZ, dann gilt X → Z und X → Y
 Pseudotransitivität (pseudotransitivity rule)
 Wenn X → Y und WY → Z, dann gilt XW → Z
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 19
Überflüssige Attribute
Beispiel: {𝐴𝐵 → 𝐶, 𝐵 → 𝐴}
{𝐴𝐵 → 𝐶, 𝐵 → 𝐴}
≡
?!
{𝐵 → 𝐶, 𝐵 → 𝐴}

𝐴𝐵 → 𝐶, 𝐵 → 𝐴
(Erweiterung) 𝐴𝐵 → 𝐶, 𝐵 → 𝐴, 𝐵 → 𝐴𝐵
(Transitivität) 𝐴𝐵 → 𝐶, 𝐵 → 𝐴, 𝐵 → 𝐴𝐵, 𝐵 → 𝐶

𝐵 → 𝐶, 𝐵 → 𝐴
𝐵 → 𝐶, 𝐵 → 𝐴, 𝐴𝐵 → 𝐴𝐶
(Erweiterung)
𝐵 → 𝐶, 𝐵 → 𝐴, 𝐴𝐵 → 𝐴𝐶, 𝐴𝐵 → 𝐶 (Projektivität)
(𝐴𝐵
Beispiel: A: Titel, B: ISBN, C: Autor
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 20
→ 𝐴)
Aufgabe 3.3: Überflüssige Attribute 1
Finden und entfernen Sie überflüssige Attribute in
𝐹 = {𝐵 → 𝐶, 𝐴 → 𝐷𝐸, 𝐵𝐶 → 𝐹, 𝐹 → 𝐺𝐻, 𝐴 → 𝐼, 𝐷 → 𝐼}
Entferne Attribut 𝐶 in 𝐵𝐶 → 𝐹, da 𝐵 → 𝐶
 𝐹′ = {𝐵 → 𝐶, 𝐴 → 𝐷𝐸, 𝐵 → 𝐹, 𝐹 → 𝐺𝐻, 𝐴 → 𝐼, 𝐷 → 𝐼}
Es ist nicht möglich alternativ 𝐵 aus 𝐵𝐶 → 𝐹 zu entfernen. Man kann
zwar 𝐵𝐶 → 𝐹 aus 𝐶 → 𝐹 herleiten, allerdings nicht 𝐶 → 𝐹 aus 𝐵𝐶 → 𝐹.
Siehe dazu auch die nächste Aufgabe.
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 21
Unterschiede zu Aufgabe 3.2
In der Aufgabe 3.3 geht es um überflüssige Attribute. Wie man diese findet ist
ähnlich zur Suche nach einem Schlüsselkandidaten aber nicht identisch!
Aus 𝐹 = 𝐵 → 𝐶, 𝐴 → 𝐷𝐸, 𝐵𝐶 → 𝐹, 𝐹 → 𝐺𝐻, 𝐴 → 𝐼, 𝐷 → 𝐼 können wir 𝐵 → 𝐵𝐶𝐹𝐺𝐻 und
𝐴 → 𝐴𝐷𝐸𝐼 ableiten. Womit sich {𝐴, 𝐵} als Schlüsselkandidat ergibt. (Aufgabe 3.2)
Kann man also 𝐹 auf 𝐹′ = 𝐵 → 𝐵𝐶𝐹𝐺𝐻, 𝐴 → 𝐴𝐷𝐸𝐼 reduzieren?  nein!
Beweis:
Wenn 𝐹 und 𝐹′ äquivalent wären, dann müssten die Transitiven Hüllen 𝐹 + und 𝐹′+
gleich sein. Aber 𝐹 + enthält z.B. 𝐷 → 𝐼 was sich aus 𝐹′ nicht ableiten lässt!
 Hüllen sind nicht gleich, somit sind die Mengen nicht äquivalent.
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 22
Aufgabe 3.4: Überflüssige Attribute 2
Gegeben ist die FD-Menge
𝐹 = {𝐴 → 𝑋, 𝐴𝐵 → 𝑌}
Streicht man 𝐴 aus 𝐴𝐵 → 𝑌 heraus, entsteht
𝐹´ = {𝐴 → 𝑋, 𝐵 → 𝑌}
Die ursprüngliche FD 𝐴𝐵 → 𝑌 lässt sich aber aus der FD 𝐵 → 𝑌
durch Erweiterung wieder herstellen.
Darf man also 𝐴 als überflüssiges Attribut herausstreichen?
Wenn nein, warum nicht?
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 23
Aufgabe 3.4: Überflüssige Attribute 2
Wenn man formal prüfen will, ob ein Attribut (oder eine ganze
FD) überflüssig ist, muss man überprüfen, ob beim Entfernen
des Attributs bzw. der FD die FD Menge äquivalent bleibt. Die
Hüllen der FD-Mengen müssen also gleich sein.
Bildet man die Hülle von 𝐹, bemerkt man schnell, dass sich die
FD 𝐵 → 𝑌 , die in 𝐹′ enthalten ist, nicht herleiten lässt und die
beiden FD-Mengen somit nicht äquivalent sind.
Informell kann man sich klar machen, dass in 𝐹 sowohl 𝐴 als
auch 𝐵 notwendig sind, um 𝑌 zu bestimmen. Lässt man 𝐴 weg,
müsste 𝐵 alleine ausreichen, um 𝑌 zu bestimmen, was in 𝐹 aber
nicht der Fall ist.
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 24
Aufgabe 3.5: Überflüssige Attribute
bei der Musikschule
F={
Id → Name, Vorname, Geburtstag, Alter, Anschrift;
Id, Geburtstag → Alter;
Geburtstag → Alter;
Name, Vorname, Geburtstag → Telefonnummer;
Telefonnummer → Anschrift}
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 25
Zusammenfassung “Schlüssel”
Superschlüssel (auch Oberschlüssel genannt)
(Jede) Menge von Attributen welche alle Tupel einer Relation eindeutig identifizieren kann.
Trivial Beispiel: die Menge aller Attribute.
Schlüsselkandidat (auch Kandidatenschlüssel genannt)
Superschlüssel in dem KEINE Teilmenge existiert die selbst Superschlüssel sein kann.
Beispiel: Studenten könnte man identifizieren mit:
• Matrikelnummer
• TU-ID
• Vorname+Nachname+Geburtsdatum+Geburtsort
• Vorname+Nachname+Adresse
Diese sind ALLE minimal da man jeweils nichts weglassen
ohne die Eindeutigkeitsbedingung zu verletzen
Gegenbeispiele:
• Matrikelnummer+TU-ID
• Matrikelnummer+Vorname
+Nachname
• TU-ID+Geburtsdatum
Man könnte jeweils ein Attrbut weglassen
und die Eindeutigkeit bliebe gewahrt.
(Es wird angenommen, dass es keine Sonderfälle gibt wie Studenten mit gleichen Vornamen, Nachnamen und gleicher Adresse)
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 26
Zusammenfassung “Schlüssel” (2)
Primärschlüssel (primary key)
Genau einer der Schlüsselkandidaten.
Welchen man wählt ist (in the Theorie) egal, da alle Schlüsselkandidaten schon minimal sind.
In der Praxis gibt es durchaus Unterschiede, da z.B. Zahlen effektiver gespeichert und
verglichen werden können als Zeichenketten.
22.06.2015 | Fachbereich Informatik | Datenbanken und Verteilte Systeme | Robert Rehner | 27