Kapitel 10

Post on 20-Jan-2016

18 views 0 download

description

Kapitel 10. Physische Datenorganisation. Lernziele. . Speicherhierarchie Hintergrundspeicher / RAID Organisation von B-Bäumen, B+ Bäumen.. Hashing Organisation von mehrdimensionalen Datenstrukturen. Lesen von Daten von der Festplatte. . - PowerPoint PPT Presentation

Transcript of Kapitel 10

Dr. Brigitte Mathiak

Kapitel 10

Physische Datenorganisation

Datenbanken, SS 12 Kapitel 9: Datenorganisation 2

Lernziele

• Speicherhierarchie• Hintergrundspeicher / RAID• Organisation von B-Bäumen, B+ Bäumen..• Hashing• Organisation von mehrdimensionalen Datenstrukturen

Datenbanken, SS 12 Kapitel 9: Datenorganisation 3

Lesen von Daten von der Festplatte

1. Seek Time: Arm positionieren auf entsprechende Spur 5ms

2. Latenzzeit: ½ Plattenumdrehung (im Durchschnitt) Rotation der Platte bis Kopf über zu lesender/schreibender Stelle steht 10000 Umdrehungen / Minute Ca 3ms

3. Lesezeit: Lesen des Blocks4. Transfer von der Platte zum Hauptspeicher

100 Mb /s 15 MB/s

Datenbanken, SS 12 Kapitel 9: Datenorganisation 4

Random versus Chained IO

1000 Blöcke à 4KB sind zu lesen

Random I/O: „jedesmal zum Pluto fliegen“ Jedesmal Arm positionieren Jedesmal Latenzzeit 1000 * (5 ms + 3 ms) + Transferzeit von 4 MB > 8000 ms + 300ms 8s

Chained IO: „Rakete zum Pluto soll möglichst voll beladen sein“ Einmal positionieren, dann „von der Platte kratzen“ 5 ms + 3ms + Transferzeit von 4 MB 8ms + 300 ms 1/3 s

Also ist Chained IO ein bis zwei Größenordnungen schneller als Random IO

in Datenbank-Algorithmen unbedingt beachten !

Datenbanken, SS 12 Kapitel 9: Datenorganisation 5

Zugriff: Physikalische Speicherung der Daten

123Header Meyer

Müller 129

Datenbank-Seite (32-64 Kb)

...

...

Schneider 145 ...

Slot-Array

-- Forwarding-RID

ExtentTable

Cache

Datenbanken, SS 12 Kapitel 9: Datenorganisation 6

Einfacher Index: Binäre Suchbaum

Schlüssel (mit den ihnen zugeordneten Daten) bilden die Knoten eines binären Baumsmit der Invariante: für jeden Knoten t mit Schlüssel t.key und alle Knoten l im linken Teilbaum von t, t.left, und alle Knoten r im rechten Teilbaum von t gilt: l.key t.key r.key

Worst-Case-Suchzeit für n Schlüssel: O(n)bei geeigneten Rebalancierungsalgorithmen (AVL-Bäume, Rot-Schwarz-Bäume, usw.): O(log n)

Suchen eines Schlüssels k: Traversieren des Pfades von der Wurzel bis zu k bzw. einem BlattEinfügen eines Schlüssels k: Suchen von k und Anfügen eines neuen BlattsLöschen eines Schlüssel k: Ersetzen von k durch das „rechteste“ Blatt links von k

Datenbanken, SS 12 Kapitel 9: Datenorganisation 7

Beispiel für einen binären Suchbaum

London, Paris, Madrid, Kopenhagen, Lissabon, Zürich, Frankfurt, Wien, Amsterdam, Florenz

London

Paris

Madrid

Kopenhagen

Lissabon ZürichFrankfurt

WienAmsterdam

Florenz

Datenbanken, SS 12 Kapitel 9: Datenorganisation 8

Datenbanken, SS 12 Kapitel 9: Datenorganisation 9

S.. SuchschlüsselD..

Weitere Daten

V.. Verweise (SeitenNr)

Datenbanken, SS 12 Kapitel 9: Datenorganisation 10

Datenbanken, SS 12 Kapitel 9: Datenorganisation 11

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 12

Sukzessiver Aufbau eines B-Baums vom Grad k=2

