1、第 4章 工程数据处理及数据库技术14.4 数据文件数表与线图程序化处理与文件化对比:l 程序化简单、方便、快捷,仅适用于数据不变化且数据量不太多的情况;l 当数据量很大时,会使程序冗长,调试困难,且占用内存过多。l 数据文件把数据以文件的形式存储于外存储器(磁盘 )上,独立于应用程序;l 当程序需要有关数据时,打开数据文件,直接读取数据,数据变化时,只需更改文件,应用程序不变。2数据文件是计算机操作系统提供的、对数据管理的最基本技术,文件中的数据可以有多种组织形式。数据文件按组织形式和管理方式可分为 顺序文件 、索引文件 和 散列文件 等。4.4.1 文件组织形式1、顺序文件顺序文件是指数据
2、的物理存储顺序与逻辑顺序一致的文件,即它的物理存储空间是连续的。顺序文件可分为两种:1)组成文件的记录没有任何次序规律,只是按写入的先后顺序进行存储,称为无序顺序文件;2)组成文件的记录是按照某个关键字递增 (递减 )的顺序进行存储,称为有序顺序文件。 3顺序文件的查找方式一般可以采用 顺序扫描 、 折半查找 、 分块查找 等方法。2、索引文件在文件组织中采用了索引表,目的是提高查找速度。在索引文件中,把文件中所有记录的关键码及对应的入口地址集中在一起,另外组成一个记录或文件,称之为索引表,存入存储器的某个区域。当要查找某个记录时,先在索引表中找到这个需要查找的关键码,根据其提供的指针,即所找
3、记录的地址来找到所需的数据记录。3、散列文件散列文件就是一种直接存取文件。在这种文件中,把记录的关键字通过某种计算处理,直接转换成为该记录的相应地址。 4表 1 平 键 尺寸和 键 槽尺寸( GB1095/T 1993)轴 径槽 轴t轮 壳t1b h 8 10 3 3 1.8 1.4 10 12 4 4 2.5 1.8 12 17 5 5 3 2.3 75 85 22 14 9 5.4图 1 平键与键槽剖面按记录将表中的平键和键槽尺寸建立数据文件,一行一个记录。平键和键槽尺寸的检索是根据轴径进行,而此表中的轴径给出了一个下限和上限范围,可将该下限和上限轴径数据连同平键和键槽尺寸一起存储在数据文
4、件中,这样一个记录将包含有轴径下限值 d1、轴径上限值 d2、键宽 b、键高 h、轴颈键槽深 t、轮壳键槽深 t1共 6个数据项。4.4.2 数表文件化 5平键和键槽尺寸数据文件 c语言程序如下:#includestruct key_GBfloat d1,d2,b,h,t,t1;key;main()int i,j,n;FILE *fp;if(fp=fopen(“key.dat“,“w“)=NULL)printf(“Cannot open the data file!“);exit();printf(“input the n=“);scanf(“%d“,for(i=0;in;i+)printf(
5、“nrecord/%d:d1,d2,b,h,t,t1=“,i);scanf(“%f,%f,%f,%f,%f,%f“,fwrite( fclose(fp);6上述程序编译、连接、然后运行,逐行输入各记录数据项,便在磁盘上建立了名为 “key.dat”的数据文件。利用所建的数据文件 “key.dat”,通过设计得到的轴径尺寸检索所需的平键和键槽尺寸,其 c语言程序略。74.5 数据结构、数据库技术及应用4.5.1 机械 CAD中常用的数据结构随着 CAD技术的发展及其应用范围的扩展,在CAD技术的具体应用过程中,计算机所处理的数据不再是简单的、孤立的数据,而是相互间存在某种关系的批量数据。这就需要
6、事先对这些数据进行组织构造,即确定合理的数据结构,数据结构的合理与否直接影响程序所占用的空间和程序运行所需要的时间。本节主要讲述机械 CAD中几种常用的数据结构。一、基本概念1、数据数据是描述客观事物的数、字符及所有能输入到计算机中处理的符号的集合。82、数据元素数据元素是数据的基本单位,是数据这个集合中的一个个体。例如:在设计产品的过程中,可以把产品的每个部件看作一个相对独立的单元。这样每个部件就是一个数据元素。如果设计一个部件,可以把该部件的每一个零件看作一个相对独立的单元,这时每个零件就是一个数据元素。因此,数据元素本身可能是简单的,也可能是复杂的,它只是相对独立的个体。93、数据的逻辑结构和物理结构数据的逻辑结构仅考虑数据之间的逻辑关系,它独立于数据的存储介质。通常所说的数据结构一般指数据的逻辑结构。数据的物理结构也称存储结构,是数据结构在计算机中的映象。它包括数据元素的映象和关系的映象。在计算机中数据元素是用位串来表示的(位是计算机处理信息的最小单位,一个位表示一个二进制的数。若干位组合起来形成一个位串)。一个位串称为一个结点。结点是数据元素在计算机中的映象。映象的方法不同,数据元素在计算机中的存储结构也不同。顺序映象得到顺序的存储结构。非顺序映象得到非顺序的存储结构(即链式存储结构)。 10