PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Podobne dokumenty
PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu "Podstawy baz danych" 1

Indeksy. Schematyczne ujęcie organizacji pamięci i wymiany danych systemu pamiętania.

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Tadeusz Pankowski

Podstawy Informatyki. Metody dostępu do danych

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

Bazy danych. Andrzej Łachwa, UJ, /15

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Definicja pliku kratowego

Haszowanie (adresowanie rozpraszające, mieszające)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Baza danych. Baza danych to:

Przykładowe B+ drzewo

System plików przykłady. implementacji

Technologia informacyjna

System plików przykłady implementacji

WPROWADZENIE DO BAZ DANYCH

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

dr inż. Jarosław Forenc

sprowadza się od razu kilka stron!

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

5. Bazy danych Base Okno bazy danych

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Administracja bazy danych Oracle 10g

Algorytmy i struktury danych. wykład 5

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Krzysztof Kadowski. PL-E3579, PL-EA0312,

System plików. Warstwowy model systemu plików

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

2017/2018 WGGiOS AGH. LibreOffice Base

Tabela wewnętrzna - definicja

Fizyczna organizacja danych w bazie danych

PLAN WYKŁADU BAZY DANYCH HIERARCHIA MECHANIZMÓW SKŁADOWANIA PRZECHOWYWANIA BAZ DANYCH

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

Wydajność hurtowni danych opartej o Oracle10g Database

System plików warstwa logiczna

Bazy danych Access KWERENDY

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Matematyka dyskretna - 7.Drzewa

Algorytmy i Struktury Danych, 9. ćwiczenia

Fizyczna struktura bazy danych w SQL Serwerze

Drzewa poszukiwań binarnych

System Oracle podstawowe czynności administracyjne

Porządek symetryczny: right(x)

Systemy baz danych. mgr inż. Sylwia Glińska

System plików JFS. 1 Najważniejsze informacje. Mateusz Zakrzewski. 18 stycznia JFS to skrót od Journalled File System.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

Podstawy Informatyki. Wykład 6. Struktury danych

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

Wykład 2. Relacyjny model danych

Zad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne

Pojęcie bazy danych. Funkcje i możliwości.

Optymalizacja poleceń SQL Indeksy

Dazy Banych. Michał Rusnarczyk

Instrukcje dla zawodników

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Wykład I. Wprowadzenie do baz danych

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Bazy danych - wykład wstępny

Rozmiar pola (długość danych)

Bazy danych TERMINOLOGIA

Bazy danych wykład ósmy Indeksy

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Wysokość drzewa Głębokość węzła

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

INDEKSY. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska

Wprowadzenie do baz danych

PODSTAWY BAZ DANYCH Wykład Partycjonowanie tabel i indeksów


Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

PTI S1 Tabele. Tabele. Tabele

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Teoretyczne podstawy informatyki

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

ALGORYTMY I STRUKTURY DANYCH

System plików ReiserFs

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

1 Instalowanie i uaktualnianie serwera SQL Server

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Deklaracja struktury w C++

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

SZKOLENIE: Administrator baz danych. Cel szkolenia

Architektura Systemu Zarządzania Bazą Danych Oracle

Transkrypt:

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych 2005/2006 Wykład "Podstawy baz danych" 1

Statyczny model pamiętania bazy danych 1. Dane przechowywane są w pamięci zewnętrznej podzielonej logicznie na segmenty składające się z jednostek o stałej długości nazywanej stronami. 2. Każdy plik F(R) rekordów typu R pamiętany jest w jednym segmencie. 3. Spójny obszar pamięci zewnętrznej, w której może być przechowywana jedna strona nazywamy blokiem. 2005/2006 Wykład "Podstawy baz danych" 2

Statyczny model pamiętania bazy danych W pamięci operacyjnej wydzielony jest obszar zwany buforem zdolnym do pomieszczenia jednej strony. Przesyłanie danych pomiędzy pamięciami operacyjną i zewnętrzną przedstawia następujący schemat: 2005/2006 Wykład "Podstawy baz danych" 3

Dynamiczny model pamiętania bazy danych Dynamiczny model pamiętania bazy danych pozwala każdej stronie w różnych momentach przyporządkować różne bloki w pamięci zewnętrznej co pozwala na zmianę rozmiarów segmentów. W metodzie tej dla każdego segmentu S k tworzony jest wektor V k zwany tablicą stron i wektor binarny MAP zawierający tyle pozycji ile bloków istnieje w pamięci zewnętrznej. Model ten można dla dwóch segmentów S 1 i S 2 przedstawić przy pomocy następującego schematu: 2005/2006 Wykład "Podstawy baz danych" 4

