91
SS 2004 B. König-Ries: KuD 6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe © Prof. Kemper, TU München (Begleitmaterial zu Kapitel 7 des Lehrbuchs)

SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

Embed Size (px)

Citation preview

Page 1: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-1

Kapitel 6: Anfragebearbeitung

physische Datenstrukturen: B-Bäume

AnfragebearbeitungFolien: © Prof. Lockemann, IPD, Uni Karlsruhe

© Prof. Kemper, TU München (Begleitmaterial zu Kapitel 7 des Lehrbuchs)

Page 2: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-2

Referenzarchitektur

Externes Datenmodell

Anfragebearbeitung

Internes Datenmodell

Satz- u. Satzmengenverwaltung

Physische Datenstrukturen

Zugriffsschicht

Hauptspeicherseiten u. Segmente

Dateien

Dateiverwaltung

Geräteschnittstelle

Scheduler

Recovery-Verwalter

Segment- u. Pufferverwaltung

Page 3: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-3

betrachtete Aspekte

Externes Datenmodell

Anfragebearbeitung

Internes Datenmodell

Satz- u. Satzmengenverwaltung

Physische Datenstrukturen

Zugriffsschicht

Hauptspeicherseiten u. Segmente

Dateien

Dateiverwaltung

Geräteschnittstelle

Scheduler

Recovery-Verwalter

Segment- u. Pufferverwaltung

Page 4: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-4

Kapitel 6: Anfragebearbeitung

physische Datenstrukturen: B-Bäume

AnfragebearbeitungFolien: © Prof. Lockemann, IPD, Uni Karlsruhe

Page 5: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-5

Referenzarchitektur

Externes Datenmodell

Anfragebearbeitung

Internes Datenmodell

Satz- u. Satzmengenverwaltung

Physische Datenstrukturen

Zugriffsschicht

Hauptspeicherseiten u. Segmente

Dateien

Dateiverwaltung

Geräteschnittstelle

Scheduler

Recovery-Verwalter

Segment- u. Pufferverwaltung

Page 6: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-6

S.. SuchschlüsselD..

Weitere Daten

V.. Verweise (SeitenNr)

Page 7: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-7

Page 8: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-8

Page 9: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-9

Einfügen eines neuen Objekts (Datensatz) in einen B-Baum

Page 10: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-10

Sukzessiver Aufbau eines B-Baums vom Grad k=2

10 13 19

7

Page 11: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-11

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10 13 19

3

Page 12: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-12

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10 13 19

3

?

Page 13: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-13

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10

3

13 19

?

Page 14: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-14

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7

3

13 19

?10

Page 15: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-15

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

Page 16: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-16

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Page 17: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-17

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Page 18: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-18

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Page 19: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-19

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

1

Page 20: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-20

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

2

Page 21: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-21

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

2

2

Page 22: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-22

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

2

2

Page 23: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-23

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

Page 24: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-24

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Page 25: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-25

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Page 26: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-26

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Page 27: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-27

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?3 10

4

4

Page 28: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-28

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 13 19

?3 10

4 7

Page 29: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-29

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 13 19

?3 10

11

4 7

Page 30: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-30

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

4 7

Page 31: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-31

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

21

4 7

Page 32: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-32

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

21

4 7

Page 33: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-33

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7

Page 34: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-34

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Page 35: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-35

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Page 36: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-36

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Page 37: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-37

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10 13

12

4 7 12

Page 38: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-38

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 19 21

?3 10 13

12

4 7 11 12

Page 39: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-39

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 19 21

?3 10 13

12

4 7 11 12

Page 40: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-40

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 19 21

?3 10 13

14

4 7 11 12

Page 41: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-41

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 19 21

?3 10 13

14

4 7 11 12

Page 42: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-42

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 19 21

?3 10 13

15

4 7 11 12

Page 43: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-43

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

Page 44: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-44

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

20

Page 45: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-45

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

