Sie sind auf Seite 1von 28

Fakultät für Informatik

Professur Datenverwaltungssysteme

Datenbanken Grundlagen
Übung 10, Thema 5:
Physische Datenorganisation
dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 13.01.2021 ∙ Daniel Richter, Florian Hahn www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Teil A: Lösungen

dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 13.01.2021 ∙ Daniel Richter, Florian Hahn www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1
a)Finde in der folgenden Relation R alle aussagekräftigen funktionalen
Abhängigkeiten.
b)Welche Kandidatenschlüssel gibt es für die Relation R?
c)Überprüfe die Relation auf die Bedingungen der diversen Normalformen
(1NF, 2NF, 3NF) und normalisiere gegebenenfalls.
Veranstaltung Saal Termin Anzahl Dozent_ID Dozent_Name Hilfsmittel
Graphische DV 209 Mittwoch 1 53 0210 Müller Overhead-Pr.
Graphische DV 209 Freitag 3 53 0210 Müller Overhead-Pr.
C 413 Dienstag 1 86 0111 Lüdenscheid PC
C 413 Dienstag 1 86 0111 Lüdenscheid Overhead-Pr.
C 413 Mittwoch 3 86 0111 Lüdenscheid PC
C 413 Mittwoch 3 86 0111 Lüdenscheid Overhead-Pr.
Mathematik 418 Montag 1 76 0342 Holzbrecher Tafel
Mathematik 418 Donnerstag 2 76 0342 Holzbrecher Tafel
Datenstrukturen 310 Freitag 2 32 0550 Steinfäller Tafel
Datenstrukturen 310 Freitag 2 32 0550 Steinfäller Overhead-Pr.

3 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1 Musterlösung

R (Veranstaltung, Saal, Termin, Anzahl, Dozent_ID, Dozent_Name, Hilfsmittel)


a) Finde in der Relation R alle aussagekräftigen funktionalen Abhängigkeiten.
Dozent_ID → Dozent_Name
Veranstaltung → (Anzahl, Dozent_ID)
(Veranstaltung, Termin) → Saal
(Saal, Termin) → Veranstaltung
(Termin, Dozent_ID) → Veranstaltung
weitere Abhängigkeiten sind möglich… (Termin, Dozent_ID, Saal → Ver.)

b) Welche Kandidatenschlüssel gibt es?


(Veranstaltung, Termin, Hilfsmittel)
(Saal, Termin, Hilfsmittel)
(Termin, Dozent_ID, Hilfsmittel)

4 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1 Musterlösung
Lösung für (Veranstaltung, Termin, Hilfsmittel):
c)Überprüfe die Relation R auf die Bedingungen der diversen Normalformen (1NF, 2NF, 3NF, BCNF) und
normalisiere gegebenenfalls.
1NF: atomare Attribute, bei R gegeben
R (Veranstaltung, Saal, Termin, Anzahl, Dozent_ID, Dozent_Name, Hilfsmittel)
2NF: volle funktionale Abhängigkeit von allen Schlüsselattributen
Aufteilung von R, wegen Veranstaltung → (Anzahl, Dozent_ID) und (Veranstaltung, Termin) → Saal:
R1 (Veranstaltung, Termin, Hilfsmittel)
R2 (Veranstaltung, Saal, Termin)
R3 (Veranstaltung, Anzahl, Dozent_ID, Dozent_Name)
3NF: keine transitiven Abhängigkeiten, bei R1 und R2 gegeben
Aufteilung von R3, wegen: Veranstaltung → Dozent_ID, Dozent_ID → Dozent_Name:
R31 (Dozent_ID, Dozent_Name)
R32 (Veranstaltung, Anzahl, Dozent_ID)

5 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1 Musterlösung
Lösung für (Saal, Termin, Hilfsmittel):
c)Überprüfe die Relation R auf die Bedingungen der diversen Normalformen (1NF, 2NF, 3NF, BCNF) und normalisiere
gegebenenfalls.
1NF: atomare Attribute, bei R gegeben
R (Veranstaltung, Saal, Termin, Anzahl, Dozent_ID, Dozent_Name, Hilfsmittel)
2NF: volle funktionale Abhängigkeit von allen Schlüsselattributen
Aufteilung von R, wegen (Saal, Termin) → Veranstaltung:
R1 (Saal, Termin, Hilfsmittel)
R2 (Veranstaltung, Saal, Termin, Anzahl, Dozent_ID, Dozent_Name)
3NF: keine transitiven Abhängigkeiten, bei R1 gegeben
Aufteilung von R2, wegen (Saal, Termin) → Veranstaltung → (Anzahl, Dozent_ID) und (Saal, Termin) → Veranstaltung
→ Dozent_ID → Dozent_Name:
R21 (Veranstaltung, Saal, Termin)
R22 (Dozent_ID, Dozent_Name)
R23 (Veranstaltung, Anzahl, Dozent_ID)

