Sukzessiver Aufbau eines B

Werbung
Kapitel 10
Dr. Brigitte Mathiak
Physische Datenorganisation
Lernziele
•
•
•
•
•

Speicherhierarchie
Hintergrundspeicher / RAID
Organisation von B-Bäumen, B+ Bäumen..
Hashing
Organisation von mehrdimensionalen Datenstrukturen
Datenbanken, SS 12
Kapitel 9: Datenorganisation
2
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 Blocks
4. Transfer von der Platte zum Hauptspeicher
 100 Mb /s  15 MB/s
Datenbanken, SS 12
Kapitel 9: Datenorganisation
3
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
4
Zugriff: Physikalische Speicherung der Daten
Datenbank-Seite (32-64 Kb)
Header Meyer 123 ...
Cache
Schneider 145 ...
Müller 129 ...
-- Forwarding-RID
Slot-Array
Extent
Table
Datenbanken, SS 12
Kapitel 9: Datenorganisation
5
Einfacher Index: Binäre Suchbaum
Schlüssel (mit den ihnen zugeordneten Daten)
bilden die Knoten eines binären Baums
mit 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
Suchen eines Schlüssels k:
Traversieren des Pfades von der Wurzel bis zu k bzw. einem Blatt
Einfügen eines Schlüssels k:
Suchen von k und Anfügen eines neuen Blatts
Löschen eines Schlüssel k:
Ersetzen von k durch das „rechteste“ Blatt links von k
Worst-Case-Suchzeit für n Schlüssel: O(n)
bei geeigneten Rebalancierungsalgorithmen
(AVL-Bäume, Rot-Schwarz-Bäume, usw.): O(log n)
Datenbanken, SS 12
Kapitel 9: Datenorganisation
6
Beispiel für einen binären Suchbaum
London, Paris, Madrid, Kopenhagen, Lissabon,
Zürich, Frankfurt, Wien, Amsterdam, Florenz
London
Kopenhagen
Frankfurt
Lissabon
Amsterdam
Paris
Madrid
Zürich
Wien
Florenz
Datenbanken, SS 12
Kapitel 9: Datenorganisation
7
Datenbanken, SS 12
Kapitel 9: Datenorganisation
8
D..
Weitere Daten
S..
Suchschlüssel
V..
Verweise
(SeitenNr)
Datenbanken, SS 12
Kapitel 9: Datenorganisation
9
Datenbanken, SS 12
Kapitel 9: Datenorganisation
10
Einfügen eines neuen Objekts (Datensatz) in einen B-Baum
Datenbanken, SS 12
Kapitel 9: Datenorganisation
11
Sukzessiver Aufbau eines B-Baums vom Grad k=2
7
10 13 19
Datenbanken, SS 12
Kapitel 9: Datenorganisation
12
Sukzessiver Aufbau eines B-Baums vom Grad k=2
3
7 10 13 19
Datenbanken, SS 12
Kapitel 9: Datenorganisation
13
Sukzessiver Aufbau eines B-Baums vom Grad k=2
?
3
7 10 13 19
Datenbanken, SS 12
Kapitel 9: Datenorganisation
14
Sukzessiver Aufbau eines B-Baums vom Grad k=2
?
3
7 10
Datenbanken, SS 12
Kapitel 9: Datenorganisation
13 19
15
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
?
3
3
7
Datenbanken, SS 12
Kapitel 9: Datenorganisation
13 19
16
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
?
3
7
Datenbanken, SS 12
Kapitel 9: Datenorganisation
13 19
17
Sukzessiver Aufbau eines B-Baums vom Grad k=2
1
10
?
3
7
Datenbanken, SS 12
Kapitel 9: Datenorganisation
13 19
18
Sukzessiver Aufbau eines B-Baums vom Grad k=2
1
10
?
3
7
Datenbanken, SS 12
Kapitel 9: Datenorganisation
13 19
19
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
?
1
3
7
Datenbanken, SS 12
Kapitel 9: Datenorganisation
13 19
20
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
?
1
1
3
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
13 19
21
Sukzessiver Aufbau eines B-Baums vom Grad k=2
2
10
?
1
3
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
13 19
22
Sukzessiver Aufbau eines B-Baums vom Grad k=2
2
10
?
2
1
3
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
13 19
23
Sukzessiver Aufbau eines B-Baums vom Grad k=2
2
10
?
2
1
2
Datenbanken, SS 12
3
7
Kapitel 9: Datenorganisation
13 19
24
Sukzessiver Aufbau eines B-Baums vom Grad k=2
4
10
?
1
2
Datenbanken, SS 12
3
7
Kapitel 9: Datenorganisation
13 19
25
Sukzessiver Aufbau eines B-Baums vom Grad k=2
4
10
?
4
1
2
Datenbanken, SS 12
3
7
Kapitel 9: Datenorganisation
13 19
26
Sukzessiver Aufbau eines B-Baums vom Grad k=2
4
10
?
4
1
2
Datenbanken, SS 12
3
7
Kapitel 9: Datenorganisation
13 19
27
Sukzessiver Aufbau eines B-Baums vom Grad k=2
4
10
?
4
1
2
Datenbanken, SS 12
3
7
Kapitel 9: Datenorganisation
13 19
28
Sukzessiver Aufbau eines B-Baums vom Grad k=2
4
3? 10
4
1
2
Datenbanken, SS 12
3
7
Kapitel 9: Datenorganisation
13 19
29
Sukzessiver Aufbau eines B-Baums vom Grad k=2
3? 10
1
2
13 19
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
30
Sukzessiver Aufbau eines B-Baums vom Grad k=2
11
3? 10
1
2
13 19
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
31
Sukzessiver Aufbau eines B-Baums vom Grad k=2
3? 10
1
2
11 13 19
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
32
Sukzessiver Aufbau eines B-Baums vom Grad k=2
21
3? 10
1
2
11 13 19
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
33
Sukzessiver Aufbau eines B-Baums vom Grad k=2
21
3? 10
1
2
11 13 19
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
34
Sukzessiver Aufbau eines B-Baums vom Grad k=2
12
3? 10
1
2
11 13 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
35
Sukzessiver Aufbau eines B-Baums vom Grad k=2
12
3? 10
1
2
11 13 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
12
36
Sukzessiver Aufbau eines B-Baums vom Grad k=2
12
3? 10
1
2
11 13 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
12
37
Sukzessiver Aufbau eines B-Baums vom Grad k=2
12
3? 10
1
2
11 13 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
12
38
Sukzessiver Aufbau eines B-Baums vom Grad k=2
12
3? 10 13
1
2
11 13 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
12
39
Sukzessiver Aufbau eines B-Baums vom Grad k=2
12
3? 10 13
1
2
11
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
19 21
11 12
40
Sukzessiver Aufbau eines B-Baums vom Grad k=2
12
3? 10 13
1
2
19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
41
Sukzessiver Aufbau eines B-Baums vom Grad k=2
14
3? 10 13
1
2
19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
42
Sukzessiver Aufbau eines B-Baums vom Grad k=2
14
3? 10 13
1
2
14 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
43
Sukzessiver Aufbau eines B-Baums vom Grad k=2
15
3? 10 13
1
2
14 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
44
Sukzessiver Aufbau eines B-Baums vom Grad k=2
20
3? 10 13
1
2
14 15 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
45
Sukzessiver Aufbau eines B-Baums vom Grad k=2
20
3? 10 13
20
1
2
14 15 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
46
Sukzessiver Aufbau eines B-Baums vom Grad k=2
20
3? 10 13
20
1
2
14 15 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
47
Sukzessiver Aufbau eines B-Baums vom Grad k=2
20
3? 10 13 19
20
1
2
14 15 19 21
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
48
Sukzessiver Aufbau eines B-Baums vom Grad k=2
20
3? 10 13 19
20 21
1
2
14 15
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
49
Sukzessiver Aufbau eines B-Baums vom Grad k=2
5
3? 10 13 19
20 21
1
2
14 15
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
50
Sukzessiver Aufbau eines B-Baums vom Grad k=2
5
3? 10 13 19
20 21
1
2
14 15
4
Datenbanken, SS 12
7
Kapitel 9: Datenorganisation
11 12
51
Sukzessiver Aufbau eines B-Baums vom Grad k=2
5
3? 10 13 19
20 21
1
2
14 15
4
Datenbanken, SS 12
5
7
Kapitel 9: Datenorganisation
11 12
52
Sukzessiver Aufbau eines B-Baums vom Grad k=2
6
3? 10 13 19
20 21
1
2
14 15
4
Datenbanken, SS 12
5
7
Kapitel 9: Datenorganisation
11 12
53
Sukzessiver Aufbau eines B-Baums vom Grad k=2
6
3? 10 13 19
20 21
1
2
14 15
4
Datenbanken, SS 12
5
6
Kapitel 9: Datenorganisation
7
11 12
54
Sukzessiver Aufbau eines B-Baums vom Grad k=2
8
3? 10 13 19
1
2
20 21
14 15
4
Datenbanken, SS 12
5
6
Kapitel 9: Datenorganisation
7
11 12
55
Sukzessiver Aufbau eines B-Baums vom Grad k=2
8
3? 10 13 19
1
2
20 21
8
4
Datenbanken, SS 12
5
6
Kapitel 9: Datenorganisation
7
14 15
11 12
56
Sukzessiver Aufbau eines B-Baums vom Grad k=2
8
3? 10 13 19
1
2
20 21
8
4
Datenbanken, SS 12
5
6
Kapitel 9: Datenorganisation
7
14 15
11 12
57
Sukzessiver Aufbau eines B-Baums vom Grad k=2
8
3? 10 13 19
1
2
20 21
8
4
Datenbanken, SS 12
5
6
Kapitel 9: Datenorganisation
7
14 15
11 12
58
Sukzessiver Aufbau eines B-Baums vom Grad k=2
8
3? 10 13 19
1
2
4
20 21
5
8
6
Datenbanken, SS 12
Kapitel 9: Datenorganisation
7
14 15
11 12
59
Sukzessiver Aufbau eines B-Baums vom Grad k=2
6
3? 10 13 19
1
2
4
20 21
5
6
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
14 15
11 12
60
Sukzessiver Aufbau eines B-Baums vom Grad k=2
6
3? 10 13 19
1
2
4
20 21
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
61
Sukzessiver Aufbau eines B-Baums vom Grad k=2
6
3? 10 13 19
1
2
4
20 21
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
62
Sukzessiver Aufbau eines B-Baums vom Grad k=2
6
3? 10 13 19
1
2
4
20 21
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
63
Sukzessiver Aufbau eines B-Baums vom Grad k=2
6
3
1
6
3? 10 13 19
2
4
20 21
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
64
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
3
1
6
13
? 19
2
4
20 21
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
65
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
3
1
6
13
? 19
2
4
20 21
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
66
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
10
3
1
6
13
? 19
2
4
20 21
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
67
Sukzessiver Aufbau eines B-Baums vom Grad k=2
B-Baum mit
Minimaler
Speicherplatzausnutzung
10
3
1
6
13
? 19
2
4
20 21
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
68
Sukzessiver Aufbau eines B-Baums vom Grad k=2
23
10
3
1
6
13
? 19
2
4
20 21
5
Datenbanken, SS 12
14 15
7
8
Kapitel 9: Datenorganisation
11 12
69
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
3
1
6
13
? 19
2
4
20 21 23
5
14 15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
70
Sukzessiver Aufbau eines B-Baums vom Grad k=2
14
10
3
1
6
13
? 19
2
4
20 21 23
5
Datenbanken, SS 12
14 15
7
8
Kapitel 9: Datenorganisation
11 12
71
Sukzessiver Aufbau eines B-Baums vom Grad k=2
14
10
3
1
6
13
? 19
2
4
Unterlauf
20 21 23
5
Datenbanken, SS 12
14 15
7
8
Kapitel 9: Datenorganisation
11 12
72
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
3
1
6
13
? 19
2
4
Unterlauf
20 21 23
5
15
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
73
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
3
1
6
13
? 20
2
4
21 23
5
15 19
7
Datenbanken, SS 12
8
Kapitel 9: Datenorganisation
11 12
74
Sukzessiver Aufbau eines B-Baums vom Grad k=2
5
10
3
1
6
13
? 20
2
4
21 23
5
Datenbanken, SS 12
15 19
7
8
Kapitel 9: Datenorganisation
11 12
75
Sukzessiver Aufbau eines B-Baums vom Grad k=2
5
10
3
1
6
13
? 20
2
4
21 23
5
Unterlauf
Datenbanken, SS 12
15 19
7
8
Kapitel 9: Datenorganisation
11 12
76
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
3
1
6
13
? 20
2
21 23
4
merge
Datenbanken, SS 12
15 19
7
8
Kapitel 9: Datenorganisation
11 12
77
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
3
1
6
13
? 20
2
21 23
4
merge
Datenbanken, SS 12
15 19
7
8
Kapitel 9: Datenorganisation
11 12
78
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
Unterlauf
3
1
13
? 20
2
4
21 23
6
7
8
15 19
11 12
Datenbanken, SS 12
Kapitel 9: Datenorganisation
79
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
merge
3
1
13
? 20
2
4
21 23
6
7
8
15 19
11 12
Datenbanken, SS 12
Kapitel 9: Datenorganisation
80
Sukzessiver Aufbau eines B-Baums vom Grad k=2
10
merge
3
1
13
? 20
2
4
21 23
6
7
8
15 19
11 12
Datenbanken, SS 12
Kapitel 9: Datenorganisation
81
Sukzessiver Aufbau eines B-Baums vom Grad k=2
3 10 13 20
1
2
4
?
21 23
6
7
8
15 19
11 12
Datenbanken, SS 12
Kapitel 9: Datenorganisation
82
Sukzessiver Aufbau eines B-Baums vom Grad k=2
Schrumpfung,
Freie Knoten
3 10 13 20
1
2
4
?
21 23
6
7
8
15 19
11 12
Datenbanken, SS 12
Kapitel 9: Datenorganisation
83
B-Baum (Eigenschaften)
• 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.
Datenbanken, SS 12
Kapitel 9: Datenorganisation
84
B+-Baum
Referenzschlüssel
Suchschlüssel
Datenbanken, SS 12
Kapitel 9: Datenorganisation
85
Datenbanken, SS 12
Kapitel 9: Datenorganisation
86
Datenbanken, SS 12
Kapitel 9: Datenorganisation
87
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
88
Hashing
Abbildung h: D  [0..m-1], genannt Hash-Funktion,
von Schlüsseln x1, ..., xn aus Domain D (z.B. Strings) auf Positionen
h(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
89
Statisches Hashing
Datenbanken, SS 12
Kapitel 9: Datenorganisation
90
Datenbanken, SS 12
Kapitel 9: Datenorganisation
91
Datenbanken, SS 12
Kapitel 9: Datenorganisation
92
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önnen
Anfangs wird nur ein (kurzer) Präfix des Hashwertes (Bitstrings)
benötigt
Wenn die Hashtabelle wächst wird aber sukzessive ein längerer
Präfix benötigt
Beispiel-Hashfunktion: gespiegelte binäre PersNr







h(004) = 001000000...
h(006) = 011000000...
h(007) = 111000000...
h(013) = 101100000...
h(018) = 0100100000...
h(032) = 000001000...
h(048) = 000011000...
Datenbanken, SS 12
(4=0..0100)
(6=0..0110)
(7 =0..0111)
(13 =0..01101)
(18 =0..010010)
(32 =0..0100000)
(48 =0..0110000)
Kapitel 9: Datenorganisation
93

globale
Tiefe: 3
Directory
000
001
010
011
100
101
lokale
Tiefe: 3
110
lokale
Tiefe: 2
Bucket
Bucket
Bucket
Datenbanken, SS 12
lokale
Tiefe: 1
111
Kapitel 9: Datenorganisation
Bucket
Bucket
Bucket
94

0
0
32
13
Bucket
18
Bucket
Bucket
1
Bucket
0
7
1
0
6
Datenbanken, SS 12
1
0
1
Bucket
1
1
0
0
4
1
48
Kapitel 9: Datenorganisation
Bucket
95

0
1
110
1
1
0
0
001
1
0
1
0
1
0
1
0
Präfix
001
4
Bucket
6
Bucket
32
Datenbanken, SS 12
7
13
Bucket
18
Bucket
Bucket
48
Kapitel 9: Datenorganisation
Präfix
1
Bucket
96
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
97
Objektballung / Clustering
Vorlesungen
clustered key
PersNr / gelesenVon
2125
2126
…
Datenbanken, SS 12
VorlNr
Titel
SWS gelesen
Von
Name
Rang
…
5001
Grundzüge
4
2137
Sokrates
C4
…
5041
Ethik
4
2125
5043
Erkenntnistheorie
3
2126
…
…
…
…
Titel
VorlNr
…
Ethik
5041
…
Name
Rang
…
Russel
C4
…
…
….
…
Kapitel 9: Datenorganisation
Professoren
PersNr
Name
Rang Raum
2125
Sokrates
C4
226
2126
Russel
C4
232
…
…
…
…
98
Datenbanken, SS 12
Kapitel 9: Datenorganisation
99
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
100
Oracle Clusters: Beispiel
CREATE CLUSTER ProfessorenVorlesungen
(PersNo NUMBER)
HASH IS PersNo
HASHKEYS 150;
CREATE TABLE Vorlesungen
(GelesenVon NUMBER, ... )
CLUSTER ProfessorenVorlesungen (GelesenVon);
Datenbanken, SS 12
Kapitel 9: Datenorganisation
101
Herunterladen