20

Page 46: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-46

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13 19

20

4 7 11 12

20

Page 47: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-47

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

20

4 7 11 12

20 21

Page 48: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-48

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

5

4 7 11 12

20 21

Page 49: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-49

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

5

4 7 11 12

20 21

Page 50: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-50

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

5

4 5 7 11 12

20 21

Page 51: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-51

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

6

4 5 7 11 12

20 21

Page 52: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-52

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

6

4 5 6 7 11 12

20 21

Page 53: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-53

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

4 5 6 7 11 12

20 21

8

Page 54: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-54

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

4 5 6 7 11 12

20 21

8

8

Page 55: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-55

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

4 5 6 7 11 12

20 21

8

8

Page 56: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-56

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

4 5 6 7 11 12

20 21

8

8

Page 57: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-57

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

6 7 11 12

20 21

8

84 5

Page 58: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-58

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

64 5

Page 59: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-59

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

4 5

Page 60: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-60

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

4 5

Page 61: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-61

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

4 5

Page 62: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-62

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?3 10 13 19

7 8 11 12

20 21

6

4 5

3 6

Page 63: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-63

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

10

4 5

3 6

Page 64: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-64

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

4 5

3 6

10

Page 65: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-65

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21

4 5

3 6

10

10

Page 66: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-66

eigentlich…

.. geht es jetzt noch weiter. Man kann in einen Baum nämlich nicht nur einfügen, sondern auch

daraus löschen. Das ist aber nicht ganz einfach, lassen wir hier mal weg. Bei Interesse können Sie das Verfahren in jedem Datenbanklehrbuch

(z.B. dem von Kemper/Eickler) nachlesen.

Page 67: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-67

Verwendung eines B-Baums

1 2

14 15

?13 19

7 8 11 12

20 21

4 5

3 6

10

10

Page 68: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-68

Kapitel 6: Anfragebearbeitung

physische Datenstrukturen

AnfragebearbeitungFolien: © Prof. Lockemann, IPD, Uni Karlsruhe

Page 69: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-69

Implementierung der relationalen Operatoren

Relationale Operatoren können durch Satzmengenverwaltung nicht direkt ausgeführt werden, da diese nur navigierende Such- und Zugriffsoperationen für individuelle Kollektionen anbietet.

Anfragebearbeitung muss deshalb geeignete Operator-Implementierung auswählen, die die Funktionalität des Operators möglichst effizient erbringt.

Kritisch ist vor allem Implementierung der binären Operatoren (Verbindung, Vereinigung, Durchschnitt, Differenz), da potenziell quadratische Laufzeit.

Page 70: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-70

Selektion (1)

Sequenzielle Selektion Schleife über alle Tupel der Relation. Ergebnis-Satzmenge kann vollständige Datensätze oder nur

Verweise (Satz-Identifikatoren) auf qualifizierende Ausgangs-Datensätze enthalten.

Aufwand O(|R|), wobei R Eingaberelation. Bei vertikaler Fragmentierung und Einbezug mehrerer Attribute in

die Selektionsbedingung sind ggf. zusätzliche Verbindungen mit entsprechend höherer Laufzeit erforderlich.

Page 71: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-71

Selektion (2)

Indexbasierte Selektion Bei einfacher Selektionsbedingung der Form Attributi Konstante

kann Direktzugriff erfolgen, sofern unterliegende Datenstruktur wertbasierten Zugriff über Attributi unterstützt.

Aufwand O(log|R|) + Anzahl der Ergebnistupel, bei Selektion auf Gleichheit und Einsatz einer Hashtabelle als Indexstruktur sogar O(|1|) + Anzahl der Ergebnistupel.

Bei booleschen Kombinationen von Vergleichen getrennte Auswertung der einzelnen Vergleiche und anschließend Bildung des Durchschnitts bzw. der Vereinigung der Ergebnisse.

Page 72: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-72