6 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1 Musterlösung
Lösung für (Termin, Dozent_ID, Hilfsmittel):

c)Überprüfe die Relation R auf die Bedingungen der diversen Normalformen (1NF, 2NF, 3NF, BCNF) und normalisiere
gegebenenfalls.
1NF: atomare Attribute, bei R gegeben
R (Veranstaltung, Saal, Termin, Anzahl, Dozent_ID, Dozent_Name, Hilfsmittel)
2NF: volle funktionale Abhängigkeit von allen Schlüsselattributen
Aufteilung von R, wegen Dozent_ID → Dozent_Name, (Termin, Dozent_ID) → Veranstaltung:
R1 (Termin, Dozent_ID, Hilfsmittel)
R2 (Dozent_ID, Dozent_Name)
R3 (Veranstaltung, Saal, Termin, Anzahl, Dozent_ID)
3NF: keine transitiven Abhängigkeiten, bei R1 und R2 gegeben
Aufteilung von R3, wegen (Termin, Dozent_ID) → Veranstaltung → Anzahl und (Termin, Dozent_ID) → (Veranstaltung,
Termin) → Saal:
R31 (Veranstaltung, Termin, Dozent_ID)
R32 (Veranstaltung, Saal, Termin)
R33 (Veranstaltung, Anzahl)

7 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Teil B: Theorie

dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 13.01.2021 ∙ Daniel Richter, Florian Hahn www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Theorie Bäume
Binärer Suchbaum – Löschen durch Kopieren:
Jeder Knoten ohne Blatt kann gelöscht werden, wenn dieser aber Blätter hat,
müssen diese durch kopieren an eine andere Stelle verschoben werden.

B-Baum - Einfügen:
In freie Blattknoten können Elemente an die richtige Stelle eingefügt werden,
wenn der Blattknoten voll ist, wird der Blattknoten aufgeteilt und das
Mittelelement in die den höheren Blattknote verschoben.

Hinweis: Es kann durch Einfügen auch eine neue Wurzel entstehen.

B-Baum - Löschen:
Löschen ist in B-Bäumen nur in Blattknoten möglich! Falls dies nicht vorliegt,
muss durch Verschiebung des Elementes dies erreicht werden. Bei
Unterschreitung/Überschreitung von Blattknoten kann dies wieder durch
Verschiebung gelöst werden.
Hinweis: In der Wurzel darf nicht gelöscht werden.
9 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Teil C: Live

dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 13.01.2021 ∙ Daniel Richter, Florian Hahn www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1: binärer Suchbaum löschen

Lösche (grafisch) aus dem dargestellten binären Suchbaum


nacheinander die Elemente 13, 21, 39 und 17. Wende dabei
das Verfahren „Löschen durch Kopieren“ an. Gib nach jedem
Löschvorgang den resultierenden Baum an.
17
10 21
9 13 39
33 76
23 36 45 99
35 63
11 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1: binärer Suchbaum löschen


Musterlösung: Löschen von Element 13
Das ist kein Problem, da es ein Blatt-Knoten ist.

17
10 21
9 13 39
33 76
23 36 45 99
35 63
12 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1: binärer Suchbaum löschen


Musterlösung: Löschen von Element 21
Da dieses lediglich einen Kindknoten hat, wird dieser mit allen
Kindern an die Stelle des Elements kopiert/verschoben.

17
10 21
9 39
33 76
23 36 45 99
35 63
13 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1: binärer Suchbaum löschen


Musterlösung: Löschen von Element 39
Da dieses zwei Kindknoten hat, wird stattdessen der größte Vorgänger oder der kleinste Nachfolger an
dessen Stelle kopiert/verschoben, wobei jeweils die eventuellen Kindbäume nachgezogen werden müssen.

17 17

10 39 10 39

9 33 76 9 33 76

23 36 45 99 23 36 45 99

35 63 35 63

14 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1: binärer Suchbaum löschen