10 13 19

7

Datenbanken, SS 12 Kapitel 9: Datenorganisation 13

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10 13 19

3

Datenbanken, SS 12 Kapitel 9: Datenorganisation 14

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10 13 19

3

?

Datenbanken, SS 12 Kapitel 9: Datenorganisation 15

Sukzessiver Aufbau eines B-Baums vom Grad k=2

7 10

3

13 19

?

Datenbanken, SS 12 Kapitel 9: Datenorganisation 16

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7

3

13 19

?10

Datenbanken, SS 12 Kapitel 9: Datenorganisation 17

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

Datenbanken, SS 12 Kapitel 9: Datenorganisation 18

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Datenbanken, SS 12 Kapitel 9: Datenorganisation 19

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Datenbanken, SS 12 Kapitel 9: Datenorganisation 20

Sukzessiver Aufbau eines B-Baums vom Grad k=2

3 7 13 19

?10

1

Datenbanken, SS 12 Kapitel 9: Datenorganisation 21

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

1

Datenbanken, SS 12 Kapitel 9: Datenorganisation 22

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

2

Datenbanken, SS 12 Kapitel 9: Datenorganisation 23

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 3 7 13 19

?10

2

2

Datenbanken, SS 12 Kapitel 9: Datenorganisation 24

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

2

2

Datenbanken, SS 12 Kapitel 9: Datenorganisation 25

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

Datenbanken, SS 12 Kapitel 9: Datenorganisation 26

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Datenbanken, SS 12 Kapitel 9: Datenorganisation 27

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Datenbanken, SS 12 Kapitel 9: Datenorganisation 28

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?10

4

4

Datenbanken, SS 12 Kapitel 9: Datenorganisation 29

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 3 7 13 19

?3 10

4

4

Datenbanken, SS 12 Kapitel 9: Datenorganisation 30

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 13 19

?3 10

4 7

Datenbanken, SS 12 Kapitel 9: Datenorganisation 31

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 13 19

?3 10

11

4 7

Datenbanken, SS 12 Kapitel 9: Datenorganisation 32

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

4 7

Datenbanken, SS 12 Kapitel 9: Datenorganisation 33

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

21

4 7

Datenbanken, SS 12 Kapitel 9: Datenorganisation 34

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19

?3 10

21

4 7

Datenbanken, SS 12 Kapitel 9: Datenorganisation 35

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7

Datenbanken, SS 12 Kapitel 9: Datenorganisation 36

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 37

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 38

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10

12

4 7 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 39

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 13 19 21

?3 10 13

12

4 7 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 40

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 11 19 21

?3 10 13

12

4 7 11 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 41

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 19 21

?3 10 13

12

4 7 11 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 42

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 19 21

?3 10 13

14

4 7 11 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 43

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 19 21

?3 10 13

14

4 7 11 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 44

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 19 21

?3 10 13

15

4 7 11 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 45

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

Datenbanken, SS 12 Kapitel 9: Datenorganisation 46

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

20

Datenbanken, SS 12 Kapitel 9: Datenorganisation 47

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15 19 21

?3 10 13

20

4 7 11 12

20

Datenbanken, SS 12 Kapitel 9: Datenorganisation 48

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 49

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

20

4 7 11 12

20 21

Datenbanken, SS 12 Kapitel 9: Datenorganisation 50

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

5

4 7 11 12

20 21

Datenbanken, SS 12 Kapitel 9: Datenorganisation 51

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2 14 15

?3 10 13 19

5

4 7 11 12

20 21

Datenbanken, SS 12 Kapitel 9: Datenorganisation 52

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 53

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 54

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 57

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 58

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 59

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 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

64 5

Datenbanken, SS 12 Kapitel 9: Datenorganisation 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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 63

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 64

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 65

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 66

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 67

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

Datenbanken, SS 12 Kapitel 9: Datenorganisation 68

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

10B-Baum mit Minimaler

Speicherplatz-ausnutzung

Datenbanken, SS 12 Kapitel 9: Datenorganisation 69

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

23

Datenbanken, SS 12 Kapitel 9: Datenorganisation 70

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21 23

4 5

3 6

10

Datenbanken, SS 12 Kapitel 9: Datenorganisation 71

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21 23

4 5