Dynamiczny model pamiętania bazy danych gdzie wektory V 1 i V 2 wskazują numery bloków, w których zapamiętane są kolejne strony odpowiednio segmentów S 1 i S 2, a 1 w wektorze MAP oznacza zajętość odpowiedniego bloku. 2005/2006 Wykład "Podstawy baz danych" 5

Dynamiczny model pamiętania bazy danych Dynamiczny model pamiętania bazy danych pozwala na tzw. przysłanianie pamięci, które polega na zablokowaniu części pamięci na czas konieczny na wykonanie pewnych operacji na zapisanych tam danych. Metoda ta pozwala odtworzyć bazę danych, bez konieczności robienia kopii zapasowej bazy w przypadku wystąpienia w niej błędów podczas wykonywania operacji na jej danych. 2005/2006 Wykład "Podstawy baz danych" 6

Dynamiczny model pamiętania bazy danych Omówimy model przysłaniania pamięci na przykładzie dwóch segmentów S 1 i S 2. Realizacja jego wymaga utworzenia dodatkowych wektorów V 11, V 21, CMAP, które są odpowiednio kopiami wektorów V 1, V 2, MAP, oraz wektora STATUS, służącego do oznaczenia, że segment S 1 lub S 2 są zamknięte, tzn. nie jest tworzona jego nowa wersja. Załóżmy, że segment S 1 składa się z k stron. 2005/2006 Wykład "Podstawy baz danych" 7

Dynamiczny model pamiętania bazy danych Stan bazy danych przed wykonywaniem operacji na zapisanych danych można przedstawić przy pomocy następującego schematu: 2005/2006 Wykład "Podstawy baz danych" 8

Dynamiczny model pamiętania bazy danych Przy otwieraniu segmentu S 1 do operacji zmieniającej jego stan należy: 1. Przekopiować wektory V 1, MAP odpowiednio do V 11, CMAP i podstawić STATUS(1) := 1; 2. Np. modyfikowana jest strona 1 zapisana w bloku 2; 3. Dla tej zmodyfikowanej strony szukamy w wektorze CMAP wolnego bloku do zapisania nowego stanu strony (może to być blok (3) i podstawiamy CMAP(3) := 1 oraz V 1 (1) := -3, (znak - oznacza stronę już zmienioną ); 4. Podobne kroki można przeprowadzić np. dla strony 2 (tworzenie nowej strony); 2005/2006 Wykład "Podstawy baz danych" 9

Dynamiczny model pamiętania bazy danych Po tych operacjach stan bazy danych można przedstawić przy pomocy następującego schematu: 2005/2006 Wykład "Podstawy baz danych" 10

Dynamiczny model pamiętania bazy danych 5. Możliwe są teraz dwa przypadki: a) Jeżeli zakończono tworzenie nowej wersji i nie stwierdzono błędu to aktualne przyporządkowanie stron do bloków dane jest w wektorze V 1 ; gdy V 1 (i)<0 i V 11 (i) = j 0 to podstawiamy CMAP(j):= 0 i V 1 (i) := V 1 (i) dla i= 1, 2,..., k; aktualną mapę pamięci otrzymamy podstawiając MAP(i) := CMAP(i) dla i=1, 2,..., N; zamykamy segment S 1 podstawiając STATUS(1) := 0; b) Jeżeli w trakcie tworzenia nowej wersji stwierdzono błąd to wracamy do pierwotnego wektora V 1 podstawiając V 1 (i) := V 11 (i) dla i=1,2,...,k; aktualna mapa pamięci dana jest w wektorze MAP; zamykamy segment S 1 podstawiając STATUS(1) := 0; W obydwu przypadkach segment zawiera stan poprawny. 2005/2006 Wykład "Podstawy baz danych" 11

Odwzorowanie rekordów w na stronie Na każdy rekord należący do pliku F(R):={ r 1,r 2,...,r N } rekordów typu R może być zarezerwowana na stronie stała lub zmienna wielkość pamięci. Niektóre z metod zapisywania rekordów przytoczone są w kolejnym przykładzie. Przykład. Wystąpienie rekordu typu PRACOWNIK( identyfikator, nazwisko, zawód, płaca, wiek ) można zapisać na stronie w następujący sposób: a) każda wartość atrybutu zapisywana jest w polu o stałej długości (podanej w ilości znaków) Długość pola w znakach 3 15 15 5 3 123 Kowalski muzyk 34543 23 2005/2006 Wykład "Podstawy baz danych" 12

