Sort-merge utility

Sort-merge utility, ou Utilitário de classificação-intercalação, é um software que reordena os registros de um arquivo conforme a seqüência de valores de um ou mais campos-chaves desse arquivo.

A classificação externa em alto volume pode consumir um tempo significativo, mesmo nos maiores mainframes. Em conseqüência, os fornecedores de utilitários de classificação-intercalação gostam de enfatizar a eficiência em vez de características funcionais como forma de diferenciação. Todos esses programas permitem:

  • Designação de diversos campos-chaves, cada um deles podendo ser classificado em ordem ascendente ou descendente.
  • Reconhecimento, como campos-chaves, de todos os tipos de dados básicos e suas representações usuais na plataforma utilizada.

Os utilitários de classificação-intercalação podem ser chamados como se fossem um processo separado (ou passo de job) ou de dentro de um programa aplicativo. O verbo SORT da linguagem COBOL por exemplo faz a ligação entre a aplicação e o utilitário de classificação-intercalação. Muitas outras linguagens de programação oferecem um recurso semelhante através de sub-rotinas de biblioteca.

Os recursos de classificação externa oferecidos por processadores de queries e pequenos sistemas de gerenciamento de banco de dados não podem ser considerados utilitários de classificação-intercalação. Lançando mão de estruturas de arquivos e esquemas de indexação próprios, esses programas costumam ser rapidíssimos quando usados com banco de dados de pequeno tamanho, mas nem sempre ocorre o mesmo com aplicações de altíssimo volume ou outras estruturas de arquivos.

Ver tambémEditar

  Este artigo sobre software é um esboço. Você pode ajudar a Wikipédia expandindo-o.

//SETP001 EXEC PGM=SORT //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SORTIN DD DISP=SHR,DSN=USERID.ABC.INPFILE, //SORTOUT DD DSN=USERID.ABC.OUTFILE, // DISP=(,CATLG),SPACE=(TRK,(30,10),RLSE),UNIT=SYSDA, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0,DSORG=PS) //SYSIN DD * SORT FIELDS=COPY OMIT COND=((34,2,CH,EQ,C'AB'),AND,(74,1,CH,EQ,C' ')) /* //*