Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Wykład 10: Fizyczna organizacja danych w bazie danych

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

sprowadza się od razu kilka stron!

Fizyczna organizacja danych w bazie danych

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów

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

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

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

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Klucz wyszukiwania. Pojcie indeksu. Wykład 8: Indeksy. Pojcie indeksu - rodzaje indeksów

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

Bazy danych Podstawy teoretyczne

Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania

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

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Klonowanie MAC adresu oraz TTL

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Listy i operacje pytania

Podstawy Informatyki. Metody dostępu do danych

Sposoby przekazywania parametrów w metodach.

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

System plików przykłady. implementacji

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

dr inż. Jarosław Forenc

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

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

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Standardy danych w tagu EPC

Zazwyczaj rozmiar bloku jest większy od rozmiaru rekordu, tak więc. ich efektywna lokalizacja kiedy tylko zachodzi taka potrzeba.

Przykłady wyrae uywanych w kwerendach i filtrach

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

SUPLEMENT SM-BOSS WERSJA 6.15

WPROWADZENIE DO BAZ DANYCH

Bazy danych Transakcje

Systemy operacyjne III

Bazy danych. Plan wykładu. Czynniki wpływajce na fizyczny projekt bazy danych. bazy danych

Instrukcja obsługi dodatku InsERT GT Smart Documents

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

System plików przykłady implementacji

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

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

Bazy danych wykład ósmy Indeksy

Zadania do wykonaj przed przyst!pieniem do pracy:

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd

Haszowanie (adresowanie rozpraszające, mieszające)

Tabela wewnętrzna - definicja

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty

Optymalizacja poleceń SQL Metody dostępu do danych

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

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków.

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Przykładowe B+ drzewo

Programowanie i struktury danych

Dla ułatwienia pracy wydrukuj poni sz instrukcj

Komputerowa Ksiga Podatkowa Wersja 11.4 ZAKOCZENIE ROKU

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

SUPLEMENT SM-BOSS WERSJA 6.15

Temat: Struktury do przechowywania danych w pamici zewntrznej. B - drzewa. B * - drzewa. B + - drzewa.

Typy bazy danych Textract

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

INDEKSY I SORTOWANIE ZEWNĘTRZNE

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Wprowadzanie i zmiany faktur z zakupu, wydruk rejestru zakupu

Wzorce (szablony) template<class T> {definicja wzorca} lub template<class TypElementu> lub template<class TypElementu1, class TypElementu2>

5. Bazy danych Base Okno bazy danych

Stawiajc krzyyk w odpowiedniej wartoci mona zapisa dowolnego binarnego reprezentanta liczby dziesitnej x x x x x

Definicja pliku kratowego

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

2017/2018 WGGiOS AGH. LibreOffice Base

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

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

Mozilla Firefox PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox PL. wersja 1.1

Programowanie Obiektowe

Elementy baz danych w edytorze tekstu. Elementy baz danych w arkuszu kalkulacyjnym. Jednorodna tabela jako ródło danych:

System plików. Warstwowy model systemu plików

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

Tadeusz Pankowski

T A B E L E i K W E R E N D Y

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

stopie szaro ci piksela ( x, y)

Wektor o pocztku i kocu odpowiednio w punktach. Prosta zawierajca punkty p i q: pq Półprosta zaczynajca si w punkcie p i zawierajca punkt q:.

Planowanie adresacji IP dla przedsibiorstwa.

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Wprowadzenie do baz danych

Normalizacja baz danych

Transkrypt:

Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarzdzania miejscem na dysku i moduł zarzdzania buforami Formaty rekordów i sposoby ich zapisu Rozmieszczenie rekordów w blokach Metody organizacji pliku rekordów Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl Bazy danych (studia dzienne) 2 Model logiczny i fizyczny Model logiczny bazy danych Model fizyczny bazy danych - oparty jest na pojciu pliku i rekordu. Plik obiektu bazy danych składa si z rekordów posiadajcych ten sam format Format rekordu jest list nazw pól z okreleniem ich typów danych. Rekord składa si z wartoci poszczególnych pól. Niektóre pola s wyrónione jako klucz rekordu - ich wartoci jednoznacznie identyfikuj cały rekord. Podstawowe operacje na pliku wstawianie usuwanie modyfikacja wyszukiwanie Operacje na pliku Plik słuy zwykle jako reprezentacja fizyczna jednej tabeli. Ale równie istnieje moliwo pliku jako klastra kilku tabel i wtedy rekordy trzymane w pliku mog mie róny format Bazy danych (studia dzienne) 3 Bazy danych (studia dzienne) 4