Projektion

Sequenzieller Durchlauf, Aufwand O(|R|). Bei Duplikat-Elimination (select distinct) ist anschließender

Sortierlauf und weiterer sequenzieller Durchlauf zur Duplikatentfernung notwendig, Aufwand in diesem Fall O(R log|R|).

Page 73: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-73

Geschachtelte Verbindung (1)

Geschachtelte Schleife, in der jeder Datensatz in Datei R (hier: BUCHUNG) mit jedem Datensatz in S (hier: FLUG) verglichen wird:

Iterator bu = BUCHUNG.createIterator();Tupel tb, tf;while bu.hasNext() {

tb = bu.get();bu.next();Iterator fl = FLUG.createIterator();while fl.hasNext() {

tf = fl.get();fl.next();if tb.flugNr = tf.flugNr then ERG.insert(tbtf);

}}

Page 74: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-74

Geschachtelte Verbindung (2)

Aufwand: Zahl der Satzzugriffe: |R|+(|R||S|) = |R|(1+|S|). Seien auf einer Seite nR bzw. nS Sätze untergebracht. Dann Zahl

der Hintergrundspeicherzugriffe |R|/nR (1+|S|/nS).

R sollte daher die kleinere Relation sein. Erfordert gebündelte Satzspeicherung.

Page 75: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-75

Geschachtelte Verbindung mit Direktzugriff

Geschachtelte Schleife, in der für jeden Datensatz in R der oder die passenden Datensätze in S anhand eines Index aufgefunden werden:

Iterator bu = BUCHUNG.createIterator();Tupel tb, tf;while bu.hasNext() {

tb = bu.get ();tf := FLUG.getKey(flugNr,tb.flugNr);if erfolgreich then ERG.insert(tbtf);bu.next();

}

Page 76: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-76

Geschachtelte Verbindung mit Direktzugriff

Aufwand: Unterliegende Datenstruktur für S muss wertbasierten Zugriff für

die in die Verbindung eingehenden Attribute unterstützen. Aufwand O (|R|) (Hash) oder O(|R| log|S|) (B*-Baum). R (äußere Schleife) sollte daher die kleinere Relation sein. Hash-Join: Zwischenrelation nach einem Hashverfahren erstellen.

Page 77: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-77

Abb. externes internes Datenmodell

Wesentliche Abbildungsaufgaben: Abbildung von Relationen auf Satzmengen, Übersetzung von SQL-Anfragen in interne Operator-Ausdrücke.

Anfrage-Übersetzung erledigt intern: Behandlung von Sichten (Definition wird in Anfrage eingearbeitet), Überwachung von Konsistenzbedingungen (ggf. zusätzliche

Operatoraufrufe), Durchsetzung der Schutzmechanismen (Rechte-Überprüfung bei

Übersetzung der Anfrage). Im Folgenden zunächst Betrachtung der Abbildung von Relationen auf

Satzmengen.

Page 78: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-78

Übersetzung von SQL-Anfragen (1)

Grundsätzliches Problem: SQL ist deklarative Sprache und gibt keinen Algorithmus vor. Intern wird aber ausführbares Programm benötigt.

Prinzipielles Vorgehen zur Umsetzung deklarativ imperativ: Definiere Algebra von Operatoren, die einzelne Algorithmen

kapseln und als Basis-Bausteine eines imperativen Programms dienen.

Imperative Programme sind dann Bäume solcher Operatoren. Ordne jeder Grammatikregel der deklarativen Sprache

Übersetzungsregel zu, die besagt, wie äquivalenter Operatorbaum zu konstruieren ist.

Optimiere aus Übersetzung resultierenden Operatorbaum durch Ausnutzung von Äquivalenz-Beziehungen, die in der Algebra gelten.

Page 79: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-79

Übersetzung von SQL-Anfragen (2)

