Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS.

Ähnliche Präsentationen


Präsentation zum Thema: "Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS."—  Präsentation transkript:

1 Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS

2 Aufgabe 1 B-Bäume Wintersemester 16/17 DBIS

3 Definition eines B-Baums mit Ordnung n:
Jeder Weg von der Wurzel zum Blatt hat die gleiche Länge h. Jeder Knoten (außer Wurzel und Blätter) hat mindestens n+1 Söhne. Die Wurzel hat mindestens 2 Söhne. Jedes Blatt besitzt mindestens n Einträge. Jeder Knoten hat höchstens 2n+1 Söhne. Während der Entstehungsphase des Baumes kann es zu Verletzungen dieser Bedingungen kommen (Initialfüllphase). Rückschluss aus „Regeln“ für Höchstanzahl der Söhne: 1-elementige Knoten haben maximal 2 Kinder (links, rechts) 2-elementige Knoten haben maximal 3 Kinder (da sie sich ein Kind teilen) 3-elementige Knoten haben maximal 4 Kinder

4  Auf jeden Knoten passen maximal 6 Elemente.
Gegeben: n = 3 Jeder Weg von der Wurzel zum Blatt hat die gleiche Länge h. Jeder Knoten (außer Wurzel und Blätter) hat mindestens 4 Söhne. Die Wurzel hat mindestens 2 Söhne. Jedes Blatt besitzt mindestens 3 Einträge. Jeder Knoten hat höchstens 7 Söhne.  Auf jeden Knoten passen maximal 6 Elemente.

5 Beginn der Füllung mit den Werten 5,7 und 21
Hinzufügen der Werte 2, 10, 76 2 5 7 21 2 5 7 10 21 2 5 7 10 21 76 Hinzufügen des Wertes 77 2 5 7 10 21 76 77 Zu voll, umsortieren Mittleres Element

6 10 2 5 7 21 76 77 Hinzufügen der Werte 3, 4, 9, 78 10 2 3 5 7 21 76 77 10 2 3 4 5 7 21 76 77 10 2 3 4 5 7 9 21 76 77

7 Hinzufügen des Wertes 1 Zu voll, umsortieren Mittleres Element
10 2 3 4 5 7 9 21 76 77 78 Hinzufügen des Wertes 1 10 1 2 3 4 5 7 9 21 76 77 78 Zu voll, umsortieren Mittleres Element Neuer Vater landet in übergeordneter Ebene 4 1 2 3 5 7 9

8 Löschen des Wertes 76 Löschen des Wertes 77 Zu leer, umsortieren 4 10
2 3 5 7 9 21 76 77 78 Löschen des Wertes 76 4 10 1 2 3 5 7 9 21 77 78 Löschen des Wertes 77 4 10 1 2 3 5 7 9 21 78 Zu leer, umsortieren

9 Nachbar bietet ausreichend Platz  verschmelzen
4 10 1 2 3 5 7 9 21 78 Nachbar bietet ausreichend Platz  verschmelzen 4 1 2 3 5 7 9 10 21 78

10 Beispiel Kleine Rotation

11 Beispiel große Rotation

12 Aufgabe 2 Extendible Hashing Wintersemester 16/17 DBIS

13 Schritt 1 – Berechnung der Hashwerte
h(x) = x DIV 10 Werte: 42, 165, 211, 233, 255 und 82 42 DIV 10 = 4 R 2  4 165 DIV 10 = 16 R 5  16 211 DIV 10 = 21 R 1  21 233 DIV 10 = 23 R 3  23 255 DIV 10 = 25 R 5  25 82 DIV 10 = 8 R 2  8

14 x h(x)10 h(x)2 42 4 165 16 211 21 233 23 255 25 82 8 Schritt 2 – Berechnung der Binärwerte zu den Hashwerten Werte h(x): 4, 16, 21, 23, 25 und 8 Zahlen in Binär: 4 ≙ 0 * * * * * 1 Umrechnung z.B. über Divisionsrestverfahren: 4 MOD 2 = 2 R 0 2 MOD 2 = 1 R 0 1 MOD 2 = 0 R 1  100  vorn Nullen anstellen bis zur gegeben Länge: 00100 Leserichtung

15 Schritt 3 – Schrittweises Einfügen der Werte in den Bucket
x h(x)10 h(x)2 42 4 165 16 211 21 233 23 255 25 82 8 4 = 16 = 21 = 23 = 25 = 8 = Schritt 3 – Schrittweises Einfügen der Werte in den Bucket Gegeben: Bucket-Kapazität b=3 Startsituation: leerer Bucket, lokale Tiefe 0 B1