Odwzorowanie rekordów w na stronie b) wartości wszystkich atrybutów zapisywane są w kolejnych polach o najmniejszym rozmiarze potrzebnym do ich zapamiętania i odseparowane wyróżnionym znakiem np. % 123 % Kowalski % muzyk % 34543 % 23 % c) wartości wszystkich atrybutów zapisywane są w kolejnych polach o najmniejszym rozmiarze potrzebnym do ich zapamiętania i utworzenie dla każdego rekordu części przedrostkowej składającej się ze wskaźników podających adresy końców poszczególnych pól 2005/2006 Wykład "Podstawy baz danych" 13

Adresowanie rekordów w w bazie danych. Na pliku F(R):={ r 1,r 2,...,r N } rekordów typu R mogą być wykonywane następujące czynności: wprowadzanie rekordu, usuwanie rekordu, modyfikacja rekordu, poszukiwanie rekordu o określonej wartości atrybutu. Dostęp do miejsca zapamiętania w pamięci wystąpienia rekordu można uzyskać np. przy pomocy identyfikatora, którym może być np. kolejny numer przypisany rozważanemu rekordowi przez SZBD ( W Oracle jest to ROWID ). 2005/2006 Wykład "Podstawy baz danych" 14

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Pojęcie B-drzewa. Definicja. Indeksem pliku F(R) nazywamy zbiór I:={ (x,a) ( r F(R) ) (x = key(r) a = kbd(r) ) }, gdzie key(r) jest wartością klucza głównego w wystąpieniu rekordu r a kbd(r) kluczem bazy danych (adresem) wystąpienia rekordu r. Każdą parę (x,a) I nazywamy elementem indeksu. 2005/2006 Wykład "Podstawy baz danych" 15

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Definicja. Niech h 0 i m 1. Drzewo T nazywamy B-drzewem klasy t(h,m), co zapisujemy T t(h,m), gdy T = lub spełnione są następujące warunki: 1. Wszystkie drogi prowadzące z korzenia do liści są jednakowej długości równej h; 2. Każdy wierzchołek, z wyjątkiem korzenia i liści, jest początkiem co najmniej m+1 krawędzi; 3. Korzeń jest liściem lub jest początkiem co najmniej dwóch krawędzi; 4. Każdy wierzchołek jest początkiem co najwyżej 2m+1 krawędzi. Wartość h nazywamy wysokością drzewa. 2005/2006 Wykład "Podstawy baz danych" 16

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Przykład. Przykład B-drzewa klasy t(3,2) 2005/2006 Wykład "Podstawy baz danych" 17

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Organizując indeks pliku F(R) w postaci B-drzewa należy każdemu wierzchołkowi przyporządkować jedną stronę danych w następujący sposób: p 0 x 1 a 1 p 1 x 2 a 2 p 2... x l a l p l gdzie 1. 1 l 2m w przypadku korzenia i m l 2m dla wierzchołków pośrednich i liści; wartość l jest liczbą elementów indeksu na stronie, 2. x i wartością klucza głównego wystąpienia rekordu, a i kluczem bazy danych odpowiadającym wystąpieniu rekordu o wartości klucza głównego x i, 1 i l, 3. p i wskaźnikiem na wierzchołek będącym końcem krawędzi wychodzącej z tego wierzchołka, 0 i l, 2005/2006 Wykład "Podstawy baz danych" 18

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa przy czym dla każdego wierzchołka muszą być spełnione następujące warunki: 1) x 1 < x 2 <... < x l 2) Niech P(p i ) oznacza wierzchołek wskazywany przez wskaźnik p i, 0 i l, a X(p i ) niech będzie zbiorem wartości klucza głównego zawartym w poddrzewie, którego korzeniem jest P(p i ). Wtedy: a) ( x X(p 0 ) ) (x < x 1 ), b) ( x X(p i ) ) (x i < x < x i+1 ), dla 1 i < l, c) ( x X(p l ) ) (x l < x ). 2005/2006 Wykład "Podstawy baz danych" 19

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Przykład. Przykład organizacji indeksu w postaci B-drzewa klasy t(3,2) można przedstawić graficznie w następujący sposób: Dla uproszczenia w wierzchołkach drzewa umieszczono tylko wartości klucza głównego pomijając związane z nim adresy (wartości klucza bazy danych). 2005/2006 Wykład "Podstawy baz danych" 20

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Algorytm wyszukiwania w pliku indeksowym zorganizowanym w postaci B-drzewa Mamy indeks I zorganizowany w postaci B-drzewa i wartość klucza głównego x. Indeks I jest zapamiętany na stronach. Należy wyznaczyć wartość klucza bazy danych a, takiego że (x,a) I lub stwierdzenie, że x nie występuje w indeksie I. W przypadku, gdy wyszukiwanie zakończyło się niepowodzeniem (w indeksie I brak poszukiwanego elementu ) możliwe jest dołączenie elementu x do indeksu I. 2005/2006 Wykład "Podstawy baz danych" 21

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Ma być dołączona para (x,a). Dołączanie to może być bezkolizyjne lub może spowodować przepełnienie strony (tzn. na stronie s zapamiętanych jest już 2m elementów indeksu). W pierwszym przypadku element (x,a) dołączany jest w ten sposób by zachować rosnące uporządkowanie wartości klucza głównego na stronie. W drugim przypadku zastosować należy metodę kompensacji lub podziału. 2005/2006 Wykład "Podstawy baz danych" 22

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Algorytm kompensacji. Metodę tę stosujemy wtedy gdy jedna ze stron sąsiadujących ze stroną s zawiera j elementów indeksu, j<2m. Oznaczmy tą stronę przez s 1. Elementy ze stron s i s 1 z uwzględnieniem dołączanego elementu (x,a) i elementu (x ',a ' ), dla którego wskaźniki po obu stronach wskazują strony s i s 1 porządkujemy w ciąg 2m + j +2 elementów. Element "środkowy" (x i,a i ), gdzie i := entier( (2m + j +2)/2 ) wstawiamy w miejsce elementu (x ',a ' ). 2005/2006 Wykład "Podstawy baz danych" 23

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Strony s i s 1 wypełniamy następująco: 1. Jeżeli s 1 leży na lewo od strony s, to elementy (x k,a k ), k=1,2,...,i-1 wstawiamy na stronę s 1, a elementy (x k,a k ), k=i+1, i+2,..., 2m+j+2 na stronę s. 2. Jeżeli s 1 leży na prawo od strony s, to elementy (x k,a k ), k=1,2,...,i-1 wstawiamy na stronę s, a elementy (x k,a k ), k=i+1, i+2,..., 2m+j+2 na stronę s 1. 2005/2006 Wykład "Podstawy baz danych" 24

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Przykład. Dany jest fragment B-drzewa: Chcemy dołączyć element indeksu o wartości klucza głównego 27. Po uporządkowaniu ciągu wartości klucza głównego otrzymamy ciąg 20, 22, 26, 27, 34, 40, 45, 50. Po zastosowaniu metody kompensacji otrzymamy następujący fragment B-drzewa: 2005/2006 Wykład "Podstawy baz danych" 25

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa 2005/2006 Wykład "Podstawy baz danych" 26

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Algorytm podziału. Niech strona s zawiera 2m elementów. Należy dołączyć element (x,a). W tym celu elementy ze strony s z uwzględnieniem dołączanego elementu (x,a) otrzymując ciąg 2m+1 elementów. porządkujemy rosnąco Elementy o numerach 1,2,...,m umieszczamy na stronie s, a elementy o numerach m+2, m+3,... 2m+1 na nowo utworzonej stronie s 1. 2005/2006 Wykład "Podstawy baz danych" 27

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Element (x m+1, a m+1 ) dołączamy do strony będącej wierzchołkiem krawędzi, której końcem jest wierzchołek odpowiadający stronie s w ten sposób, aby wskaźnik będący po lewej stronie elementu (x m+1,a m+1 ) wskazywał stronę s, a wskaźnik będący po prawej stronie od tego elementu stronę s 1. Może się zdarzyć, że strona ta jest zapełniona (zawiera już 2m elementów). Wówczas należy dokonać jej podziału. 2005/2006 Wykład "Podstawy baz danych" 28