Konkretes Vorgehen zur Übersetzung von SQL: Als Operator-Algebra dient (zunächst) die relationale Algebra. Da Grammatik von SQL ziemlich komplex ist, werden Ausdrücke

zunächst standardisiert (in bestimmte Standardformen überführt). Für Standardformen erfolgt Übersetzung anhand von Syntaxbaum.

Im folgenden einige Beispiele für einfache Umformungsregeln.

Page 80: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-80

Grundmuster der SQL-Übersetzung

Select-Ausdruck

select A1, A2,..., Anfrom R1, R2,..., Rmwhere B

wird überführt in:

A1, A2,..., An (B (R1 R2 ... Rm)) .

Probleme: B kann geschachtelte Anfragen enthalten. Ri kann ein Tabellenausdruck sein, der von R1, ..., Ri-1 abhängt.

group by und having-Klauseln müssen berücksichtigt werden. A1, A2,..., An können Aggregatfunktionen sein.

Page 81: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-81

Grundmuster der SQL-Übersetzung

Select-Ausdruck

select A1, A2,..., Anfrom R1, R2,..., Rmwhere B

wird überführt in:

A1, A2,..., An (B (R1 R2 ... Rm)) .

Probleme: B kann geschachtelte Anfragen enthalten. Ri kann ein Tabellenausdruck sein, der von R1, ..., Ri-1 abhängt.

group by und having-Klauseln müssen berücksichtigt werden. A1, A2,..., An können Aggregatfunktionen sein.

ignorieren wir mal…

Page 82: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-82

Einfache Anfragen (2)

Einfache Anfragen können rekursiv in relationale Algebra übersetzt werden: Basistabellen werden durch Referenzen auf die entsprechenden

internen Dateien ersetzt. Eine Folge einfacher Anfragen in einer from-Klausel wird in das

Kartesische Produkt überführt. select-Ausdruck (evt. mit Gruppierung) wird in Kombination aus

Selektions- und Projektionsoperator übersetzt, die auf die übersetzte from-Klausel angewendet werden.

Gruppierung wird dabei als zusätzlicher Operator übersetzt, da in der relationalen Algebra nicht direkt abbildbar.

Relationale Verknüpfung (union, intersect, except, join) einfacher Anfragen wird in entsprechende relationale Operatoren übersetzt.

Page 83: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-83

Übersetzung einfacher Anfragen: Beispiel

Beispiel: Interne Datei FRA_FLÜGE entspricht dem SQL-Ausdruck:select flugNr, nach, abflugszeit, ankunftszeit, ticketNr, datum

from FLUG, BUCHUNG

where von = "FRA"

and FLUG.flugNr = BUCHUNG.flugNr;

Die Anfrage ist bereits einfach und kann geradewegs in den algebraischen Ausdruck

flugNr,nach,abflugszeit,ankunftszeit,ticketNr,datum

(von="FRA" BUCHUNG.flugNr =FLUG.flugNr (BUCHUNG FLUG) )

übersetzt werden.

Page 84: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-84

Anfrageoptimierung (1)

Konkretes Vorgehen nach der Übersetzung von SQL: Erhaltener Operatorbaum wird in algebraischer

Optimierungsphase gemäß Regeln der relationalen Algebra optimiert.

In anschließender nicht-algebraischer Optimierungsphase werden spezifische Operator-Implementierungen ausgewählt und weitere Operatoren wie z.B. Sortierung, Index-Generierung etc. eingefügt.

Page 85: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-85

Algebraische Optimierung (1)

Ziel: Transformation des Operatorbaums in äquivalenten Baum, der effizienter auszuführen ist.

Anwendbare Gesetze der relationalen Algebra (Auszug): Verbindung ist kommutativ und assoziativ. Selektionen und Projektionen können zerlegt und

zusammengefasst werden. Projektion kommutiert mit Selektion, Verbindung und Vereinigung,

solange benötigte Attribute nicht herausprojiziert werden. Selektion kommutiert mit Verbindung, Vereinigung, Differenz und

