logare  |  registrare

Algoritmi de prelucrare a fişierelor organizate indexat

Algoritmi de prelucrare a fişierelor organizate indexatzoom
referatul a fost adăugat în catalogul nostru smbt, 16 aprilie 2011
Algoritmi de prelucrare a fisierelor organizate indexat
91.03 KB Încărcări
  • referatul disponibil in limba romina: DA
 primul   precedent   următorul   ultimul 
referate în categoria dată: 208
Descriere

Algoritmi de prelucrare a fişierelor

organizate indexat

 


Majoritatea aplicaţiilor de gestiune economică utilizează fişiere de date în care articolele trebuie regăsite după valorile unui cîmp de identificare, numit cheie. Problema corespondenţei între chei şi numerele relative ale articolelor din fişierul de date se poate rezolva prin intermediul unui fişier binar suplimentar, cu rol de tabelă de indexuri. O astfel de organizare se numeşte indexată. Articolele fişierului tabelă de indexuri au structura din figura 1.

...


Indicatorul de stare (is) are rol identic cu cel prezentat în capitolul referitor la fişierele organizate relativ. Cheie este un cîmp în care se memorează valoarea cheii articolului existent logic în fişierul de date, al cărui număr relativ corespunzător este memorat în cîmpul nr. Articolele tabelei de indexuri sunt, în orice moment, sortate crescător după valorile cîmpului cheie. Articolele din fişierul de date sunt memorate aleator şi conţin cîmpurile de date ale utilizatorului (pot conţine, redundant, pentru o eventuală refacere după incidente, şi valorile cheii). O parte dintre acestea nu-şi regăsesc corespondent în tabela de indexuri, fiind considerate şterse. Orice operaţie de acces la articolele fişierului de date se realizează numai prin intermediul tabelei, gestionată automat de procedurile unui unităţi specializate şi care este netransparentă utilizatorului.


1. Operaţii de acces la nivel de fişier şi articol

Operaţiile de acces la nivel de fişier sunt: deschiderea şi închiderea fişierului de date. La rîndul ei, deschiderea poate fi: pentru creare (ca fişier nou) sau pentru consultare şi întreţinere (ca fişier vechi). Procedurile realizează, pe lîngă operaţiile asupra fişierului de date şi gestionarea automată a tabelei de indexuri: formarea numelui său extern, asignarea numelui fizic la numele logic, deschiderea ca fişier nou sau vechi, închiderea. Operaţiile de gestiune care se pot realiza cu fişierele de date astfel organizate sunt:


1. Crearea în acces secvenţial presupune furnizarea articolelor sortate strict crescător după valorile cîmpului ales drept cheie. Articolele sunt scrise cu ajutorul procedurii de scriere în acces secvenţial. Eroarea de cheie invalidă poate apărea la tentativa de scriere a unui articol a cărui cheie este mai mică sau egală decît ultima înscrisă în fişierul de date.


2. Crearea în acces direct se realizează cu procedura de scriere în acces direct, articolele fiind furnizate în orice ordine. Eroarea de cheie invalidă apare la tentativa de scriere a unui articol a cărui cheie este egală cu una din cele prezente în fişier.


3. Consultarea în acces secvenţial presupune regăsirea articolelor în ordinea strict crescătoare a valorilor cheii. Ea se realizează cu ajutorul procedurii de citire în acces secvenţial, care detectează şi sfîrşitul fişierului de date.


4. Consultarea în acces mixt permite selectarea unui grup de articole, memo­rate logic contiguu în fişier, selecţie realizată pe baza valorilor cheii primului şi ultimului articol din grupul dorit. Accesul mixt presupune poziţionarea pe primul articol prin citirea în acces direct (sau poziţionare şi citire în acces secvenţial), urmată de exploatarea în acces secvenţial, pînă la găsirea cheii ultimului articol dorit, sau pînă la sfîrşitul fişierului.


5. Adăugarea de articole se realizează utilizînd procedura de scriere în acces direct. Articolele pot fi furnizate în orice ordine a valorilor cheii. Eroarea de cheie invalidă apare la tentativa de scriere a unui articol a cărui cheie este egală cu una deja existentă.

 
• Modificarea unor cîmpuri din articol se realizează în următoarele etape:

-  citirea articolului de modificat (în acces secvenţial sau direct);

-  modificarea, în zona articol corespunzătoare, a cîmpurilor dorite, cu excep­ţia cîmpului cheie;

-  rescrierea articolului, cu procedura de rescriere.


Eroarea de cheie invalidă apare în cazul tentativei de rescriere a unui articol a cărui cheie este diferită de cea a articolului citit anterior.

  • Ştergerea în acces secvenţial elimină articolul curent din fişierul de date. În general, articolul trebuie mai întîi identificat printr-o citire (în acces secvenţial sau direct) sau prin poziţionare. Procedura returnează eroare în cazul tentativei de ştergere după ultimul articol existent.
  • Ştergerea în acces direct elimină articolul a cărui cheie este precizată. Operaţia nu trebuie precedată de citirea articolului şi returnează eroare în cazul furnizării unei chei inexistente în fişier. În aplicaţii este preferabilă ştergerea în acces secvenţial, deoarece permite (datorită citirii care o precede), vizualizarea articolului şi luarea unei decizii în condiţii de siguranţă.

 

Unitatea indexate cuprinde o serie de proceduri (primitive), cu rol de instrucţiuni de intrare/ieşire la nivel de fişier şi articol, necesare realizării algoritmilor de prelucrare specifici operaţiilor de gestiune a fişierelor, cînd se utilizează corespondenţa internă între valorile unui anumit cîmp din articole - numit cheie - şi numerele relative ale acestora. Tabela de corespondenţă între chei şi numerele relative este memorată într-un fişier cu tip, a cărui gestiune este transferată integral procedurilor aparţinînd unităţii, astfel încît programele utilizatorului vor lucra exclusiv cu fişierul de date. Totuşi, utilizatorul trebuie să ţină cont de existenţa tabelei de indexuri în vederea asigurării spaţiului necesar pe disc şi manipulării concomitente a celor două fişiere (salvare, restaurare, ştergere etc.).

...

Păreri:
Părerea Dvs poate fi prima.
Scrie părerea
Accesati Zakusi.net