Organizacja dostępu do pliku rekordów w za pomocą B-drzewa Może zaistnieć przypadek, że z podziałem dojdziemy aż do korzenia. Przy podziale korzenia istnieje potrzeba utworzenia dwóch nowych stron (wierzchołków) - jeden s 1 zgodnie z opisanym już algorytmem oraz strony, która będzie nowym korzeniem B-drzewa. Operacja ta spowoduje powiększenie wysokości B-drzewa. 2005/2006 Wykład "Podstawy baz danych" 29

Organizacja dostępu do pliku rekordów w za pomocą B * -drzewa 2005/2006 Wykład "Podstawy baz danych" 30

Indeks bitmapowy Indeks bitmapowy jest zbiorem map bitowych dla każdego indeksowanego atrybutu relacji. Przykład....... Imię... Adam...... Zenon...... Adam...... Jan...... Karol...... Piotr...... Zbigniew...... Jan 2005/2006 Wykład "Podstawy baz danych" 31

Indeks bitmapowy Zbiór map bitowych dla atrybutu Imię Adam Zenon Jan Karol Piotr Zbigniew 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 2005/2006 Wykład "Podstawy baz danych" 32

Indeks bitmapowy Zbiór map bitowych dla atrybutu Imię można zorganizować przy pomocy B * -drzewa 2005/2006 Wykład "Podstawy baz danych" 33

