三工程手册的数据处理PPT课件_第1页
三工程手册的数据处理PPT课件_第2页
三工程手册的数据处理PPT课件_第3页
三工程手册的数据处理PPT课件_第4页
三工程手册的数据处理PPT课件_第5页
已阅读5页,还剩144页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,第三章工程数据的处理技术,.,2,在机械设计过程中,往往需要从有关的工程手册或设计规范中查找各种系数或数据传统方法:设计人员手工查取,费时、繁琐现代设计方法:计算机处理中心问题在:如何将这种人工查找转变成在CAD进程中的高效、快速处理。,第三章工程手册的数据处理,.,3,概述,如何处理工程设计资料?,.,4,学习目标:,学会利用计算机,针对工程设计中不同形式的数据,采用适当的方式进行处理;掌握经验公式的建立方法;了解几种数据管理方法的特点;了解数据库与工程数据库的基础知识;,第三章工程数据的处理技术,.,5,第三章工程数据的处理技术,学习内容:,3.1工程数据的程序化处理数值程序化数表程序化线图的程序化3.2工程数据的文件化处理3.3工程数据的数据库管理,学习重点:工程数据的程序化方法学习难点:线图的程序化,.,6,CAD软件系统处理工程数据的方法有以下三种:1程序化处理2文件化处理3数据库管理,.,7,CAD软件系统处理工程数据的方法有以下三种:1程序化处理:在编程时将数据以一定的形式直接放于程序中。处理方法有四种:第一种是将数表中的数据或线图经离散化后存入一维、二维或三维数组,用查表方法检索所需数据;第二种是将数表中的数据或线图经离散化后存入一维、二维或三维数组,用插值方法计算出所需数据;第三种是将数表或线图拟合成公式,编入程序计算出所需数据。第四种是屏幕直观输出法:将整个表格可视化地显示在屏幕上,由用户凭经验自行选定。,.,8,程序化处理特点:程序与数据结合在一起。缺点:数据无法共享,增大程序的长度。,.,9,2文件化处理:将数据放于扩展名为.DAT的数据文件中,需要数据时,由程序来打开文件并读取数据。特点:数据与程序作了初步的分离,实现了有条件的数据共享。缺点:(1)文件只能表示事物而不能表示事物之间的联系。(2)文件较长。(3)数据与应用程序之间仍有依赖关系。(4)安全性和保密性差。,.,10,3数据库管理:将数表及线图(经离散化)中的数据按数据库的规定进行文件结构化,存放在数据库中。如确定字段名、字段类型、字段宽度等数据独立于应用程序,又能为所有应用程序提供服务,这是大规模工程数据的主要处理方法。,(需借助专业的数据库管理系统),.,11,特点:(1)数据共享。(2)数据集中。(3)数据结构化,既表示了事物,又表示了事物之间的联系。(4)数据与应用程序无关。(5)安全性和保密性好。方式的选择原则是:有利于提高CAD作业的效率,降低开发的成本。,.,12,概述,设计数据,数表,线图,常数数表,普通线图,列表函数,程序化(数组),单个编程处理,文件化,数据库,离散为数组,插值计算,函数拟合,直接应用公式,折线图,带有公式,处理方法,数据类型,设计数据类型及常用处理方法,.,13,数值程序化,线图的程序化,数表程序化,3.1工程数据的程序化方法,.,14,定义:数值程序化是将要使用的各个参数或者其函数关系,用一种合理编制的程序存入计算机,以便运行使用。,3.1.1数值程序化,用数组形式存储数据数值程序化用数学公式计算数据,.,15,用数组形式存储数据,数据特点:数据是单一、严格、无规律可循的数列。,程序化的方法:用一维数组形式存储数据,程序运行时,直接检索使用。,floatm12=4,5,6,7,8,9,10,12,14,16,18,2024,30;,.,16,例1:将表中的齿轮标准模数值编入程序。要求:程序运行时,输入计算模数值后,能输出适合的标准模数值。,.,17,解题分析:,考察表中数据及实际使用情况,有如下特点:,所列齿轮标准模数是一组取值严格,而从总体上看又无统一规律的的数列。,标准规定:第一系列为优先采用模数;第二系列中不带括号的数值为可以采用的模数;而带括号的为尽可能不采用的模数,程序中应能反映这一标准规定。,通常,模数的计算值取较大的标准值选取。但对于比标准值大得有限的一类计算值(如:计算值为3.005mm,标准值为3mm),应选用本档的标准值。,.,18,程序流程图如下:,.,19,.,20,数据特点:,数据是一组单一、严格、但能找到某种规律的数列。,程序化的方法:,将反映这种规律的数学公式编入程序,通过计算即可快速、准确地达到目的。,例2:将60,70,80,90,100,110,120这一标准直径系列编入程序。,解题分析:,这组数值是按10递增的,可导出数学公式,公式:D=INT((Dc/10.02)*10)+10,2用数学公式计算数据,.,21,3.1.2数表的程序化方法,数表的分类:按照数表中的数据间有没有函数关系,数表分为:简单数表和列表函数数表。简单数表记录着研究对象各自独立的常数,表中的数据没有函数关系,只能检索,不能插值。如:齿轮传动强度计算中的使用系数KA数,.,22,普通v带型号及截面尺寸。,.,23,列表函数数表:表中的数据间存在函数关系,Yi=f(Xi),i=1,2,3。将相应的数据Xi和Yi列成表格表示参数间的关系,这样的数表为列表函数数表。对于列表函数数表我们可以用插值法来查取数据。设计带传动中包角系数,.,24,按照数表中的数据相关的变量的个数,我们可以将数表分为一元数表,二元数表,三元数表等。一元数表中的数据是独立的,或者只与一个因素有关,这种数表可以用一个一维数组来表示。二元数表的数据与两个因素有关,可以用二维数组表示。三元数表中的数据与三个因素有关,可以用三维数组表示。,.,25,数表的程序化方法1屏幕直观输出法2数组存储法3数表的文件化4数表的公式化处理,.,26,1屏幕直观输出法,数据特点:,1)数表幅面不大;2)数据为实验取得或长期经验积累的有限个离散数值;3)实际使用中经常允许根据情况综合考虑,选取中间数值,仅凭程序中简单的条件判断难以正确选取。,程序化的方法:,将整个表格可视化地显示在屏幕上,由用户凭经验自行选定。,.,27,例3:将齿轮传动强度计算中的使用系数KA数表程序化。要求根据原动机工作特性和工作载荷特性确定适宜的使用系数KA。,使用系数KA,.,28,3.1.2数表程序化,解题分析:,1)表格幅面不大、数据有限;2)KA是经验值,实际应用允许根据情况综合考虑,选取中间数值;3)仅凭程序中的简单的条件判断难以正确选取。此时,可采用屏幕直观显示整个数表的方法,让用户凭经验自行选取KA。,.,29,2数组存储法,数据特点:,如果表格中的数据项目略多、确定而无规律,要解决的问题就是数据的存储与检索;,程序化的方法:,采用定义多个一维数组或二维数组的办法存储数据,程序运行时,判断选取。,3.1.2数表程序化,.,30,1)一维数表的处理定义:只根据一个已知变量查取所需数据的表格,称为一维数表。,3.1.2数表程序化,例4:普通v带型号及截面尺寸。,.,31,程序段(c语言),用i代表型号。将三个函数值存放在三个一维数组中。编程序的目的:快速查到所需参数值。Inti;floatb7=6.0,10.0,13.0,17.0,22.0,32.0,38.0;floath7=4.0,6.0,8.0,10.5,13.5,19.0,23.5;floatbp7=5.3,8.5,11.0,14.0,19.0,27.0,32.0;,.,32,例5将平键和键槽与轴径的尺寸关系表程序化。要求:输入轴径后,能输出相应的键和键槽的剖面尺寸ds,dw。,.,33,平键和键槽的剖面尺寸(部分),解题分析:,表中数据有如下特点:,项目多、确定而无规律。,每组键槽尺寸要适应一定范围尺寸的轴径使用。,.,34,N,Y,Y,N,.,35,N,.,36,main()floatdgiven,b,h,t,t1;/*dgiven为已知直径值*/floatD12=22.0,30,95.0,110.0;/*存放表中D的上限值*/floatkb12=6.0,8.0,28.0,32.0;/*存放表中的b值*/floatkh12=6.0,7.0,16.0,18.0;/*存放表中的h值*/floatkt12=3.5,4.0,10,11.0;/*存放表中的t值*/floatkt112=2.8,3.2,6.4,7.4;/*存放表中的t1值*/,.,37,printf(“enterthediameterofaxisdgiven=”);scanf(“%f”,查询程序,.,38,2)二维数表:定义:需由二个已知条件才能确定一个未知数据的表格,称为二维数表。例6:齿轮传动工况系数KA,.,39,解题分析:如表所示,决定齿轮工况系数KA的值有两个自变量,即原动机的载荷特性和工作机的载荷特性。这两个特性原本无数值概念,现用及分别代表原动机和工作机的载荷特性,用一个二维数组kk33表示表中的系数KA。floatkk33=1.0,1.25,1.75,1.25,1.5,3.0,1.5,1.75,3.25;,.,40,.,41,检索齿轮传动工况系数C语言程序:#includemain()inti,j;floatkk33=1.0,1.25,1.75,1.25,1.5,3.0,1.5,1.75,3.25;while(1)printf(“输入原动机载荷特性(0,1,2):”);scanf(“%d”,,.,42,3.数表的文件化,以上三种方法的缺陷:数据依赖程序而存在,若要修改或删除,就要修改程序;数据量较大时即占用较大内存,使程序运算速度下降;多个程序之间数据无法共享。,数据文件是数据管理的一种形式,它能独立于应用程序单独存储。采用文件化处理,可使程序简练,还可使数表与应用程序分离,实现一个数表文件供多个应用程序使用。,.,43,3.数表的文件化,例7将例5表中的平键和键槽尺寸建立数据文件,利用所建数据文件,按结构设计给的轴径尺寸检索所需的平键尺寸和键槽尺寸。生成key.dat文件的C程序#include#definenum=12按实际记录数赋值Structkey_GBfloatd1,d2,b,h,t,t1;key;,.,44,voidmain()intI;FILE*fp;if(fp=fopen(“key.dat”,”w”)=NULL)printf(“Cannotopenthedatafile”);exit();)for(i=0;inum;j+)printf(“record%d:d1,d2,b,h,t,t1=”,i);scanf(“%f,%f,%f,%f,%f,%f”,.,45,通过设计得到的轴径尺寸检索所需的平键和键槽尺寸,其C语句如下:#include#definenum=12/按实际记录数赋值structkey_GBfloatd1,d2,b,h,t,t1;key;voidmain()inti;FILE*fp;,.,46,while(1)printf(“Inputtheshaftdiameterd=”);scanf(“%f”,),.,47,for(i=0;ikey.d1,.,48,工程手册中的数据主要有两大类来源:具有明确的函数关系,经过计算后将其离散结果以表或曲线形式表达出来查找其原始的数学函数进行编程即可通过大量实验和经验获取的数据制成表格可用经验公式进行处理,线性插值法,拉格朗日插值法,经验公式处理,插值法,曲线拟合法,4数表的公式化处理,抛物线插值,.,49,在机械设计中,有时数表中的数据不足以满足设计要求,这就要求设计者根据数表的数据范围和趋势找到合适的数据如下表所示,将蜗轮当量齿数Zv与齿形系数YF的关系数表程序化,要求输入Zv能输出对应的YF值。,.,50,列表函数,插值法的基本思想是:在插值点附近选取几个合适的结点,过这些结点构造一个函数g(x),在此小段上用g(x)代替原来函数f(x),当精度满足要求时,插值点的函数值就用g(x)的值来代替。因此插值的实质是如何构造一个既简单又具有足够精度的函数g(x)。,11,一元函数插值,.,51,原理已知插值点P的相邻两点:yi=f(xi),yi+1=f(xi+1),近似认为在此区域,函数呈线性变化,用过Pi、Pi+1两点连线的直线g(x)代替原来函数f(x)。,X,Y,1)、线性插值,设有两个相邻的自变量xi,xi+1,满足条件xixxi+1;设插值多项式为:y=a0+a1x,且满足插值条件yi=a0+a1xi=yi=f(xi)yi+1=a0+a1xi+1=f(xi+1),.,52,解方程组得:,Xixxi+1,yi+1,yi,.,53,插值多项式与被插函数之间的差,称为截断误差。,线性插值的截断误差,该插值法存在一定误差;当精度要求不高时,可以满足使用要求。,.,54,Y,N,Y,N,.,55,例1已知函数y=lnx的函数表如下:,用线性插值求ln11.5的近似值。,解取两个节点x0=11,x1=12,插值函数为,将x0,x1,x,y0,y1.代入(3-2)中,即得ln11.52.39790.5+2.48490.5=2.4414,.,56,估计截断误差:,.,57,设插值多项式为:且满足插值条件。,2).抛物线插值(二次多项式插值法),f(x),Xi-1xxixi+1,yi,yi-1,yi+1,在f(x)上面任取三点,过三点做抛物线g(x),以g(x)代替f(x)。,必须使得y(xi)=f(xi),y(xi-1)=f(xi-1),y(xi+1)=f(xi+1)。,.,58,抛物线插值的截断误差:,设插值点为x,且有xi-1xxi通过数学推导。可以得出抛物线插值方程:,.,59,在抛物线插值中,最关键的是根据插值点x选取合适的三个点,选取方法归纳如下:1.若|xxi-1|xxi|,则选取xi-1,xi,xi+1三个点,式(3-3)中,i=i3.若x1=x=x2,x靠近区间上限,则选取x1,x2,x3三个点,公式中i=24.若xn-1=x=xn,x靠近区间下限,则选取xn-2,xn-1,xn三个点,公式中i=n-1,.,60,.,61,例1已知函数y=lnx的函数表如下:,用抛物线插值求ln11.5的近似值,并估计函数的截断误差?,解取三个节点x0=11,x1=12,x2=13,插值多项式为,.,62,作业:已知函数表如下:,(1)利用线性插值计算20.3的近似值?(2)利用抛物线插值计算20.3的近似值?,.,63,3.1.2数表程序化,线性插值公式:,同理推到出二次插值多项式:,其中:,若设:,(3)拉格朗日插值法,.,64,拉格朗日插值是利用原有节点信息来构造插值函数的方法。当节点取为n时,可得到多项式的一般表达式,即拉格朗日插值多项式为:,是次数不超过的n的多项式,可以表示为:,.,65,对于一元函数的插值,它的几何意义就是对二维空间某一段中的几个指定点,构造一条曲线g(x),用g(x)近似表示原先离散点表示的f(x),这样在这一小段内的任一点的函数值,便可以近似地用g(x)的函数值来代替。对于具有两个自变量的二元函数来说,它的插值的几何意义就是在三维空间中,通过几个选定的点来构造一个曲面g(x,y),用g(x,y)来近似表示在这一区间内原有曲面f(x,y)。,二元列表函数的插值,.,66,二元列表函数的插值,在三维空间选定几个点,通过这些点构造一块曲面g(x,y),用它近似的表示在这块区间内原有的曲面f(x,y),从而得到插值后的函数值为zk=g(xk,yk)。,.,67,.,68,对于二元函数来说,常用的插值方法有:1.直线直线插值2.抛物线直线插值3.抛物线抛物线插值,.,69,1、直线直线插值(即双线性插值),插值步骤:1)根据k点的(xk,yk)找出周围四个点a,b,c,d,并且有以下关系式:xa=xc;xb=xdya=yb;yc=ydxaxkxb;yaykyc,目的:已知k点的坐标(xk,yk),求插值函数值zk,.,70,1、直线直线插值(即双线性插值),插值步骤:2)找出对应于a,b,c,d的A,B,C,D,过A、B用线性插值求得点E,再过C、D用线性插值求得F点。3)过E、F再用线性插值求得K点,此即为所求。,.,71,例题,双线性插值处理,.,72,轴肩圆角处理论应力集中系数,表中D/d及r/d值在一定范围内是随机的,必须采用二元函数插值实际编程时,设已知Dgiven,dgiven,rgiven,定义二维数组AA610储存,调用二元插值函数,即可求得应力集中系数,.,73,2.抛物线直线插值,插值步骤:根据k点的(xk,yk)找出周围四个点a,b,c,d,并根据抛物线插值中的取点方法增加2个点,如图增加e、f二个点,这样共得六个点。,目的:已知k点的坐标(xk,yk),求插值函数值zk,.,74,2.抛物线直线插值,插值步骤:找出对应上述六个点的A,B,C,D,E,F,过A、B、E用抛物线插值求得点U,再过C、D、F用抛物线插值求得V点。过U、V再用线性插值求得K点,此即为所求。,.,75,二元列表函数线性插值编程思路,.,76,在工程设计中,经常要用到表示各参数间关系的线图。线图的程序化有以下几种方法:找出线图原来的公式,将公式编入程序;将线图离散成数表,然后用前面所述的数据表格的程序处理方法将其程序化,当所取得点不在结点上时,就要进行插值;缺点:误差大用曲线拟合的方法求出线图的经验公式,再将公式编入程序。,3.1.3线图的程序化,.,77,线图的离散化处理,分割离散的原则:各分割点间的函数值相差不大分割点的选取随曲线的形状而异,陡峭部分分割密集一些,平坦部分分割稀疏一些,为了将曲线图变换成数表,可将曲线进行分割离散,用这些分割离散点的坐标值列成一张数表,当变位系数x=0,渐开线齿轮的当量齿数Zv和齿形系数Y之间的关系曲线,.,78,把变位系数x取不同数值时所对应的曲线都画在同一坐标平面内,就得到不同x值时当量齿数Zv与齿形系数Y之间的关系曲线图每条曲线可变换成一张一维数表,则m条曲线的线图就可变换成m张一维数表,这些数表组合在一起就是一张二维数表。,渐开线齿轮的齿形系数,.,79,渐开线齿轮当量齿数和齿形系数的关系,.,80,转换后的数表只能表示曲线上有限点处的变量关系,若要查找曲线上任意点处的变量值,要用公式化方法,对于在数据基础上建立经验公式或近似计算公式,我们一般有两种方法:函数插值曲线拟合,数据间存在某些联系或函数关系的列表函数应尽量进行公式化处理,充分利用计算机高速计算功能,线图的公式化处理,.,81,曲线插值法:当数表中的数据足够精确,要求近似公式代表的函数曲线严格的经过数表所给出的各个离散点,就可以用曲线插值方法。,函数插值存在的不足:严格通过每个结点,复印了原有的结点误差;仍需将各结点数据进行存贮,占用存贮空间。,.,82,:,函数拟合:曲线不要求通过已知结点,仅反映数据变化趋势。,1拉格朗日插值曲线2函数拟合曲线,.,83,曲线拟和方法:,根据离散节点数值变化趋势选择函数类型,构造近似曲线,此曲线并不严格通过所有节点,而是尽可能反映所给数据的趋势,这种利用所给数据建立曲线经验公式的过程称为曲线拟合。常用的拟和方法:最小二乘法常用的拟和函数有:多项式拟和,指数拟和,幂函数拟和。,.,84,1)最小二乘法拟合的基本思想,设由线图或实验所得m个点的值为:(x1,y1),(x2,y2),(xm,ym)构造曲线拟合公式为:y=f(x)则每一结点处的偏差为:ei=f(xi)yi偏差的平方和为:,最小二乘法拟合的基本思想:要求所构造的曲线拟合公式y=f(x)保证偏差的平方和为最小,这就是最小二乘法的曲线拟合。,.,85,(1)线性方程拟合,有m组实验数据(xi,yi),设拟合方程的形式是:y=a+bx每一结点处的偏差为:ei=yif(xi)=yia-bxi,最小二乘法原理:为了达到最好拟合,应使各节点的偏差平方和为最小。则:,最小二乘法处理的任务就是求直线方程中的系数a和b,.,86,对上式求偏导并使之为零:,.,87,令X=lnx,则:y=a+bX最小二乘法原理,其偏差平方和:,设有n组实验数据(xi,yi),设拟合方程形式为:y=a+blnx,原理采用变量代换的方法,使之回归为线性方程形式。,与线性方程拟合的处理方法相同,可求出系数a,b值。,(2)、对数方程拟合,.,88,.,89,有n组实验数据(xi,yi),设拟合方程形式为:,原理:采用变量代的方法-回归为线性方程形式。,对方程两边取对数,得:lny=lna+blnx令:Y=lny,A=lna,X=lnx,得线性方程:Y=A+bX同理求出系数A,b。则:a=eA,其偏差平方为:,(3)、指数方程拟合,.,90,例:切削力实验中,改变切削深度ap时测得的主切削力FZ的数值如下表试建立经验公式,解:取对数:lgFZ=lgapxFZlgap,令:lgFZ=y,lgap=a,xFZ=b,lgap=x,则得:y=a+bx,.,91,a=1.79459,b=0.96259,y=1.795+0.963x,lgFZ=y,lgap=1.795,ap=62.3,因:lgFZ=lgapxFZlgap,所以:,lgFZ=y,lgap=a,xFZ=b,lgap=x,.,92,有n组实验数据(xi,yi),设拟合方程形式为:对方程两边取对数,得:lny=lna+bx令Y=lny,A=lna,则Y=A+bx同理可求出A,b值;则:a=eA其偏差平方和为:,(4)、对数指数方程拟合,.,93,(5)n次多项式拟和,有m组实验数据(xi,yi),设拟合方程的形式是:,最小二乘法原理:为了达到最好拟合,应使各节点的偏差平方和为最小。则:,最小二乘法处理的任务就是求方程中的系数ai,.,94,最小二乘法n次多项式拟和,根据极值理论,要使S(a1,a2,an)达到最小,必有:,.,95,最小二乘法的多项式拟合,.,96,用最小二乘法求多项式各个系数时,应注意:(1)开始可用较低幂次数拟合,如求出的值误差太大时,再提高幂次数(一般小于7)拟合;(2)如结果还是不够理想可分段进行拟合。,.,97,例题,设有一组实验数据如下表所示,它有7个点。现要求用二次多项式拟合。,.,98,用二次函数来拟和原函数f(x):此时总的偏差:根据极限理论:,.,99,从而我们可以得到一个线性方程组:,a0,a1,a2作为自变量,.,100,将xi,yi用表中数据带入,得:求解的拟合得到的经验公式为:,.,101,.,102,例4将O型带长度系数KL与内周长Li之间关系数据(表3.6)程序化。要求输入内周长Li时,程序应给出相应的长度系数KL。,3.拟合实例,.,103,线性方程:KL=0.8352+2.009E-04Li偏差平方和:S=6.098E-03;有差值数组数:11;最大差值0.04对数方程:KL=0.40399+0.21168(Li)偏差平方和:S=3.74E-04有差值数组数:3;最大差值0.01指数方程:KL=0.25873Li0.20328偏差平方和:S=8.637E-03有差值数组数:13;最大差值0.05对数指数方程:KL=0.8519e(1.9E-04Li)偏差平方和:S=6.38E-04有差值数组数:9;最大差值0.01二次方程:KL=0.7221+4.33E-04Li9.8E-08Li2偏差平方和:S=3.45E-04有差值数组数:4;最大差值0.01,.,104,设计数据,数表,线图,常数数表,普通线图,列表函数,程序化(数组),单个编程处理,文件化,数据库,离散为数组,插值计算,函数拟合,直接应用公式,折线图,带有公式,处理方法,数据类型,设计数据类型及常用处理方法,.,105,3.2工程数据的文件化处理,数据文件是数据管理的一种形式,它能独立于应用程序单独存储。数据文件是记录的集合。通过关键字查找对应的记录值。关键字:能唯一地标识记录的数据项的值。,工程数据的程序化的缺陷:数据依赖程序而存在,若要修改或删除,就要修改程序;数据量较大时即占用较大内存,使程序运算速度下降;多个程序之间数据无法共享。,.,106,例如,某齿轮参数表可视为一个文件。,齿轮参数表,每一行构成了一个记录;关键字:能唯一地标识一个齿轮记录的数据项齿轮零件号,.,107,采用数据文件的条件:1)数据经常需要修改;2)系统内其他程序要与之共享数据;,数据资料文件化通常采用两种类型文件,.,108,文件系统,文件是数据库系统的基础。文件一般是指具有相同性质的记录的集合。数据是以文件的形式存放在外部介质上的,用户通过应用程序对文件中的数据进行操作。文件中的数据可以有多种组织形式,不同的组织形式得到不同的文件结构。与其他数据结构一样,文件结构也包括逻辑结构、存储结构以及在文件上的各种操作(运算)三方面。,.,109,数据资料文件化要注意的几个问题:,.,110,顺序文件,索引文件,多重链表文件,文件组织方法,常用文件组织方法,倒排文件,.,111,常用文件组织方法,(1)顺序文件顺序文件按记录进入文件的先后顺序存放,数据的物理存储空间是连续的,其逻辑顺序和物理顺序一致。顺序文件分为两种:组成文件的记录没有任何次序规律,只是按写入的先后顺序进行存储,称为无序顺序文件;组成文件的记录是按照某个关键字递增(或)递减的顺序进行存储,称为有序顺序文件。,111,.,112,(2)索引文件,索引-是指用索引法列出关键字k与相应记录Rk的地址对应表。索引文件带有索引的文件称为索引文件。通常包括一个主文件和索引表。主文件是原有数据文件的顺序存储或顺序链接存储文件,索引表是在主文件的基础上建立的顺序表,它的每个索引项同主文件中的每个记录一一对应。索引文件是与主体数据文件配合使用,它的索引项是按关键字排过序的,主体数据文件可以是有序或无序顺序文件。,112,.,113,关键字地址,减速器明细表,索引表,.,114,当查找记录时:记录的关键值相应地址查找记录,查找效率高,使用比较广泛。,图示,索引文件的索引项必须按关键字顺序排列,而文件本身可以按顺序或不按顺序排列。,索引文件,索引顺序文件,索引非顺序文件,.,115,数据域,数据域,.,116,主体数据文件,无序索引,有序索引,116,平口钳装配图明细表的索引数据文件,.,117,(3)多重链表文件链表文件中记录的物理存储顺序与逻辑顺序可以不一致。它在每一个记录项上增设一个指针,指向下一个记录的存储地址。多重链表的组织方式通常用于根据多个次关键字来访问某条记录。具体做法如下:,117,根据n个次关键字来查询某条记录时,在建立数据文件的过程中,每个记录上增加n个指针项,每个指针项指向包含相应次关键字的下一个记录的地址。,.,118,多重链表数据文件,主关键字,次关键字,次关键字,118,.,119,分别建立每个次关键字的索引表,根据该索引表查询记录。,零件名索引,材料索引,119,.,120,文件的操作,1.查找顺序查找法折半查找法(二分查找法)分块查找法2.排序选择排序冒泡排序插入排序,120,.,121,(1)查找文件的查找寻找关键字为某值的记录,或从数组中寻找某个确定的数据。常用的查找方法有三种:1)顺序查找法从第一个记录开始,逐个查询,若找到欲查数值,则查找成功,否则,查找失败。特点:简单,但效率低。,.,122,3.3.1数据文件,2)折半查找法(二分查找法)先将文件记录按关键字顺序排列。再将查找范围中点处关键字KM与待查记录关键字K比较,应为下列三种情况:a)KKM,确定待查记录在文件后半区。若为情况b),则查找成功;若为情况c)或a),则在确定的区域中再次顺序查找,或逐次折半查找。,.,123,3.3.1数据文件,3)分块查找法先将文件记录按关键字顺序排列;将文件记录划分为大于2的若干块;再将待查关键字依次与各块的最大关键字比较,确定查找范围;然后顺序查找。例如:在(4,7,16,31,39,41,47,55,61)中查找数据39。,.,124,(2)排序对文件中记录的关键字(或数组元素值)按递增或递减的顺序重新排列。1)选择排序原理:以升序排列为例,在所有的记录中选出关键字最小的记录,将它与第一个记录交换,然后,从第二个记录到最后一个记录中重复上述的操作。,.,125,举例对关键字序列(8,4,3,6,9,2,7)进行选择排序。a)(8,4,3,6,9,2,7)选出2。b)(2,4,3,6,9,8,7)2、8文换位置,选出3。c)(2,3,4,6,9,8,7)3、4,交换位置,选出7。d)(2,3,4,6,7,8,9)7、9交换位置、排序完毕.,.,126,3)冒泡排序原理:以升序排列为例,顺序比较相邻记录的关键值,若后者比前者小,则交换位置。否则,位置不变。举例对关键字序列(9,7,18,3,4,10,8)进行冒泡排序,排序过程示意如下:a)(9,7,18,3,4,10,8)b)(7,9,3,4,10,8,18)(7,3,4,9,8,10,18)(3,4,7,8,9,10,18)排序完毕。,.,127,3)插入排序原理:仍以升序为例首先假定第一个记录的位置是适合的,然后取出第二个记录与第一个记录进行关键字比较。若小于,则插到前面,否则,位置不变;再取第三个记录与前面的各记录进行关键字比较,将其插入到前面有序记录的适合位置上;依此类推,直到完成排序。,.,128,程序直接管理、数据文件管理,程序直接管理:程序中用到的数据,包括数据的存储、操作都必须由程序员自己编程管理,数据与程序互相依赖,程序之间存在大量重复数据。,.,129,文件的管理文件是一种具有相同结构的记录的集合,记录内含相关数据项。以文件形式长期保存在计算机外部存储器内。,优点:数据管理简便灵活、数据和程序之间有了相对独立性;,.,130,文件管理方式存在以下问题:(1)文件的专用性。文件结构一般是用户专有的,各用户都自己建立一套文件结构,造成大量的数据冗余和不一致性。(2)数据依赖于应用程序。文件中数据的逻辑定义,物理存储,组织方式和存取方法都须由程序员在应用程序中设定,文件一旦离开它所依赖的应用程序将失去存在意义。,.,131,(3)数据的无结构性。文件结构中的数据,一般只能表示客观世界中单一事物的信息,而不能反映各种事物之间的联系。,.,132,数据库系统-统一管理用户文件的系统,3,3.3工程数据的数据库管理,.,133,3.3.2数据库系统,作用:解决数据的冗余性、共享性问题;解决了数据的独立性问题;通过集中管理所有的文件实现用户对数据的共享,保证数据的一致性。,数据库-是为满足某一组织中多个用户的多种应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论