3 6

10

14

Datenbanken, SS 12 Kapitel 9: Datenorganisation 72

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

14 15

?13 19

7 8 11 12

20 21 23

4 5

3 6

10

14

Unterlauf

Datenbanken, SS 12 Kapitel 9: Datenorganisation 73

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15

?13 19

7 8 11 12

20 21 23

4 5

3 6

10

Unterlauf

Datenbanken, SS 12 Kapitel 9: Datenorganisation 74

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4 5

3 6

10

Datenbanken, SS 12 Kapitel 9: Datenorganisation 75

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4 5

3 6

10

5

Datenbanken, SS 12 Kapitel 9: Datenorganisation 76

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4 5

3 6

10

5

Unterlauf

Datenbanken, SS 12 Kapitel 9: Datenorganisation 77

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4

3 6

10

merge

Datenbanken, SS 12 Kapitel 9: Datenorganisation 78

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

7 8 11 12

21 23

4

3 6

10

merge

Datenbanken, SS 12 Kapitel 9: Datenorganisation 79

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

11 12

21 23

4 6 7 8

3

10Unterlauf

Datenbanken, SS 12 Kapitel 9: Datenorganisation 80

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

11 12

21 23

4 6 7 8

3

10merge

Datenbanken, SS 12 Kapitel 9: Datenorganisation 81

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?13 20

11 12

21 23

4 6 7 8

3

10merge

Datenbanken, SS 12 Kapitel 9: Datenorganisation 82

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?

11 12

21 23

4 6 7 8

3 10 13 20

Datenbanken, SS 12 Kapitel 9: Datenorganisation 83

Sukzessiver Aufbau eines B-Baums vom Grad k=2

1 2

15 19

?

11 12

21 23

4 6 7 8

3 10 13 20

Schrumpfung,Freie Knoten

• Die Höhe h ist bei Grad t und n Einträgen

• Daher dauert die Suche O(log n)

• Beim Einfügen kommt evtl. ein split dazu O(1)• Beim Löschen ein evtl. merge O(1)

Alle Operationen dauern O(log n)

• Allerdings können so nur Zahlen gespeichert werden.

B-Baum (Eigenschaften)

Datenbanken, SS 12 Kapitel 9: Datenorganisation 84

Datenbanken, SS 12 Kapitel 9: Datenorganisation 85

B+-Baum

Referenz-schlüssel

Such-schlüssel

Datenbanken, SS 12 Kapitel 9: Datenorganisation 86

Datenbanken, SS 12 Kapitel 9: Datenorganisation 87

Datenbanken, SS 12 Kapitel 9: Datenorganisation 88

Hashing

Bäume: logk(n) viele Seitenzugriffe ..

Hashing: Fast eindeutige Zuordnung von Datum zu Bucket (Behälter) h: S → B

- S Schlüssel (in diesem Kontext hier: nicht notwendigerweise Schlüssel im Sinne eines logischen Schema)

- B: Nummerierung von n Behältern- Zugriff innerhalb von 1-2 Schritten

- Charakteristiken der gesuchten Hash-Funktion• Fester vs flexibler Wertebereich• Gute Verteilung über den Wertebereich, auch bei schlechter Verteilung

der Datencharakteristiken über den Eingabebereich

Datenbanken, SS 12 Kapitel 9: Datenorganisation 89

Hashing

Abbildung h: D [0..m-1], genannt Hash-Funktion,von Schlüsseln x1, ..., xn aus Domain D (z.B. Strings) auf Positionenh(x1), ..., h(xn) in Array a[0..m-1], genannt Hash-Tabelle (mit n < m) Speicherung von Schlüssel xi in a[h(xi)]

Anforderungen an h: sehr effiziente Berechenbarkeit zufällige „Streuung“ (Randomisierung) von x1, ..., xn auf [0..m-1] Urbilder von j1, j2 [0..m-1] annähernd gleich groß für alle j1, j2 und alle möglichen

x1, ..., xn für geordnete Schlüssel x1 < x2 < ... < xn sollte die Ordnung von h(x1), h(x2), ...,

h(xn) eine zufällige Permutation sein