Musterlösung: Löschen von Element 17
Vorgehen analog zu eben.
17 17
10 36 10 45
9 33 76 9 33 76
23 35 45 99 23 36 63 99
63 35
17 17
10 36 10 45
9 33 76 9 33 76
23 35 45 99 23 36 63 99
63 35
15 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1: binärer Suchbaum löschen


Musterlösung
10 10
9 36 9 45
33 76 33 76
23 35 45 99 23 36 63 99
63 35
23 23
10 36 10 45
9 33 76 9 33 76
35 45 99 36 63 99
63
35
16 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 2: B-Baum einfügen

Gegeben sei folgender B-Baum der Höhe 2 und Ordnung 5:

10 20 30

2 4 6 8 12 14 16 18 22 24 26 28 32 34 38

Füge in diesen B-Baum nacheinander die Elemente 33, 29


und 1 in der angegebenen Reihenfolge ein. Zeichne nach
jeder Einfügung den resultierenden Baum und benenne bzw.
begründe deine Schritte.
17 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 2: B-Baum einfügen


Musterlösung: Einfügen von Element 33
Im freien Blattknoten wird an der richtigen Stelle eingefügt,
wobei die größeren Elemente entsprechend weiter rutschen
müssen.
10 20 30

2 4 6 8 12 14 16 18 22 24 26 28 32 33 34 38

18 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 2: B-Baum einfügen


Musterlösung: Einfügen von Element 29
Da der entsprechende Blattknoten voll ist, gibt es ein virtuelles
Einfügen in diesen Knoten, welcher anschließend in zwei
Blattknoten aufgeteilt wird, wobei das Mittelelement in die
Wurzel hochgezogen wird, in welcher das größere Element
entsprechend weiter rutschen muss.
10202630

2 4 6 8 12141618 2224 2829 32333438

19 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 2: B-Baum einfügen


Musterlösung: Einfügen von Element 1
Da der entsprechende Blattknoten voll ist, gibt es ein virtuelles Einfügen in diesen
Knoten, welcher anschließend in zwei Blattknoten aufgeteilt wird, wobei das
Mittelelement in die Wurzel hochgezogen wird, welche ebenfalls voll ist, sodass es zu
einem weiteren virtuellen Einfügen mit anschließender Teilung und Erzeugung einer
neuen Wurzel mit dem Mittelelement kommt.

20

4 10 2630

1 2 6 8 12141618 2224 2829 32333438

20 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 2: B-Baum einfügen


Musterlösung
20

4 10 2630

1 2 6 8 12141618 2224 2829 32333438

21 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 3: B-Baum löschen

Lösche aus dem vorliegenden B-Baum zunächst das Element


48 und zeichnen den resultierenden Baum. Benenne und
begründe dabei deine Schritte. Wiederhole danach den
Vorgang für Element 2.

17 48

2 3 23 29 55 65

22 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 3: B-Baum löschen


Musterlösung: Löschen von Element 48
Da sich dieses sich nicht im Blattknoten befindet, muss es vor
dem Löschen dorthin verschoben werden, d.h. es wird in
einen der beiden Kindknoten verschoben und das nächste
Element aus dem anderen Kindknoten wandert an dessen
Stelle in die Wurzel.
17 55

2 3 23 29 48 65
17 29

2 3 23 48 55 65
23 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 3: B-Baum löschen


Musterlösung: Löschen von Element 48
Da die minimale Füllmenge des Blattknotens, aus welchem
das neue Wurzelelement geholt wurde, unterschritten ist,
muss ein Element eines Nachbarknotens geborgt werden.
Das ist wegen der minimalen Füllmenge nicht möglich, also
muss die Verschmelzung mit einem Nachbarknoten erfolgen.
17

2 3 23 29 55 65
29

2 3 17 23 55 65
24 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 3: B-Baum löschen


Musterlösung: Löschen von Element 2
Das Element im Blattknoten kann gelöscht werden. Wenn
dabei die minimale Füllmenge unterschritten wird, muss aus
dem Nachbarknoten ein Element geborgt werden, welches in
die Wurzel wandert und diese stattdessen in den Knoten
aufgenommen wird.
17

2 3 23 29 55 65
29

2 3 17 23 55 65
25 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 3: B-Baum löschen


Musterlösung
23

3 17 29 55 65
29

3 17 23 55 65

26 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Teil D: Hausaufgaben

dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 13.01.2021 ∙ Daniel Richter, Florian Hahn www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Frei

Chemnitz ∙ 13.01.2021 ∙ Daniel Richter, Florian Hahn www.tu-chemnitz.de/informatik/DVS

Das könnte Ihnen auch gefallen