Gruppierung (solange die Selektionsbedingung sich nur auf die Gruppierungsattribute bezieht).

Kartesisches Produkt gefolgt von Selektion ergibt -Verbindung.

Page 86: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-86

Algebraische Optimierung (2)

Problem bei der Optimierung: Ausführungskosten eines bestimmten Operatorbaums lassen sich nur schwer schätzen.

Benötigt werden u.a. Informationen über: Größe der Ausgangstabellen, Größe der verbleibenden Tabellen nach Selektion oder Projektion, Treffer-Rate bei einer Verbindung, Ausführungskosten von Operationen (hängen stark von Algorithmus

ab, der aber in dieser Optimierungsphase noch nicht betrachtet wird).

Pragmatisches Vorgehen: Verwende „Kochrezepte“, die mit hoher Wahrscheinlichkeit die Größe der Zwischenergebnisse reduzieren.

Page 87: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-87

Algebraische Optimierung (3)

Faustformeln für sinnvolle Transformationen: Führe Selektionen so früh wie möglich durch. Spalte Selektionen, die auf Attribute mehrerer Relationen Bezug

nehmen, in eine Folge von Selektionen auf, die jeweils nur auf Attribute einer Relation Bezug nehmen. (Dann lässt sich nämlich die erste Regel besser anwenden.)

Fasse kartesische Produkte und Selektionen möglichst zu -Verbindungen zusammen.

Führe Projektionen so früh wie möglich (aber nach eventuellen Selektionen) aus.

Füge ggf. zusätzliche Projektionen ein, um nicht mehr benötigte Attribute so früh wie möglich zu entfernen.

Page 88: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-88

Algebraische Optimierung: Beispiel

FLUG

flugNr,nach,abflugszeit,ankunftszeit,ticketNr,datum

von = "FRA" FLUG.flugNr = BUCHUNG.flugNr

BUCHUNG

von = "FRA"

flugNr, nach, abflugszeit,ankunftszeit

FLUG BUCHUNG

flugNr,ticketNr,datum

Page 89: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-89

Nicht-algebraische Optimierung

Aufgabe: Auswahl geeigneter Operator-Implementierungen sowie weitere Optimierung des Operatorbaums.

Handlungsmöglichkeiten (Auswahl): Einfügen von Sortierläufen, um Mischverbindung zu ermöglichen, Erzeugen eines temporären Index, um Verbindung mit Direktzugriff

zu ermöglichen, Änderung der Reihenfolge von komplexen Selektionsbedingungen, Änderung der Reihenfolge von Verbindungen,

Wesentliches Entscheidungskriterium: Größe der erzeugten Zwischenergebnisse.

Page 90: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-90

Nicht-algebraische Optimierung: Beispiel

FLUG

flugNr,nach,abflugszeit,ankunftszeit,ticketNr,datum

von = "FRA" FLUG.flugNr = BUCHUNG.flugNr

BUCHUNG

von = "FRA"

INDEX(BUCHUNG)

INDEX(FLUG)

flugNr,nach,abflugszeit,ankunftszeit,ticketNr,datum

FLUG BUCHUNG

Page 91: SS 2004B. König-Ries: KuD6-1 Kapitel 6: Anfragebearbeitung physische Datenstrukturen: B-Bäume Anfragebearbeitung Folien: © Prof. Lockemann, IPD, Uni Karlsruhe

SS 2004 B. König-Ries: KuD 6-91

Nicht-algebraische Optimierung: Beispiel

FLUG

flugNr,nach,abflugszeit,ankunftszeit,ticketNr,datum

von = "FRA" FLUG.flugNr = BUCHUNG.flugNr

BUCHUNG

von = "FRA"

flugNr, nach, abflugszeit,ankunftszeit

flugNr flugNr

flugNr, ticketNr,datum

FLUG BUCHUNG

sort sort