数据库系统实现
实验报告
实验名称:基于排序的二趟算法实现
实验内容
实验需要建立两个文本文件:。对于去重和分组操作算法,数据文件参照实验1多路归并算法,生成一个具有10,000,000个记录的文本文件,其中每个记录由100个字节组成。对于交并差及连接操作,数据文件生成2个5,000,000个记录的文本文件,每个记录仍旧为100个字节。命令文件包含了不同的物理操作命令。实现对应的功能:
去重操作算法。
分组操作算法。
交、并、差操作算法。
连接操作算法。
实验分析及步骤:
本次实验主要是在实验一的基础上,再添加了六个函数,分别实现去重,分组,交,并,差和连接操作。
,利用实验一中的函数已将该文件中的数据分成了SubFileNum个子文件。
建立一个缓冲区,将每一个子文件中的第一个记录读入缓冲区。
在缓冲区获得的数据中循环查找排序关键字的最小值,这里是属性A的最小值。
对所有记录做一个循环,比较当前最小记录与上一次最小记录是否相等,不相等则输出记录至结果文件,否则不输出这个记录。
,利用实验一中的函数已将该文件中的数据分成了SubFileNum个子文件。
建立一个缓冲区,将每一个子文件中的第一个记录读入缓冲区。
在缓冲区获得的数据中循环查找排序关键字的最小值,这里是属性A的最小值。
对所有记录做一个循环,比较当前最小记录与上一次最小记录是否相等。如果相等,则将之前已经创建的一个用来记录相同关键值的记录数的
变量numJL自加一,否则输出,当前记录的个数,以及记录内容。
对交,并,差操作的文件基础的说明:,。利用实验一中的函数将这两个文件分别分成10个子文件,。
为输入输出文件建立对应的文件读取和写入对象。
分别读取文件A和文件B的第一记录,为文件A和文件B分别建立一个缓冲区。
对文件A中的每一个记录,循环做处理。如果文件A的当前记录小于文件B的当前记录,说明没有文件A和文件B没有交集,这输出这个当前记录,再读取A的下一个记录。否则若是文件A的当前记录大于文件B的当前记录,就不断读取文件B的记录,直到文件A的当前记录等于文件B的当前记录。否则就是文件A的当前记录等于文件B的当前记录,就是对应的交集,此时什么都不做。循环结束后,输出的记录就是对应操作的结果
交操作的过程去差类似。这里不再说明。
为输入输出文件建立对应的文件读取和写入对象。
分别读取文件A和文件B的第一记录,为文件A和文件B分别建立一个缓冲区。
对文件A中的每一个记录,循环做
数据库系统实现实验报告 来自淘豆网m.daumloan.com转载请标明出处.