Beispiele für brauchbare Hash-Funktionen h(x) = (ax + b) mod m für Integers x mit Konstanten a, b h(x) = (mittlere k Ziffern von x2) mod m für k-stellige Integers x h(x) = (ord(c1)+...+ord(ck)) mod m für Strings c1c2...ck k

mit ord: S [1..||]

Datenbanken, SS 12 Kapitel 9: Datenorganisation 90

Statisches Hashing

Datenbanken, SS 12 Kapitel 9: Datenorganisation 91

Datenbanken, SS 12 Kapitel 9: Datenorganisation 92

Datenbanken, SS 12 Kapitel 9: Datenorganisation 93

Hashfunktion für erweiterbares Hashing

h: Schlüsselmenge {0,1}*Der Bitstring muss lang genug sein, um alle Objekte auf ihre

Buckets abbilden zu könnenAnfangs wird nur ein (kurzer) Präfix des Hashwertes (Bitstrings)

benötigtWenn die Hashtabelle wächst wird aber sukzessive ein längerer

Präfix benötigtBeispiel-Hashfunktion: gespiegelte binäre PersNr

h(004) = 001000000... (4=0..0100) h(006) = 011000000... (6=0..0110) h(007) = 111000000... (7 =0..0111) h(013) = 101100000... (13 =0..01101) h(018) = 0100100000... (18 =0..010010) h(032) = 000001000... (32 =0..0100000) h(048) = 000011000... (48 =0..0110000)

Datenbanken, SS 12 Kapitel 9: Datenorganisation 94

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

001

010

011

100

101

110

111

000

Directory

lokale Tiefe: 1

lokale Tiefe: 3

lokale Tiefe: 2

globale Tiefe: 3

Datenbanken, SS 12 Kapitel 9: Datenorganisation 95

0 1

0 1

0 1

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

1

1 11

0

0007 13

6 18

32 48

4

Datenbanken, SS 12 Kapitel 9: Datenorganisation 96

0 1

0 1

0 1

Bucket

Bucket

Bucket

Bucket

Bucket

Bucket

1

1 11

0

000

001 110

Präfix001

Präfix1

7 13

6 1832 48

4

Datenbanken, SS 12 Kapitel 9: Datenorganisation 97

SQL: Create Index

Grobsyntax:

CREATE [UNIQUE] INDEX Indexname ON Tabellenname (Attribut1, Attribut2 ..)

DROP INDEX Indexname

Primary Key hat immer einen Index (muss nicht explizit indexiert werden)

.. Oracle: default-Indextyp ist ein B+ Baum

Beispiele:

CREATE INDEX Studenten_idx1 ON Studenten(Semester)

DROP INDEX Studenten_idx1

Datenbanken, SS 12 Kapitel 9: Datenorganisation 98

Objektballung / Clustering

clustered keyPersNr / gelesenVon

2125 Name Rang …

Sokrates C4 …

Titel VorlNr …

Ethik 5041 …

2126 Name Rang …

Russel C4 …

… … …. …

Professoren

PersNr Name Rang Raum

2125 Sokrates C4 226

2126 Russel C4 232

… … … …

Vorlesungen

VorlNr Titel SWS gelesenVon

5001 Grundzüge 4 2137

5041 Ethik 4 2125

5043 Erkenntnistheorie 3 2126

… … … …

Datenbanken, SS 12 Kapitel 9: Datenorganisation 99

Datenbanken, SS 12 Kapitel 9: Datenorganisation 100

Oracle Clusters und Indexierung

Mit einem B+ Baum:

CREATE CLUSTER cluster name ( attribute type, ... );CREATE INDEX index name ON cluster name;CREATE TABLE table name ( usual parameters)

CLUSTER cluster name ( attribute name );

Mit Hashing:

CREATE CLUSTER cluster name ( attribute type, ... ) [HASH IS hashfunktion] HASHKEYS anzahl;

CREATE TABLE table name ( usual parameters) CLUSTER cluster name ( attribute name );

Datenbanken, SS 12 Kapitel 9: Datenorganisation 101

Oracle Clusters: Beispiel

CREATE CLUSTER ProfessorenVorlesungen (PersNo NUMBER) HASH IS PersNo HASHKEYS 150;

CREATE TABLE Vorlesungen (GelesenVon NUMBER, ... ) CLUSTER ProfessorenVorlesungen (GelesenVon);