16 x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Einfügen der Werte 42, 165, 211 B1 42 4 (00100) B1 42 4 (00100) 165 16 (10000) B1 42 4 (00100) 165 16 (10000) 211 21 (10101)

17 Voll!  Neuer Bucket, neue Tiefe(n)
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Einfügen des Wertes 233 B1 42 4 (00100) 165 16 (10000) 211 21 (10101) Voll!  Neuer Bucket, neue Tiefe(n) 1 B1 1 1 1 B2

18 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 1 beginnen, kommen in Bucket 2. 1 B1 1 0… 1 1… B2

19 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 1 beginnen, kommen in Bucket 2. 1 B1 42 4 (00100) 1 0… 1 1… B2

20 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 1 beginnen, kommen in Bucket 2. 1 B1 42 4 (00100) 1 0… 1 1… B2 165 16 (10000)

21 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 1 beginnen, kommen in Bucket 2. 1 B1 42 4 (00100) 1 0… 1 1… B2 165 16 (10000) 211 21 (10101)

22 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 1 beginnen, kommen in Bucket 2. 1 B1 42 4 (00100) 1 0… 1 1… B2 165 16 (10000) 211 21 (10101) 233 23 (10111)

23 Voll!  Neuer Bucket, neue Tiefe(n)
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Einfügen des Wertes 255 1 B1 42 4 (00100) 1 0… 1 1… B2 165 16 (10000) 211 21 (10101) 233 23 (10111) Voll!  Neuer Bucket, neue Tiefe(n)

24 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 10 beginnen, kommen in Bucket 2. Hashwerte, die binär mit 11 beginnen, kommen in Bucket 3. 1 B1 42 4 (00100) 2 2 00.. B2 01.. Magic! Unterschiedliche lokale Tiefen. 10.. 11.. 2 B3

25 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 10 beginnen, kommen in Bucket 2. Hashwerte, die binär mit 11 beginnen, kommen in Bucket 3. 1 B1 42 4 (00100) 2 2 00.. B2 165 16 (10000) 01.. 10.. 11.. 2 B3

26 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 10 beginnen, kommen in Bucket 2. Hashwerte, die binär mit 11 beginnen, kommen in Bucket 3. 1 B1 42 4 (00100) 2 2 00.. B2 165 16 (10000) 01.. 211 21 (10101) 10.. 11.. 2 B3

27 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 10 beginnen, kommen in Bucket 2. Hashwerte, die binär mit 11 beginnen, kommen in Bucket 3. 1 B1 42 4 (00100) 2 2 00.. B2 165 16 (10000) 01.. 211 21 (10101) 10.. 233 23 (10111) 11.. 2 B3

28 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1.
x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Hashwerte, die binär mit 0 beginnen, kommen in Bucket 1. Hashwerte, die binär mit 10 beginnen, kommen in Bucket 2. Hashwerte, die binär mit 11 beginnen, kommen in Bucket 3. 1 B1 42 4 (00100) 2 2 00.. B2 165 16 (10000) 01.. 211 21 (10101) 10.. 233 23 (10111) 11.. 2 B3 255 25 (11001)

29 x h(x)10 h(x)2 42 4 00100 165 16 10000 211 21 10101 233 23 10111 255 25 11001 82 8 01000 Einfügen des Wertes 82 1 B1 42 4 (00100) 82 8 (01000) 2 2 00.. B2 165 16 (10000) 01.. 211 21 (10101) 10.. 233 23 (10111) 11.. 2 B3 255 25 (11001)

30 Aufgabe 3 Größenordnungen im B+-Baum Wintersemester 16/17 DBIS

31 Wie viele Datensätze kann ein komplett gefüllter B+-Baum aufnehmen
Wie viele Datensätze kann ein komplett gefüllter B+-Baum aufnehmen? Beginnen Sie mit der Berechnung der maximalen Werte für n und n*. B+-Baum = Daten liegen nur in den Blättern, Wurzel und innere Knoten enthalten keine Daten

32 Wie viele Elemente passen in innere Knoten?
Gegeben: Seitengröße exklusive Overhead = 4000 Byte Pointer = 12 Byte Schlüsselwert = 8 Byte Seite mit einem Element: 2 Pointer + 1 Schlüsselwert = 24 Byte + 8 Byte = 32 Byte Jedes weitere Element: 1 Pointer + 1 Schlüsselwert = 12 Byte + 8 Byte = 20 Byte 2 Elemente: 52 Byte 3 Elemente: 72 Byte 199 Elemente: 32 Byte + (198*20 Byte) = 32 Byte Byte = 3992 Byte  n = 199 / 2 = 99,5