Mechanizmy składowania Podstawowy mechanizm składowania - noniki danych, na których moe bezporednio operowa procesor np. pami RAM. Mechanizm podstawowy zapewnia zwykle szybki dostp do danych, ala wie si z ograniczon pojemnoci Drugorzdny mechanizm składowania - dyski magnetyczne, dyski optyczne oraz tamy urzdzenia te charkteryzuj si wiksz pojemnosci, mniejszymi kosztami i oferuja wolniejszy dostp do danych ni mechanizm podstawowy. Dane nie mog by przetwarzane bezporednio przez procesor główny Dyski Charakterystyka wykorzystania danych przechowywanych na dysku: dostp swobodny: w oparciu o adres rekordu na dysku mona go przesła do pamici RAM w jednej operacji We-Wy dane s przechowywane i przesyłane w jednostkach nazywanych blokami dyskowymi lub stronami czas dostpu do danych na dysku zalezy od ich połoenia na dysku (cigi ssiadujcych ze sob stron) dy si do tego, aby dane, które s czsto wykorzystywane przez programy, na stałe przebywały w buforach pamici RAM. Operacje odczytu i zapisu bloków na dysku mog by realizowane współbienie. Std opłaca si, aby transakcje uytkowników były realizowane przez system współbienie, a nie sekwencyjnie. Bazy danych (studia dzienne) 5 Bazy danych (studia dzienne) 6 Tamowe urzdzenia pamiciowe Dyskowy model fizyczny Dostp sekwencyjny - aby uzyska dostep do n-tego bloku na tamie najpierw musimy przejrze wczeniejsze n-1 bloków. Nie s przewanie wykorzystywane do przechowywania danych biecych ale do archiwizacji baz danych Atrybut Wiersz (obiekt) Pole Rekord Strona (blok) Relacja Plik Porównanie poj poziomu logicznego i fizycznego Bazy danych (studia dzienne) 7 Bazy danych (studia dzienne) 8

Dyskowy model fizyczny gdy rozmiar rekordu jest wikszy ni rozmiar strony, rekord jest dzielony na czci przechowywane na osobnych stronach (najlepiej ssiadujcych na dysku) due obiekty LOB s trzymane w osobnym obszarze przeznaczonym do ich przechowywania w bazie danych, zwykle jako cig ssiednich stron. W rekordach danych znajduj si tylko ich wskaniki jeden plik moe reprezentowa te klaster tabel tzn. powizanie danych z dwóch lub wikszej liczby tabel. Dane w pliku s wówczas umieszczane w oparciu o współny klucz. Bazy danych (studia dzienne) 9 Moduł zarzdzania miejscem na dysku W pliku mamy dwa rodzaje stron: stony z wolnym miejscem do zapisu nowych rekordów strony całkiem lub prawie całkiem zapełnione Zakładamy take, e system ma moliwo rozszerzenia pliku rekordów i alokacji nowych pustych stron. Moduł zarzdzania miejscem na dysku realizuje nastpujce funkcje: odczyt strony zapis strony pobranie strony do zapisu nowego rekordu alokacja cigu stron (połoonych spójnie na dysku) Moduł zarzdzania miejscem na dysku ukrywa szczegóły sprztu i systemu operacyjnego i umoliwia pozostałym modułom traktowanie danych na dysku jako zbioru stron. Bazy danych (studia dzienne) 10 Zarzdzanie buforami danych (w RAM) Moduł zarzdzania buforami danych jest odpowiedzialny za sprowadzanie stron z dysku do puli buforów w pamici RAM. Zapis strony odbywa si w ramce Oprócz puli ramek w pamici RAM s przechowywane: tablica par: <nr_ramki, id_strony> dla kadej ramki: licznik odwoła - ile rónych procesów uywa ramki w danej chwili dla kadej ramki bit modyfikacji - czy po sprowadzeniu do pamici RAM zawarto ramki została zmodyfikowana wszystkie ramki, których licznik odwoła=0 tworz list wolnych ramek Działania modułu zarzdzania buforami Gdy procesowi potrzebna jest strona: Gdy potrzebnej strony nie ma w puli ramek wybierz ramk z listy wolnych ramek (licznik odwoła=0) jeli strona w wybranej ramce została zmieniona, ale nie zaktualizowana na dysku (bit modyfikacji=true) zapisz j na dysk wczytaj potrzebn stron w wybran ramk ustaw jej licznik odwoła=1 Gdy potrzebna strona jest w puli ramek, zwiksz jej licznik odwoła o 1. Przeka procesowi wskanik do ramki ze stron jeli mona przewidzie, e maj by sprowadzone ssiadujce na dysku strony, sprowad od razu kilka stron Bazy danych (studia dzienne) 11 Bazy danych (studia dzienne) 12

