Structura de fișiere utilizat pentru a stoca date în baza de date - studopediya

Pe dispozitivele secvențiale de acces (bandă, unități de bandă magnetică) pot fi aranjate doar pentru fișierele de acces secvențiale. Fișierele cu înregistrări de lungime variabilă și sunt întotdeauna fișierele de acces secvențial și pot fi aranjate în două moduri:

  • sfârșitul înregistrării marcat printr-un marcaj special;
  • la începutul fiecărei înregistrări este scris lungimea sa.

Fișierele cu acces direct oferă cel mai rapid acces la orice înregistrare, iar utilizarea lor este cea mai promițătoare în sistemele de baze de date.

Cu toate acestea, cel mai adesea în baza de date este necesară pentru a căuta cheile, mai degrabă decât numărul de înregistrare și numărul de înregistrare, care este necesar pentru accesul direct, în acest caz, este necunoscut. Atunci când organizarea fișierelor cu acces direct, în unele cazuri, este posibil să se construiască o funcție care valoarea K-cheie este unic calculează numărul de înregistrare (numărul de înregistrare fișier) NZ = F (K).

De multe ori nu este posibil să se construiască un unu la unu corespondență între valorile cheie și numărul de înregistrare, astfel încât folosind diferite tehnici hashing; a crea funcție specială hash.

Hashing metode de idee comună este de a utiliza o cheie la valoarea funcției convoluție (funcția hash), generând o valoare mai mică. Convoluție valoare-cheie este apoi utilizată pentru a accesa înregistrarea.

Există două tipuri de fișiere index: un index dens (indice de-directă) și un indice liber (secvențial indexate).

Structura fișierelor cu indicele de dens este după cum urmează:

Cameră în principalele înregistrări de fișiere

Intrările din fișierul principal sunt situate în ordine aleatorie. Aceste fișiere sunt construite pentru chei primare, iar acestea nu pot fi două înregistrări având aceeași valoare a cheii primare. Toate intrările din fișierul index sunt ordonate după valoarea cheii, astfel încât să puteți utiliza căutarea binar sau binar pentru a găsi fișierul index.

Fișierele cu un indice în vrac sunt reprezentate grafic pentru fișierul principal în care ordinea de înregistrare a cheii și structura fișierului index este după cum urmează:

Înțeles blocul de prima cheie de înregistrare

Numărul de bloc pentru această intrare în fișierul principal

În fișierul index este căutat pentru blocul dorit pentru o anumită valoare cheie primară. Din moment ce toate înregistrările sunt ordonate, atunci valoarea primei unități de înregistrare vă permite să determine rapid care blocul este înregistrarea dorită. Toate celelalte etape sunt de a găsi în fișierul principal.

Cea mai populară abordare pentru organizarea indicelui într-o bază de date este de a utiliza o tehnologie B-tree. În ceea ce privește reprezentarea externă a logice B-copac - un arbore echilibrat în memoria externă. Echilibrul înseamnă că lungimea căii de la rădăcină la orice frunză este una și aceeași. Construcția de B-arbori din cauza ideii simpla de a construi un index peste deja construit indicele. Dacă vă construi fișierul cu un indice în vrac, apoi, văzând-o ca dosarul principal, pe care trebuie să construim din nou fișierul cu un indice în vrac, și apoi din nou pe un nou indice de a construi următorul și așa mai departe până când nu va fi doar un singur bloc de index.

Dacă fișierul index este utilizat pentru accelerarea accesului de către cheia primară, apoi pentru accelerarea accesului de către structurile cheie utilizate secundare numite liste răsturnate. Tasta secundară este un atribut sau un set de atribute, care corespunde numărului de înregistrări necesare. De exemplu, un tabel „cărți“, o cheie secundară poate servi ca locul publicării, anul publicării. Multe cărți pot fi publicate într-un singur loc, și o mulțime de cărți pot fi publicate într-un singur an.

Lista Inverted în general - este o structură indice pe trei niveluri. Primul nivel este un fișier sau parte a unui fișier în care valorile aranjate chei secundare ordonate. Fiecare înregistrare are o cheie cu referire secundară la numărul de prima unitate în blocurile cu lanț care conțin un număr de înregistrări cu o anumită valoare cheie secundară. La al doilea nivel există un lanț de blocuri care conțin un număr de înregistrări cu aceeași valoare a cheii secundare. În acest al doilea nivel de unități sunt ordonate în funcție de valorile cheii secundare. Al treilea nivel este principalele înregistrări de fișiere. Noi reprezentăm un mecanism pentru a avea acces la înregistrările pe o cheie secundară:

Shag_1. Zona de nivel mai întâi o anumită valoare a căutat o cheie secundară;

Shag_2.Po citi blocuri de referință al doilea nivel care conține un număr de înregistrări cu date valoarea cheii secundare;

Shag_3. Utilizatorul spațiu de lucru acces direct la toate conținutul înregistrărilor descărcate cu o anumită valoare a cheii secundare.

unele liste răsturnate pentru o varietate de chei secundare pot fi create pentru un singur fișier de master. Cu toate acestea, în modificarea fișierului principal pe care doriți să faceți modificări tuturor listelor răsturnate. Prin urmare, se poate argumenta că construcția listelor răsturnate proces de acces accelerează numai în cazul în care baza de date este stabilă și conținutul său nu se schimbă.

Pentru a simula link-urile de pe structura de fișiere a principiului de organizare a înregistrărilor din cadrul lanțurilor de fișiere și link-uri la numerele de intrare pentru un număr de fișiere corelate. Chain - este un set de înregistrări la diferite locații și secvența de indicii asociate. Structura de fișiere cu lanț poate fi reprezentat în mod convențional ca:

Pentru simularea unei unu-la-mai multe legate de două fișiere, cum ar fi F1 și F2, se presupune că o intrare în F1 fișier poate fi legat de mai multe înregistrări în fișierul F2. Structura de fișiere F1 poate fi reprezentat în mod convențional prin:

F2 structura de înregistrare fișier este după cum urmează: