La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

FORMATO DEL MERGE Prof. Nelliud D. Torres. PROPÓSITO Se utiliza como una alternativa para organizar un archivo con datos que sea extremadamente grande.

Presentaciones similares


Presentación del tema: "FORMATO DEL MERGE Prof. Nelliud D. Torres. PROPÓSITO Se utiliza como una alternativa para organizar un archivo con datos que sea extremadamente grande."— Transcripción de la presentación:

1 FORMATO DEL MERGE Prof. Nelliud D. Torres

2 PROPÓSITO Se utiliza como una alternativa para organizar un archivo con datos que sea extremadamente grande. Proviene de la necesidad de aquella época de organizar datos con pocos recursos (memoria, espacio en disco, etc.) Se divide el archivos en varias partes y se organiza cada uno por separado (Sort) Al final se utiliza el concepto del MERGE para unir esos pequeños archivos en el archivo grande original, pero ya organizado.

3 DIAGRAMA 55555 11111 99999 66666 22222 00000 33333 88888 44444 77777 55555 11111 99999 66666 22222 00000 33333 88888 44444 77777 11111 55555 99999 00000 22222 66666 33333 44444 77777 88888 00000 11111 22222 33333 44444 55555 66666 77777 88888 99999 Proceso de MERGE Proceso de SORT

4 MERGE file-name-1 ON {DESCENDING KEY { data-name-1}... } ASCENDING} COLLATING SEQUENCE IS alphabet-name USING file-name-2 [ file-name-3 ]... THRU OUTPUT PROCEDURE IS procedure-name-1 THROUGH procedure-name-2 GIVING {fine-name-4} MERGE SYNTAX

5 EJEMPLO MERGE MERGEWORKFILE ON ASCENDING KEY TRANSDATEWF, TRANSCODEWF, STUDENTIDWF USING INSERTTRANSFILE, DELETETRANSFILE, UPDATETRANSFILE GIVING COMBINEDTRANSFILE.

6 Ejemplo de Código IDENTIFICATION DIVISION. PROGRAM-ID. MergeFiles. AUTHOR. MICHAEL COUGHLAN. * Example program demonstrating the use of the MERGE. * The program merges the file Students.Dat and * Transins.Dat to create a new file Students.New ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT StudentFile ASSIGN TO "STUDENTS.DAT" ORGANIZATION IS LINE SEQUENTIAL. SELECT InsertionsFile ASSIGN TO "TRANSINS.DAT" ORGANIZATION IS LINE SEQUENTIAL. SELECT NewStudentFile ASSIGN TO "STUDENTS.NEW" ORGANIZATION IS LINE SEQUENTIAL. SELECT WorkFile ASSIGN TO "WORK.TMP".

7 DATA DIVISION. FILE SECTION. FD StudentFile. 01 StudentRec PIC X(30). FD InsertionsFile. 01 InsertionRec PIC X(30). FD NewStudentFile. 01 NewStudentRec PIC X(30). SD WorkFile. 01 WorkRec. 02 StudentIdWF PIC 9(7). 02 FILLER PIC X(23). PROCEDURE DIVISION. Begin. MERGE WorkFile ON ASCENDING KEY StudentIdWF USING InsertionsFile, StudentFile GIVING NewStudentFile. STOP RUN. Ejemplo de Código (Cont.)

8 LOGICA DEL MERGE 1.Para unir dos archivos secuenciales, ambos deben estar organizados (SORT) por un campo clave en común. 2.El resultado se debe almacenar en un archivo diferente de los originales. 3.Para propósitos del proyecto, solo vamos a trabajar con dos (2) archivos a la misma vez. 4.Para el siguiente ejemplo, asuma que R1 es un record del primer archivo y R2 es un record del segundo archivo.

9 PROCEDIMENTO PARA MERGE IF R1 > R2 1. Mover el record del archivo 2 al archivo nuevo. 2. Leer un nuevo record del archivo 2. IF R1 < R2 1. Mover el record del archivo 1 al archivo nuevo. 2. Leer un nuevo record del archivo 1. IF R1 = R2 1. Mover ambos records al archivo nuevo. 2. Leer los próximos dos records de cada archivo y volver a comparar. Recuerde que tiene que contenplar la posibilidad de que se termine cualquiera de los dos archivos en cualquier momento. archivo 1 B D archivo nuevo A B C D archivo 2 A C


Descargar ppt "FORMATO DEL MERGE Prof. Nelliud D. Torres. PROPÓSITO Se utiliza como una alternativa para organizar un archivo con datos que sea extremadamente grande."

Presentaciones similares


Anuncios Google