Działania modułu zarzdzania buforami Gdy zmienia si zawarto ramki: ustawiamy dla ramki bit modyfikacji = true Strona w buforze danych moe by potrzebna wielu procesom: nowe zapotrzebowanie na stron zwiksza jej licznik odwoła o jeden gdy proces zwalnia stron w ramce, jej licznik odwoła zmniejsza si o jeden ramka staje si kandydatek do zastpienia, gdy jej licznik odwoła =0. Zostaje wtedy wstawiona na list wolnych ramek Strategie zastpowania stron w ramkach z listy wolnych ramek LRU - zastpuje si stron, która najdłuej była nieuywana MRU - zastpuje si stron, która ostatnio była uywana Clock - ustala si stał cykliczn kolejno pobierania wolnych ramek Formaty rekordów Plik jest cigiem rekordów. Jeeli kady rekord w pliku ma dokładnie ten sam rozmiar o takim pliku mówi si, składa si z rekordów o stałej długoci. Jeeli róne rekordy w pliku maj róny rozmiar o pliku mówi si, e składa si z rekordów o zmiennej długoci. Taka sytuacja ma miejsce wówczas, gdy rekordy maj ten sam typ rekordu, ale jedno lub wicej pól ma zmienn długo rekordy maj ten sam typ rekordu, ale jedno lub wicej pól jest opcjonalne plik zawiera rekordy o rónych typach rekordów, z przez to rónych rozmiarach (klastry) Bazy danych (studia dzienne) 13 Bazy danych (studia dzienne) 14 Zapis rekordu o stałej długoci Zapis rekordu skłda si ze spójnego obszaru zawierajcego cigi pól P 1,.., P n o stałych rozmiarach D 1,.., D n Majc adres bazowy (pocztek rekordu) B łatwo mona obliczy poczatek i-tego pola jako B+D 1 +...+D i-1. P 1 P 2 P 3 P 4 Zapis rekordu o zmiennej długoci Zapis rekordu o zmiennej długoci mona reprezentowa przez zapis o stałej długoci (kade pole bdzie reprezenowane w rekordzie) dla pól o zmiennej długoci (stał liczba pól w rekordzie) mona wykorzystywa separatory (?, %, $), które nie wystpuj w wartoci adnego pola, w celu okrelenia koca pól o zmiennej długoci D 1 D 2 D 3 D 4 Adres bazowy (B) Adres=B+D 1 +D 2 P 1 P 2 P 3 P 4 D 1 $ D 3 $ Bazy danych (studia dzienne) 15 Bazy danych (studia dzienne) 16

