ASIX-M10-UF2. Emmagatzematge en fitxers

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Operacions bàsiques amb fitxers

1. Recuperació de registres per clau de cerca. Independentment de l’organització interna del fitxer i del mètode d’accés, consisteix en dos passos:

2. Obtenció del registre següent. Es tracta d’obtenir el registre següent d’acord amb algun criteri, que no necessàriament serà el de la proximitat física sinó l’ordre lògic segons algun camp. Per tant, pot no servir d’ajuda haver llegit immediatament el registre predecessor per accelerar la localització.

3. Inserció de registres. Pot tractar-se d’una ampliació del fitxer (inserció al final) que resulta una operació poc costosa, o una inserció en una posició intermèdia, que pot significar una reubicació d’alguns registres.

4. Actualització de registres. Quan les dades estiguin emmagatzemades de forma redundant és necessari realitzar múltiples escriptures i lectures. A més a més si en actualitzar el registre aquest augmenta de mida, pot ser impossible utilitzar la posició antiga, per la qual cosa s’haurà d’invalidar el registre i inserir-ne un de nou.

5. Lectura de tot el fitxer. Algunes aplicacions utilitzen una lectura exhaustiva del fitxer.

6. Reorganització del fitxer. Es tracta de treure els registres esborrats lògicament o invalidats per alguna operació, i així recuperar espai. Serà una operació especialment important si s’han realitzat moltes insercions i esborrats que admeten registres de longitud variable amb nous camps. Quan esborrem un registre, es fa de forma lògica, és a dir, el registre es marca com a esborra.

Organització de Fitxers i Mètodes d’Accés

Considerem 4 organitzacions bàsiques de fitxers en les quals es poden sustentar els diferents mètodes d’accés.

Fitxer Seqüencial Físic

En aquest model les dades s’ubiquen en ordre d’arribada, sense tenir en compte el significat del seu contingut.

Recuperació d’un registre. Per recuperar un registre pel valor d’una clau de cerca hem de recórrer el fitxer fins trobar-lo. En el pitjor dels casos haurem de recórrer tot el fitxer..

Fitxer Seqüencial Lògic

Els registres s’ordenen segons una seqüència específica que ve determinada pel contingut d’un camp que denominarem clau física (que pot estar formada per més d’un atribut) i que identifica el registre.

Quan el fitxer té una mida considerable, és molt costós obrir un forat per un registre nou, així, per mantenir l’ordre per la clau física se sol disposar d’una estructura addicional que es diu fitxer de desbordament o d’overflow i que no està ordenat i que es gestiona com un fitxer seqüencial físic.

Fitxer Seqüencial Indexat

L’ús d’un o més índex servirà per accelerar la cerca a les dades per una clau de cerca. L’índex té algun valor de dada rellevant junt amb una adreça o apuntador sobre la localització del valor en el fitxer. En funció de si l’apuntador de l’índex indica una adreça de registre o de bloc, els índex es classifiquen en densos i no densos, respectivament.

Fitxers d’Accés Directe

Aquests fitxers permeten l’accés a qualsevol posició directament. S’utilitza el valor de la clau per determinar la posició de cada registre. Existeixen diversos mètodes per convertir la clau en una adreça dintre del fitxer (directament o aplicant-hi una operació).

En el cas que apliquem una operació per determinar l’adreça on ha d’anar el registre apareixen dos problemes:


creat per Joan Quintana Compte, setembre 2018

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
Institut Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines