1 / 21

TRATAMIENTO DE ARCHIVOS

TRATAMIENTO DE ARCHIVOS. Uso basico de archivos: consultas. Actualizacion. Otros algoritmos: Partición de archivos. Fusión de archivos. Clasificación de archivos. Partición de archivos A partir de un archivo maestro se genera uno o mas archivos auxiliares .

Download Presentation

TRATAMIENTO DE ARCHIVOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TRATAMIENTO DE ARCHIVOS

  2. Uso basico de archivos: • consultas. • Actualizacion. • Otros algoritmos: • Partición de archivos. • Fusión de archivos. • Clasificación de archivos

  3. Partición de archivos A partir de un archivo maestro se genera uno o mas archivos auxiliares. La información del archivo maestro se replica. Criterios de partición Partición según el contenido de un campo clave. Partición por secuencia

  4. Partición según el contenido de un campo clave • Identificar el campo clave de partición (c.c.p.) • El c.c.p. Debe ser un campo que toma un valor de un conjunto reducido de valores. • La cantidad máxima de archivos auxiliares a generar esta en correspondencia con el universo de valores del campo clave de partición. • Cada posible valor que toma el campo clave de partición tiene un archivo auxiliar asociado C.C.P.= sexo

  5. Partición por secuencia Solo se genera dos archivos auxiliares.

  6. Fusión/Mezcla de Archivos Se reúne en un solo archivo la información de dos o más archivos. • Mezcla/FusionTotal o Secuencial • Se reúne la información de n archivos en uno solo de manera secuencial. • Sea : f1,f2…….fn archivos a fusionar • :f archivos resultante • Vaciar la información de los archivos f1,f2…..fn en f uno detrás de otro.

  7. 2. Mezcla / fusion de archivos ordenados. El archivo resultante debe estar ordenado. Sea f1, f2 : archivos ordenados a fusionar • f: archivo resultante • 2 algoritmos basicos: • Por control de fin de archivo. • Por control de centinela.

  8. Mezcla de archivos ordenados por control de fin de archivo. • Tiene 2 etapas : • 1raEtapa: • Participan los 2 archivos f1,f2 (tienen registros). • Se dispone en la memoria simultáneamente 2 registros (uno de f1 y otro de f2) • se graba en f el menor de ambos registros, • se debe leer el archivo(f1 o f2) que era propietario del registro grabado. • Hasta que uno de los archivos se termine. • 2daEtapa: • Participa un solo archivo (f1 o f2) • vaciar de manera directa los registros del archivo (f1 o f2) que no se termino.

  9. Primera etapa Segunda etapa

  10. Inicio mezclacfa(f1,f2,f) Abrir f1,f2 para lectura Abrir f para escritura Si no eof(f1) entonces Leer f1, reg1 fin si Si no eof(f2) entonces Leer f2, reg2 fin si mientras no eof(f1) y no eof(f2) repetir Si gre1< reg2 entonces Grabar f, reg1 Leer f1, reg1 Si no Grabar f, reg2 Leer f2, reg2 Fin si Fin mientras Mientras no eof(f1) repetir Grabar f, reg1 Leer f1, reg1 Fin mientras Mientras no eof(f2) repetir Grabar f, reg2 Leer f2, reg2 Fin mientras Cerrar f,f1,f2 Final

  11. Mezcla de archivos ordenados por control de Centinela. • considera la primera etapa del anterior algoritmo. • Supuesto.- • Al final de f1 y f2 se tiene un registro especial [centinela] de referencia cuyo valor es muy alto y no forma parte de la información del archivo. • 1raEtapa.- • Participan los 2 archivos f1 y f2. • Finaliza cuando en la memoria se tiene los dos centinelas de (f1 y f2)

  12. Inicio cantinela(f1,f2,f) Abrir f1, f2 para lectura Abrir f para escritura Leer f1, reg1 Leer f2, reg2 Mientras reg1<>9999 o reg2<>9999 repetir Si reg1<reg2 entonces Grabar f, reg1 Leer f1, reg1 Si no Grabar f, reg2 Leer f2, reg2 Fin si Fin mientras Cerrar f,f1,f2 Final

  13. 3.Mezcla por Secuencias.De tamaño fijo ´p´ • Se tiene dos variantes: • sin ordenar (intercalado). • Ordenando. Sin ordenar. Secuencias de tamaño fijo ´p´ Se toma en forma intercalada p registros de f1 o f2 y se graba en f. Hasta reunir en f todos los registros de f1 y f2. Los registros del archivo que no se termina, se vacía a f de manera directa Para p=2 En la practica no se emplea

  14. b) Ordenando. • Supuesto. • En f1 y f2 se tienen grupos de ´p´ registros ordenados. • Se toma en forma simultanea p registros de f1 y f2 y se los graba en f ordenando. • Hasta reunir en f todos los registros de f1 y f 2.

  15. Implementación: con 5 ARCHIVOS • f,f1,f2 : archivos corrientes • f1aux,f2aux :Archivos de apoyo • -Llevar p registros a f1aux de f1 y de f2 a f2aux • -Aplicar el algoritmo de fusión de archivos ordenados a f1aux y f2aux con el archivo resultante f

  16. 4. MEZCLA POR SECUENCIAS .ORDENADAS. f1,f2 : Archivos desordenados f : Archivo resultante • Se tiene dos variantes: • sin ordenar (intercalado). • Ordenando • Sin ordenar. INTERCALADO -En forma alternativa o intercalada se toma grupos ordenados de registros de f1 o f2 y se los graba en f. -Hasta reunir en f todos los registros de f1 y f2. • -Los registros del archivo que no se termina se vacía a f de manera directa

  17. b) Ordenando. En forma simultanea se toma grupos ordenados de registros de f1 y f2 y se los graba en f, ordenando

  18. Implementación: con 5 ARCHIVOS • f,f1,f2 : archivos corrientes • f1aux,f2aux :Archivos de apoyo • -Llevar grupos ordenados de registros a f1aux de f1 y de f2 a f2aux • -Aplicar el algoritmo de fusión de archivos ordenados a f1aux y f2aux con el archivo resultante f

  19. -Función para copiar un grupo ordenado de un archivo a otro archivo. Inicio copiar(f, reg,faux) //supuesto f esta abierto Abrir faux para escritura sw=1 mientras no eof(f) y sw=1 repetir grabar faux, reg regaux=reg leer f, reg si reg< regaux entonces sw=0 fin si fin mientras cerrar faux final

  20. Función para mezclar dos archivos por secuencias ordenadas ordenando inicio mezclar (f1,f2,f) abrir f1 y f2:para lectura abrir f : para escritura mientras no eof(f1) y no eof(f2) repetir leer f1, reg1 leer f2, reg2 copiar (f1, f1aux, reg1) copiar(f2,f2aux, reg2) centinela( f1aux, f2aux, f) fin mientras vaciar registros del archivo que no se termino de manera directa cerrar f1,f2,f final

More Related