Zapis rekordu o zmiennej długoci Zapis rekordu z polami opcjonalnymi Na pocztku rekordu umieszcamy tablic wskaników do pocztków kolejnych pól, wówczas uzyskujemy bezporedni dostp do wartoci i-tego pola efektywne przechowywanie wartoci Null Jeeli liczba pól w rekordzie jest dua, ale liczba pół faktycznie wystpujcych w rekordzie jest mała, mona w kadym rekordzie uwzgldni sekwencj par <nazwa_pola, warto pola> zamiast samych wartoci pól. Wystpuje kilka rodzajów znaków rozdzielajcych P 1 P 2 P 3 Nazwisko=Kowalski $ Wiek=25 $ Zarobki=1500 % oddziela nazw pola od jego wartoci oddziela pola koczy rekord Bazy danych (studia dzienne) 17 Bazy danych (studia dzienne) 18 Zapis rekordów rónych typów Kady rekord zostaje poprzedzony wskanikiem typu rekordu Rozmieszczenie rekordów w blokach Rekordy pliku musz by przydzielane w blokach dyskowych (stronach), poniewa blok jest jednostk przesyłania danych midzy dyskiem a pamici Zapis rekordu w jednej z omawianych postaci Gdy rozmiar blok jest wikszy od rozmiaru rekordu, wówczas kady blok bdzie zawierał wiele rekordów Wskanik typu rekordu Zakładajc, e rozmiar bloku wynosi B bajtów, a rekordu R, gdzie R<=B, wówczas mona okreli współczynik bloku dla pliku: bfr = floor(b/r) Rozmiar nieuywanej przestrzeni wynosi wówczas B-(bfr R) bajtów Bazy danych (studia dzienne) 19 Bazy danych (studia dzienne) 20

Rozmieszczenie rekordów w blokach Organizacja segmentowa bloku wykorzystuje nieuywan przestrze bloku w ten sposób, e cz rekordu jest przechowywana w jednym bloku, a reszta w drugim wskanik znajdujacy si na kocu pierwszego bliku wskazuje na blok zawierajcy reszt rekordu w przypadku, gdy nie bdzie to nastpny w kolejnoci blok na dysku. Blok i Rekord 1 Rekord 2 Rekord 3 Rekord 4 P Rozmieszczenie rekordów w blokach Organizacja niesegmentowa bloku rekordy nie mog przekracza granic bloków wykorzystuje si j w przypadku rekordów o stałej długoci, gdy B>R, poniewa powoduje to, e kady rekord zaczyna si od znanej lokalizacji w bloku, co upraszcza ich przetwarzanie w przypadku rekordów o zmienej długoci moliwa jest zarówno organizacja segmentowa jak te niesegmentowa (zaley od przecitej długoci rekordu) Blok i+1 R 4 (reszta) Rekord 5 Rekord 6 Rekord 7 P Blok i Rekord 1 Rekord 2 Rekord 3 Blok i+1 Rekord 4 Rekord 5 Rekord 6 Bazy danych (studia dzienne) 21 Bazy danych (studia dzienne) 22 Format strony dla rekordów stałej długoci Format strony dla rekordów stałej długoci Dwa alternatywne formaty: najpierw s zgrupowane wszystkie miejsca zajte a potem wolne miejsca zajete i wolne s ze sob przemieszane - to czy miejsce jest wolne czy zajte wskazuje bit w dodatkowej tablicy Occupied Occupied (i) =1 wtedy i tylko wtedy, gdy i-te miejsce na stronie jest zajte Przy operowaniu na danych pojawia si potrzeba sigania do konkretnych rekordów, a nie do wszystkich za kadym razem np. sigamy do rekordu w oparciu o jego wczeniej wyliczony adres bd poprzez adres znaleziony w indeksie. Adres rekordu (identyfikator rekordu rid) identyfikujacy jego połoenie na dysku jest okrelany nastpujco: rid=<id_strony, numer pozycji na stronie> Bazy danych (studia dzienne) 23 1 2 N N Wolne miejsce Liczba rekordów Bazy danych (studia dzienne) 24 1 2 N M 1 0 1... 0 1 1 1 M M... 3 2 1 Liczba pozycji W przypadku pierwszej struktury przesuwanie rekordów na stronie powoduje zmian identyfikatora rekordu, co komplikuje odwołania do rekordu przez jego identyfikator rid.

