Professional Documents
Culture Documents
Predavanja
svibanj 2019.
10. Fizička
organizacija
podataka
UVOD - Fizička organizacija
15 Petra
1 Marko
47 Ivana
2 Janko
5 Ana
...
Literatura:
1. Silberschatz, Korth, Sudarshan: Database System Concepts
2 .Garcia-Molina, Ullman, Widom: Database Systems -The Complete Book
Ovdje će biti opisana varijanta B-stabla koja se naziva B+- stablo. Opisi ostalih
varijanti B-stabala (B*-stablo, B-stablo, ...) mogu se pronaći u literaturi.
razina 0 A korijen
razina 2 G E C D
razina 3 listovi J B
listovi
• razina čvora (level): duljina puta od korijena do čvora
• dubina stabla (depth): najveća duljina puta od korijena do lista
• red stabla (order): najveći broj djece koje čvor može imati
© FER - Zagreb Baze podataka 2018/2019 11
Stablo kao struktura podataka
A A
B J B J
E C H G E C H G
F D
• 43 •
interni
B-stablo
čvorovi
• 27 • • 56 • 73 •
listovi • 11 • 19 • • 27 • • 43 • • 56 • 61 • • 73 • 79 •
blokovi s 27
Ana
19
Davor
11
Ivan
43
Tea
56
Jura
79
Iva
61 73
Ante Igor
podacima Novak Turk Kolar Ban Anić Pek Tomić Šimić
P1 K1 P2 K2 P3 ... Kn-1 Pn
• • • •
• 27 • • 56 • 73 •
k 27 k 27 k 56 k 73
56 k 73
• 11 • 19 • • 27 • • 43 • • 56 • 61 • • 73 • 79 •
k = 56 k = 61
27 19 11 43 56 79 61 73
Ana Davor Ivan Tea Jura Iva Ante Igor
Novak Turk Kolar Ban Anić Pek Tomić Šimić
• 27 • • 56 • 73 •
na ovoj slici nisu
prikazani blokovi s
podacima
• 11 • 19 • • 27 • • 43 • • 56 • 61 • • 73 • 79 •
• 9 • • 31 • 39 • • 67 •
• 3 • 7 • • 9 • • 13 • 17 • • 31 • • 39 • • 48 • • 67 • 93 •
13 9 3 31 15 7 17 39 48 93 67
Ana Josip Davor Maja Tomo Ivan Tea Jura Iva Ante Igor
Novak Rajt Turk Šapar Grec Kolar Ban Anić Pek Tomić Šimić
• 13 • • 48 •
• 9 • • 17 • • 39 • • 67 •
• 3 • 7 • • 9 • • 13 • 15 • • 17 • • 31 • • 39 • • 48 • • 67 • 93 •
13 9 3 31 15 7 17 39 48 93 67
Ana Josip Davor Maja Tomo Ivan Tea Jura Iva Ante Igor
Novak Rajt Turk Šapar Grec Kolar Ban Anić Pek Tomić Šimić
• 9 • • 17 • • 48 • 67 •
• 3 • 7 • • 9 • • 13 • 15 • • 17 • • 31 • • 48 • • 67 • 93 •
13 9 3 31 15 7 17 39 48 93 67
Ana Josip Davor Maja Tomo Ivan Tea Jura Iva Ante Igor
Novak Rajt Turk Šapar Grec Kolar Ban Anić Pek Tomić Šimić
▪ Primjer: za broj n-torki m = 1 000 000, za red stabla n = 70, ukupni broj
razina (uključujući i razinu korijena) u najlošijem slučaju je 4:
• 11 • • 24 • 36 •
• 1 • 7 • • 11 • 14 • • 18 • 21 • • 24 • 35 • • 36 • 41 • 43 •
• 1 • 7 • 11 • • 14 • 18 • 21 • • 24 • 35 • 36 • • 41 • 43 •
• 14 • 24 • 41 •
• 1 • 7 • 11 • • 14 • 18 • 21 • • 24 • 35 • 36 • • 41 • 43 •
▪ Koliko n-torki sadrži relacija ako je nad njom izgrađeno B+-stablo reda
101, s ukupno 5 razina, s minimalno dopuštenom popunjenošću svih
čvorova
▪ Koliko n-torki sadrži relacija ako je nad njom izgrađeno B+-stablo reda
101, s ukupno 5 razina, s maksimalno popunjenim svim čvorovima
▪ max. broj kazaljki u jednom listu je 101 - 1 = 100
▪ max. broj kazaljki u internom čvoru je 101
▪ relacija sadrži 101 • 101 • 101 • 101 • 100 1.04 • 1010 n-torki
▪ Obavljanjem naredbe za 2
kreiranje indeksa nad CREATE INDEX osoba_prez
relacijom, nad blokovima s ON osoba (prez);
podacima relacije formira se
struktura B-stabla B-stablo za osoba.prez
1
CREATE TABLE osoba (
mbr INTEGER
, ime NCHAR(20)
, prez NCHAR(20)); 7 17 39 48 93 67
Ivan Tea Jura Iva Ante Igor
Anić Tomić Šimić
INSERT INTO ...; Kolar Ban Pek
11 43 56 79 61 73
Ivan Tea Jura Iva Ante Igor
Kolar Ban Anić Pek Tomić Šimić
NE !!! Zašto?
▪ upit oblika:
SELECT * FROM stud
WHERE prez = 'Kolar'
AND ime = 'Ivan';
▪ Indekse r_abc2, r_a1, r_a2, r_ab1 i r_ab2 ne treba kreirati jer SUBP
može koristiti indeks r_abc1 u svim slučajevima u kojima bi se
koristili indeksi r_abc2, r_a1, r_a2, r_ab1 i r_ab2.