Indeksy z odwróconym kluczem W pliku indeksowym o strukturze B*-drzewa wartości klucza pamiętane są w postaci otrzymanej z pierwotnej wartości klucza przez odwrócenie kolejności bitów. Tak zbudowany plik indeksowy nazywamy plikiem indeksowym z odwróconym kluczem (reverse key index). Przykład. Przykład indeksu o strukturze B*-drzewa i indeksu z odwróconym kluczem w którym widać, że wartości bliskie zostały rozproszone do różnych stron. 2005/2006 Wykład "Podstawy baz danych" 34

Indeksy z odwróconym kluczem Rozproszenie bliskich wartości klucza ma duże znaczenie przy współbieżnych transakcjach operujących na rekordach o bliskich wartościach klucza. 2005/2006 Wykład "Podstawy baz danych" 35

PODSTAWY BAZ DANYCH Wykład 7 5. Architektura Systemu Zarządzania Bazą Danych Oracle 2005/2006 Wykład "Podstawy baz danych" 36

Struktura bazy danych Oracle Baza danych składa się z plików danych, które logicznie podzielone są na pewne obszary zwane przestrzeniami tabel ( tablespace ). Każda przestrzeń tabel składa się z co najmniej jednego pliku danych. Przestrzeń dyskowa zajmowana przez każdy plik danych jest logicznie podzielona na mniejsze jednostki bloki, rozszerzenia, segmenty. W Oraclu obiekty: tabele, indeksy i inne przechowywane są w segmentach. 2005/2006 Wykład "Podstawy baz danych" 37

Przestrzenie tabel ( tablespace ) 2005/2006 Wykład "Podstawy baz danych" 38

Budowa bloku Nagłówek bloku Przestrzeń danych (przechowuje wartości atrybutów) Wolna przestrzeń Dane Wolny obszar bloku jest zarezerwowany na uaktualnianie rekordów znajdujących się w bloku. 2005/2006 Wykład "Podstawy baz danych" 39

Budowa bloku Parametry składowania (storage parametr): 1. PCTFREE liczba - określa rozmiar wolnej przestrzeni bloku w stosunku do rozmiaru całego bloku (wyrażona w % ) Np. PCTFREE 30 2. PCTUSED liczba - określa rozmiar przestrzeni bloku poniżej, którego będzie dozwolone wstawianie nowego rekordu (wyrażona w % ) Np. PCTUSED 50 Omówione parametry określa się przy definiowaniu relacji. Jeżeli rekord nie mieści się w jednym bloku może być przechowywany w wielu blokach. 2005/2006 Wykład "Podstawy baz danych" 40

Budowa bloku 2005/2006 Wykład "Podstawy baz danych" 41

Budowa bloku 2005/2006 Wykład "Podstawy baz danych" 42

Budowa bloku 2005/2006 Wykład "Podstawy baz danych" 43

Budowa bloku 2005/2006 Wykład "Podstawy baz danych" 44

Segment i rozszerzenie Rozszerzenie jest to ciągły obszar bloków, który musi znajdować się w jednym pliku dyskowym. B0 B1 B2 B3 B4 B8 B12 B16 plik1 Rozszerzenie 0 Rozszerzenie 1 B0 B3 B6 B9 plik2 Rozszerzenie 2 Segment 2005/2006 Wykład "Podstawy baz danych" 45

Segment i rozszerzenie 2005/2006 Wykład "Podstawy baz danych" 46

Segment 2005/2006 Wykład "Podstawy baz danych" 47

Adresowanie rekordu w bazie 2005/2006 Wykład "Podstawy baz danych" 48

Architektura systemu 2005/2006 Wykład "Podstawy baz danych" 49

Struktura pamięci SGA (System Global Area ) Bufor danych przechowuje dane odczytane z dysku. Bufor dziennika powtórzeń buforuje informacje o zmianach w bazie danych Bufor bibliotek zawiera między innymi współdzielony obszar poleceń SQL (analizę składniową i plany wykonania poleceń SQL) 2005/2006 Wykład "Podstawy baz danych" 50