33 Wie viele Elemente passen in äußere Knoten?
Gegeben: Seitengröße exklusive Overhead = 4000 Byte Pointer = 12 Byte Schlüsselwert = 8 Byte Datenteil = 80 Byte Seite mit einem Element: 2 Pointer + 1 Schlüsselwert + 1 Datenteil = 24 Byte + 8 Byte Byte = 112 Byte Jedes weitere Element: 1 Schlüsselwert + 1 Datenteil = 8 Byte Byte = 88 Byte 2 Elemente: 200 Byte 3 Elemente: 288 Byte 45 Elemente: 112 Byte + (44*88 Byte) = 112 Byte Byte = 3984 Byte  n* =45 / 2 = 22,5

34 Wie viele Datensätze kann ein komplett gefüllter B+-Baum aufnehmen?
Gegeben: Höhe = 3 Wurzel h = 1 Jeweils 199 Elemente pro Seite h = 2 h = 3 Jeweils 45 Elemente pro Seite Ebene 0 (Wurzel): 199 Elemente 200 ausgehenden Kanten Ebene 1: 200 * 199 = Elemente 200 * 200 = ausgehende Kanten Ebene 2: * 199 = Elemente * 200 = ausgehende Kanten Ebene 3: Blätter haben Datenteile, daher nur 45 Elemente pro Blatt! * 45 = Daten liegen nur in den Blättern 360 Mio. Datenelemente im Baum

35 Wie viele Datensätze kann ein komplett gefüllter B-Baum mit den selben Vorgaben aufnehmen?
B-Baum: Daten in allen Knoten

36 Wie viele Elemente passen in einen Knoten?
Gegeben: Seitengröße exklusive Overhead = 4000 Byte Pointer = 12 Byte Schlüsselwert = 8 Byte Datenteil = 80 Byte Seite mit einem Element: 2 Pointer + 1 Schlüsselwert + 1 Datenteil = 24 Byte + 8 Byte Byte = 112 Byte Jedes weitere Element: 1 Pointer + 1 Schlüsselwert + 1 Datenteil = 12 Byte + 8 Byte Byte = 100 Byte 2 Elemente: 212 Byte 3 Elemente: 312 Byte 39 Elemente: 112 Byte + (38*100 Byte) = 112 Byte Byte = 3912 Byte  n =39 / 2 = 19,5

37 Wie viele Datensätze kann ein komplett gefüllter B-Baum aufnehmen?
Ebene 0 (Wurzel): 39 Elemente 40 ausgehenden Kanten Ebene 1: 40 * 39 = Elemente 40 * 40 = ausgehende Kanten Ebene 2: * 39 = Elemente 1.600 * 40 = ausgehende Kanten Ebene 3: * 39 = Elemente Daten liegen in allen Seiten: = ~ 2,6 Mio. Datenelemente im Baum

38 Aufgabe 4 Begriffe des Entity-Relationship-Modells

39 Ordnen Sie den folgenden Beschreibungen den passenden Begriff zu.
Begriffe: Entity, Entitytyp, Entitymenge, Attribut, Attributwert, Beziehung, Beziehungstyp und Beziehungsmenge HiWi Martin Welsch Prof. Dr.-Ing. habil. Ernst Günter Schukat-Talamazzini Professor Menge aller möglichen Professoren {F. Haney, A. Wickenhäuser} kennen = Student x Professor Jessika Peter kennt Prof. Dr.-Ing. habil. Clemens Beckstein Vorname Ernst Günter {Jessika Peter schätzt Prof. Dr. Beckstein, Jessika Peter schätzt Prof. Dr. Küspert} 1955 Entitytyp Entity Entitymenge Beziehungstyp Beziehung Attribut Attributwert Beziehungsmenge

40 Aufgabe 5 Schlüssel zum Glück

41 Stellt dies eine geeignete Modellierung dar?
Herr X hat trotz schwieriger gesamtwirtschaftlicher Lage am eine Firma Y AG & Co. KG in Z gegründet, welche sich in mehrere Abteilungen untergliedert. Keine zwei Mitarbeiter dieser jungen, aufstrebenden Firma besitzen den gleichen Namen (obwohl die Firma bereits zwei Mitarbeiter hat!). Als Primärschlüssel des Entitytyps Mitarbeiter soll das Attribut „Name“ dienen. Als Primärschlüssel des Entitytyps Abteilung wurde das Attribut „AbtNr“ ausgewählt. Name bleibt nicht zwingend eindeutig. (Firma soll noch wachsen.) ungeeignete Modellierung Abteilungsnummer kann beliebig erhöht werden neue Abteilungen können Problemlos eingerichtet werden geeignete Modellierung


Herunterladen ppt "Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS."

Ähnliche Präsentationen


Google-Anzeigen