1 / 43

大型主机平台系统应用开发基础

大型主机平台系统应用开发基础. 教育部- IBM 精品课程. 单位:大连理工大学 作者:陆坤,李凤岐,姜厚云. 第七章 排序与合并. 7.1 排序的概念和步骤 7.2 数据的排序 7.3 数据的合并. 第一节 排序的概念和步骤. 排序与非排序文件处理 排序概述. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理. 排序与非排序文件处理.

Download Presentation

大型主机平台系统应用开发基础

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. 大型主机平台系统应用开发基础 教育部-IBM精品课程 单位:大连理工大学 作者:陆坤,李凤岐,姜厚云

  2. 第七章 排序与合并 • 7.1排序的概念和步骤 • 7.2 数据的排序 • 7.3 数据的合并

  3. 第一节 排序的概念和步骤 • 排序与非排序文件处理 • 排序概述

  4. 排序与非排序文件处理

  5. 排序与非排序文件处理

  6. 排序与非排序文件处理

  7. 排序与非排序文件处理

  8. 排序与非排序文件处理

  9. 排序与非排序文件处理

  10. 排序与非排序文件处理

  11. 排序与非排序文件处理

  12. 排序与非排序文件处理

  13. 排序与非排序文件处理

  14. 排序与非排序文件处理

  15. 排序与非排序文件处理

  16. 排序与非排序文件处理

  17. 排序与非排序文件处理

  18. 排序与非排序文件处理

  19. 排序与非排序文件处理

  20. 排序与非排序文件处理

  21. 排序与非排序文件处理

  22. 排序与非排序文件处理

  23. 排序与非排序文件处理

  24. 排序与非排序文件处理

  25. 排序与非排序文件处理

  26. 排序与非排序文件处理

  27. 排序概述 • 在数据处理中,经常需要对一批数据按按某种方式进行排序,从而为进一步分析数据提供有力的参考,排序是数据处理中最重要和最基本的方法之一 • COBOL本身提供排序功能,无需额外设计 • 在对数据排序时,需指定排序键 (sort key)和排序方法 • 排序键是指记录中需要按此列进行排序的字段,可以分为主键(major/primary key)和次键(minor/secondary key) ,可以同时指定多个排序键 • 排序方法分为升序(ascending)和降序(descending),默认按EBCDIC编码顺序,如: ‘cap’ < ‘cat’, ‘C’ < ‘COBOL’, ‘1’> ‘A’

  28. 排序概述 NAME YEAR MAJOR ==================== ============= ======================== Smith 1 Liberal arts Jones 4 Engineering Adams 3 Business Howe 2 Liberal arts Frank 1 Engineering Epstein 2 Engineering Zev 4 Business Benjamin 4 Business Grauer 3 Liberal arts Crawford 2 Engineering Deutsch 4 Business Makoske 1 Business

  29. 排序概述 NAME YEAR MAJOR ==================== ============= ======================== Adams 3 Business Benjamin 4 Business Crawford 2 Engineering Deutsch 4 Business Epstein 2 Engineering Frank 1 Engineering Grauer 3 Liberal arts Howe 2 Liberal arts Jones 4 Engineering Makoske 1 Business Smith 1 Liberal arts Zev 4 Business

  30. 排序概述 NAMEYEAR MAJOR ==================== ============= ======================== Benjamin 4 Business Deutsch 4 Business Jones 4 Engineering Zev 4 Business Adams 3 Business Grauer 3 Liberal arts Crawford 2 Engineering Epstein 2 Engineering Howe 2 Liberal arts Frank 1 Engineering Makoske 1 Business Smith 1 Liberal arts

  31. 排序概述 NAMEYEARMAJOR ==================== ============= ======================== Benjamin 4 Business Deutsch 4 Business Zev 4 Business Adams 3 Business Makoske 1 Business Jones 4 Engineering Crawford 2 Engineering Epstein 2 Engineering Frank 1 Engineering Grauer 3 Liberal arts Howe 2 Liberal arts Smith 1 Liberal arts

  32. 排序概述 • 从输入文件中读取记录到排序工作文件 • 使用排序工作文件开始排序 • 将排序结果写入输出文件

  33. 第二节 数据的排序 • SORT语句 • 其它语句

  34. SORT语句

  35. SORT语句 SORT SORT-WORK-FILE ON ASCENDING KEY数据项1 数据项2 … ON DESCENDING KEY数据项3 数据项4 … 例1: SORT STUDENT-FILE ASCENDING MAJOR DESCENDING YEAR ASCENDING NAME 例2: SORT STUDENT-FILE ASCENDING MAJOR NAME DESCENDING YEAR

  36. SORT语句 • 格式1: SORT SORT-WORK-FILE ASCENDING 数据项1 数据项2 … DESCENDING 数据项3 数据项4 … USING SORT-IN-FILE GIVING SORT-OUT-FILE • 格式2: SORT SORT-WORKFILE ASCENDING 数据项1 数据项2 … DESCENDING 数据项3 数据项4 … INPUT PROCEDURE过程名1 [ THRU 过程名2 ] OUTPUT PROCEDURE 过程名3 [ THRU 过程名4 ]

  37. SORT语句 • USING自动对输入文件进行I/O操作; INPUT PROCEDURE 需要程序员编码进行I/O操作 • USING只能对输入文件的所有记录进行排序; INPUT PROCEDURE 可以对输入文件的记录进行过滤后再排序 • USING 只能对输入文件中已有列进行排序; INPUT PROCEDURE 可以对计算列(calculated field)排序 • GIVING 将排序结果保存到永久文件; OUTPUT PROCEDURE 只将结果保存在临时文件

  38. 其它语句 • 在环境部用SELECT语句定义输入和输出文件,在数据部用FD语句进行描述 • 在环境部用SELECT语句定义排序工作文件,在数据部用SD语句(sort descriptor)进行描述 • 注意: 格式1中SD记录区长度应和输入记录区相同; 而格式2可以不同

  39. 其它语句 • RELEASE语句类似于WRITE,将数据写入排序工作文件缓冲区,格式如下: RELEASE sw-file-record FROM identifier • RELEASE语句只能用于INPUT PROCEDURE,且至少使用一次 • RETURN语句类似于READ,将数据从排序工作文件缓冲区读出,格式如下: RETURN sw-file INTO identifier • RETURN语句只能用于OUTPUT PROCEDURE,且至少使用一次

  40. 第三节 数据的合并 • MERGE 语句

  41. MERGE语句 • 合并是排序的一种特殊形式,将多个格式相同且按相同排序方式排序的文件组合成一个新的文件 • 格式: MERGE merge-work-file ON ASCENDING KEY sort-key1 sort-key2 … ON DESCENDING KEY sort-key3 sort-key4 … USING sorted-file1 sorted-file2 … GIVING merged-file | OUTPUT PROCEDURE 过程名1 [ THRU 过程名4 ]

  42. MERGE语句 • 排序键的使用同SORT命令 • sorted-file*的文件用FD描述,merge-work-file 用SD描述,merged-file用FD描述 • 不能使用INPUT PROCEDURE语句

  43. Thank You www.themegallery.com

More Related