Fizyczna organizacja danych w bazie danych

advertisement
Powtórzenie wykładu 10
Fizyczna organizacja danych w
bazie danych. Indeksy.
Model fizyczny bazy danych: pliki i rekordy.
v
v
v
v
Plik składa się z rekordów w tym samym formacie.
Format rekordu - lista nazw pól.
Rekord składa się z wartości poszczególnych pól.
Niektóre pola wyróżnione jako klucz rekordu – ich
wartości jednoznacznie identyfikują cały rekord.
Operacje:
v
Wstawianie - wstaw rekord do pliku.
v
Usuwanie - usuń rekord z pliku.
v
Modyfikacja - zmodyfikuj zawartość pól w rekordzie
w pliku.
v
Wyszukiwanie - znajdź w pliku rekord z podaną
wartością w danym polu.
Pamięci bazy danych
v
Dyski i RAM - dostęp swobodny (random access)
v
Taśmy - dostęp sekwencyjny
v
v
Dane są przechowywane i przekazywane stronami (blokami
dyskowymi).
Inaczej niż w przypadku RAM, czas dostępu do danych
na dysku zależy od ich położenia na dysku.
–
3
Wzajemne rozmieszczenie stron na dysku ma zasadniczy wpływ
na szybkość działania SZBD! Najlepiej operować ciągami
sąsiadujących ze sobą stron.
Organizacje pliku rekordów
–
Plik nieuporządkowany (heap)
–
Plik posortowany
–
Plik haszowany
4
Indeksy
v
v
Plik nieuporządkowany umożliwia wyszukanie rekordu:
–
mając dany identyfikator rekordu rid, lub
–
przeglądając sekwencyjnie wszystkie rekordy w pliku.
Często wyszukiwanie na podstawie wartości jednego lub więcej
pól, np.
v
–
Wyznacz wszystkich studentów specjalizacji “BD”.
–
Wyznacz wszystkich studentów mających < 20 lat.
Indeksy to struktury danych pomagające szybko znajdować
odpowiedzi na takiego rodzaju zapytania.
Indeks pogrupowany i niepogrupowany
NIEPOGRUPOWANY
POGRUPOWANY
Pozycje indeksu
kierują wyszukiwaniem
pozycji danych
Pozycje danych
Pozycje danych
(Plik indeksowy)
(Plik danych)
Rekordy z danymi
Rekordy z danymi
Pozycja indeksu
Strona indeksu
P
0
K
1
P
1
K 2
K < K …. < K
1
2
m
P
K m
2
Pm
Statyczne drzewo ISAM (indexed sequential access method)
Węzły
wewnętrzne
Liści
e
Strony nadmiarowe
Strony główne
B+ drzewo - dynamiczne, bez stron nadmiarowych
Indeks haszowany
v
v
Ustalona alokacja stron głównych; alokowane
dodatkowe strony nadmiarowe w razie potrzeby.
h(k)= k mod M = “segment” do którego należy
pozycja danych o kluczu k (M = # segmentów).
0
1
h(klucz)
klucz
h
M-1
Strony główne
Strony nadmiarowe
Download