Format strony dla rekordów zmiennej długoci Adres zapisu rekordu na stronie jest okrelony przez warto w tablicy Poz. Warto Poz(i) wskazuje na pocztek obszaru i-tego rekordu. Dodatkowo warto Poz(0) wskazuje na pocztek obszaru wolnych miejsc. Rid=<id_strony, numer pozycji w tablicy Poz> Przy zmianie pozycji na stronie aktualizowany jest te adres w Poz(i). Nie zmienia to indeksu i,czyli nie zmienia równie identyfikatora rekordu rid. Rid=(i,N) Strona i Rid=(i,1) Metody organizacji pliku rekordów Podstawow rónic pomiedzy róznymi organizacjami plików rekordów polega na tym, czy porzdkuj one rekordy według wartoci pewnego klucza czy nie. Wyróniamy: Plik nieuporzdkowany Plik posortowany Plik haszowany 20... 13 24 N Wskanik do puli wolnych miejsc Tablica pozycji Liczba pozycji Bazy danych (studia dzienne) 25 Bazy danych (studia dzienne) 26 Plik nieuporzdkowany Rekordy s przechowywane na stronach pliku w dowolnym porzdku nowy rekord jest wstawiany do pierwszej strony, na które jest wolne miejsce Przy wyszukiwaniu przechodzimy po wszystkich stronach do chwili napotkania szukanego rekordu albo koca pliku, gdy rekordu nie ma w pliku Organizacja nieuporzdkowana jest wygodna przy wykonywaniu zapyta dotyczcych wszystkich rekordów lub wikszoci rekordów: select * from emp; Pliki posortowane Rekody s zapisywane na kolejnych stronach wzgldem klucza rekordu Reprezentacja wygodna gdy rekordy przetwarza si zawsze w pewnym ustalonym porzdku lub tylko ich pewien zakres wzgldem tego porzdku np. Select * from emp order by sal select * from emp where sal>2000 wówczas do wyszukania odpowiednich rekordów mona uy wyszukiwania binarnego na blokach a nie na rekordach (uzyskanie dostpu do log 2 (b) bloków, gdzie b - liczba bloków w pliku. Brak korzyci, gdy chcemy odwoła si do rekordów w oparciu o wartoci innych pól, które nie s polami uporzdkowania -dostp wymaga wyszukiwania liniowego (rednio b/2 bloków) Bazy danych (studia dzienne) 27 Bazy danych (studia dzienne) 28

Pliki posortowane Problem - wstawianie i usuwanie rekordów wstawianie - naley znale odpowiedni pozycj w pliku wzgldem pola uporzdkowania, a nastpnie zapewni wolne miejsce w pliku. W tym celu naley przesunc rednio połow rekordów w pliku. Poprawa wydajnoci przez wykorzystanie tymczasowego pliku nieuporzdkowanego tzn pliku przepełnienia. Nowe rekordy s wstawiane do pliku przepełnienia - na jego koniec. Okresowo plik jest sortowany i kolejene rekordy s wstawiane do pliku głównego =>zwikszona złoono operacji wyszukiwania usuwanie rekordów - problem mniejistotny, gdy wykorzystauje si znaczniki usunicia Pliki haszowane Plik jest kolekcj segmentów Segment to strona główna plus zero lub wicej stron nadmiarowych alokowanych do segmentu w razie potrzeby. Przydział rekordu do segmentu odbywa si w oparciu o warto funkcji haszujcej, zastosownej do klucza wyszukiwania rekordu, którym jest jedno lub wicej pól rekordu: Funkcja haszujca: h(klucz wyszukiwania rekordu r)= adres segmentu, do którego wpada rekord r Bazy danych (studia dzienne) 29 Bazy danych (studia dzienne) 30 Plik haszowany Plik haszowany klucz h 0 1 2 Organizacja pliku haszowanego jest uyteczna przy wyborze rekordu z pliku w oparciu o warto lub wartoci pewnych pól rekordu np.: select * from emp where ename=&nazwisko Organizacja rekordów w pliku haszowanym nie zachowuje kolejnoci wartoci klucza wyszukiwania M-1 Strony główne Strony nadmiarowe Zastosowanie jednej organizacji rekordów w pliku zazwyczaj nie wystarcza w aplikacji baz danych, w których wyszukiwanie odbywa si wzgldem wartoci rónych kluczy wyszukiwania. Rozwizanie tego problemu polega na skorzystaniu z osobnych struktur indeksowych. Bazy danych (studia dzienne) 31 Bazy danych (studia dzienne) 32