2021年内蒙古自治区乌兰察布市全国计算机等级考试数据库技术测试卷(含答案).docx
2021年内蒙古自治区乌兰察布市全国计算机等级考试数据库技术测试卷(含答案)学校:班级:姓名:考号:一、L选择题(10题)1.在数据库逻辑结构设计中,将E-R模型转换为关系模型应遵循相应原则。对于三个不同实体集和它们之间的一个多对多联系,最少应转换为多少个关系模式?A.2B.3C.4D.52 .下述哪些功能是数据库定义模块的基本功能?I.数据库模式定义II.数据库完整性定义III.数据库安全性定义IV.存取路径定义A.仅I、II和11IB.仅I、II和IVC.仅11、In和IVD.都是3 .内存和CPU之间增加高速缓存的目的是A.解决CPU和内存之间的速度匹配问题B.扩大主存容量C.既扩大内存容量,又提高存取速度D.以上说法都不对4 .关于计算机的操作系统,下面叙述不正确的是A.操作系统是从管理程序(管理软件和硬件的程序)发展而来的B.操作系统既是系统软件又是应用软件C.操作系统是计算机用户与计算机的接口D.用户一般是通过操作系统使用计算机5 .下列关于网络的叙述错误的是A.X.25网是一种典型的公用分组交换网B.帧中继FR技术是在数据传输速率高、误码率低的光纤上使用简单的协议,以减小网络传输延迟的技术上发展起来的C.异步传输模式ISDN是新一代的数据传输与分组交换技术D.FDDI是一种以光纤作为传输介质的高速主干网6 .计算机安全的范围应包括计算机实体安全、软件安全、数据安全和()。A.通信安全B.网络安全C.运行安全D.系统安全7 .数据库维护阶段的故障维护工作主要是()。A.排除设备故障B.恢复遭到破坏的数据C.数据模型的更新D.修改应用程序8 .在关系代数中,从两个关系的笛卡尔积中选取它们属性间满足一定条件的元组的操作,称为A.并B.选择C.自然连接Df连接9 .设树林F中有4棵树,第一、第二、第三和第四棵树所拥有的结点数依次为4、6、3、2o那么与树林F对应的二叉树根结点的右子树上的结点数目为()。A.2B.10C.5D.1110 .从E-R图导出时,如果两实体间的联系是M:N的,下列说法中正确的是A.将M方关键字和联系的属性纳入N方的属性中B.将N方关键字和联系的属性必定纳入M方的属性中C.在M方属性和N方的属性中均增加一个表示级别的属性D.增加一个关系表示联系,其中纳入M方和N方的关键字二、填空题(10题)IL的虚拟局域网的建立是动态的,它代表了一组IP地址,并由称做代理的设备对虚拟局域网中的成员进行管理。12 .如果关系模式R的属性之间不存在非平凡且非函数依赖的多值依赖,则R的规范化程序达到了o13 .网络防火墙的主要类型是包过滤路由器、电路级网关和网关。14 .运行IP协议的Internet可以为其高层用户提供的、面向无连接的、尽最大努力的数据报投递服务。15.1PTV包括视频点播、直播电视和3个基本业务。16 .在SQL语言中,允许获得某种权限的用户把这种权限再转授给其他用户,可以在GRANT语句中指定子句。17 .在关系数据库的规范化设计中,对模式分解的等价性进行评价的两条主要标准是无损连接性和O18 .数据库并发操作控制包括以【】方式打开数据库和对数据库或记录加锁两种方法。19 .传输层的主要任务是向用户提供可靠的服务,透明地传送报文。20 .设有关系SC(sno,cname,grade),各属性的含义分别为学号、课程名、成绩。若要将所有学生的“数据库系统”课程的成绩增加10分,能正确完成该操作的SQL语句是grade=gradeIOWHEREcname二"数据库系统二三、单选题(10题)21 .如果以链表为栈的存储结构,则退栈操作时()A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.对栈不作任何判别22 .下列关于SQLServer数据库服务器登录账户的说法中,错误的是A.登录账户的来源可以是Windows用户,也可以是非Windows用户B.所有的Windows用户都自动是SQLServer的合法账户C.在Windows身份验证模式下,不允许非Windows身份的用户登录到SQLSerVer服务器D.sa是SQLServer提供的一个具有系统管理员权限的默认登录账户23 .在SQLSerVer2008中,设有商品表(商品号,商品名,生产日期,单价,类别)。现经常需要执行下列查询:SELECT商品号,商品名,单价FROM商品表WHERE类别IN,食品7家电f)ORDERBY商品号现需要在商品表上建立合适的索引来提高该查询的执行效率。下列建立索引的语句,最合适的是()oA.CREATEINDEXIdxlON商品表(类别)B.CREATEINDEXIdxlON商品表(商品号,商品名,单价)C.CREATEINDEXIdxlON商品表(类别,商品号,INCLUDE(商品名,单价)D.CREATEINDEXIdxlON商品表(商品号,INCLUDE(商品名,单价,WHERE类别=食品'OR类别廿家电24 .数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是OA.数据库设计B.数据通信C.数据定义D.数据维护25 .在定义一个关系结构时,应该说明()A.字段、数据项及数据项的值B.属性名、属性数据类型及位数C.关系名、关系类型及作用D.记录名、记录类型及内容26 .索引使用原则中不可以为该列建立索引的是:()A.经常在查询中作为条件被使用的列。B.频繁进行排序或分组的列。C.一个列的值域很大时。D.如果待排列的列有多个,选择任意一列。27 .在需求分析阶段中,业务流程的分析结果一般用()A.E-R图表示B.程序流程图表示C.数据流图表示D.数据结构图表示28 .在SQLSever中创建用户数据库,其主要数据文件的大小必须大于A.master数据库的大小B.model数据库的大小C.msdb数据库的大小D.3MB29 .下面关于通道的叙述中,正确的是()I.通道相当于一个功能简单的处理机H.通道完成数据输入输出工作I11通道与CPU共用一个内存A.I和11B.I和11IC.II和InD.都是30.用数组A0.m-l存放循环队列的元素宜若其头尾指针分别为front和rear,则循环队列中当前元素的个数为()A.(rear-frontm)modmB.(rear-front1)modmC.(rear-front-1m)modmD.(rear-front)modm四、C语言程序设计题(1。题)31.已知数据文件in,dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsValue,其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后main函数调用写函数WriteDat把数组b中的数输出到文件Out.dat中。例h9123,%123Xh剜该数满足条件存入敷组b中.且个数Cgrt+1.9812,9-8-l-2<0,剜该数不满足条件忽略注意:部分源程序存在teste文件中.程序中已定义IJ(组:a(300Jb(300J,已定义变Cm请勿改动数据文件indai中的任何数据、主函数min(),读函数mdDtO和写的数WriCeDato的内容.1;!include<stdio.h>234567B9!inta(300,b(300),cnt-0jI;voidwriteDat(); voidreadDat(); voidjsValue()定义整屋依tfia1300),b(300)fDftet,并且ent的初值为0;main()10!(IUj12j13int1;readDat();devalueO;202122232425262728void writcDt()14WriteDat();15rintf(cnt-tdnw,ent);16iford-0;i<ent;i÷÷)17;printf(wb(%d-%dn",i,18:)19;voidreadDatOFILEfp;£nt1;fp-fopen("in.dat"r*r*);for(l-0;i<300;1)fscanf(fp,"Id,",6aiB;fclose(fp);29 i I30 ;31 !32 ;33 :34 35 ;36 137 i FILEfp;inti;f-fopn("out.datw,"w");frntf(fp,"%dn",ent);for(i0;i<ent;i÷÷>fprintf(fp,wtdn-,bi');fclose(f);32.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数StreharJR,其函数的功能是t以该文章中的行为单位把字符串中的所有字符的二进制ASCII值右移4位,高位补0,然后把右移后的字符ASCII值再加上原字符的ASCn值,得到新的值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组XX中。最后main函数调用函数WriteOat把结果XX输出到文件out.dat中。例如:“z”对应的ASCII值为7AH1二进制值为OlIllo10,右移4位后为00000111,加上原来"2”的ASCn值0111上原得到IOoooOOl结果。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按字符处理。注意:部分源程序存放在test.C文件中。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。23A56789101112*include<stdio.h>!include<string.h>cha××(50(80;intmaxline-0;/文豪的效行数/IntReadDat(void);voidWriteDat(void);voidStrCharJR(void)voidmain()14151617181920if(ReadDat()Printf("It据文件in.dat不能打开!n007");return;StrCharJRO;WriteDat();21;222324!25;26!27;28129;3031i/从文件in&u中读JR篇英文文It存入剌字符串械但XX中/intReadDat(void)FILEfp;Inti0;charp;if(fp-fopenCin.dat-,wr*)JLL)return1;whlle(fgeta(xx(i1r80,fp)»-NULL)p-strchr(xxi),*n*);if(p)p-0;32 333435 36 3738 3940 414243 44 4546 474849i*÷Imaxline-i;fclose(fp);return0;/把钻果XX出到文竹OuL皿中/voidWriteDat(void)IFILEfp;inti;fp三fopen("out.dat,www);for(i-O;i<maxline;i*÷)(printf("%sn",xx(i);fprintf(fp,%snw,×xll11;)fclose(fp);33.已知数据文件INl.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal,实现的功能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组C中,再对数组C中的数按从小到大的顺序进行排序,最后调用输出函数WriteDat把结果C输出到文件out.dat中。组成新数的条件:如果数组a和b中相同下标位置的数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新数的个位数字,数组b中的十位数字为新数的百位数字,个位数字为新数的十位数字,这样组成的新数并存入数组C中。例Ma123124152115b>324517271815c<345112751155押序后CtII”12753451注虐t部分源8序存在g工文件中.畜序中已定义:4100卜b(oo)和Cuo0)请勿改动数据文件!NLDAT和IN2.DAT中的任何敷MLiftmam().*函数redDatO和与啪败WriteDetC的内*1 !Include<stdio.h>2 defineMXX1003 jIntaMAXl,bMAXJ,c(MAXJ;4 ,Intent-0;存成符令事件IBt由个IBt/5 ;voidJsVaK)rtt*2ffINIDATioN2DAT中的100个附粒十堪.敷存入t<UMb中/voidrQadDatC(int1;FILEfp;f-fopen("inl"r");for(i-011<MAX;fscanf(fpreId",al):fclose(f);fpfpen("in2.dat","r");for<i-0;1<MAX;£)fscanf(fp.*d-,tb(l);felose(fp);>voidmain()Inti:voidwriteDat;for(i-0;1<KAX;!*>cl0;radDat();jsVal();for(i-0/1<MAX“Ctil>0;printf(*dn*,c(l);writoD*t()J)/七帕最做蛆C出91文”(MuhtvoidWtltcDat()(FXLE-fp;mt1;fp-fon(out.dat*,*w*);forU-0/1<MAXMC(I)>Ojiffprxntf(fp,"*dn",c(iJ):fclose(fp);34.函数readDat是从文件in.dat中读取20行数据存放到字符串数组XX中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能是:以行为单位对字符串变量的下标为奇数的位置上的字符按其ASCn值从小到大的顺序进行排序,下标为偶数的位置上的字符仍按原来位置存放,排序后的结果仍按行重新存入字符串数组)xx中,最后调用函数WrriteDat把结果xx输出到out.dat文件中。例如:位置图字符串01234567 hgfedcba则处理后字符串hafcdebR注意:部分源程序存在EC文件中.请勿改动敢据文件indt中的任何数据、主的数mainO、读函数MIDatO和写函数WmeIXK)的内客.include<stdio.h>include<string.h>voidreadDatO;voidWrlteDat();char×x(20(O:voidJsSortO101112131415161718192021222324252627282930voidmain()(readDatO;jsSortO;WriteDat();)从文件2中谨取20打图搦存放到字杓率IMaKt中/voidreadDat()FILEn;Inti三0;char*p;infoen(win.dat",wr");while1<20“fgets(×x(i)t80rin)(-strchr(×xih*n,>if(p)p-0;1*;(fclose(in);),把姑豪XX出到叫LW文件中/voidWrlteDat()NULL)3132333435363738394041FILE0Ut;nt1;out-fopen("out.dat"e*,w");for(1-0;i<20;£)(rlntf("%s11,××(i);fprintf(out,*%sn,×xll);Cclose(out);35.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数ConVertCharA,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母Z,则改写成字母a,大写字母和其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组XX中。最后main函数凋用函数WriteDat把结果XX输出到文件OUt.dat中。例:原文:db.BcdzaabdcLLhj结果:Acc-BdcabKrdirr«k123456791011121314151617l19202122232425262728293031323334353637383940414243444546474849Ki始数据文件存放的格式是,每行的宽度均小于80个字符.含标点符号和空格.注意;部分源程序存放在test文件中.请勿改动主由数mainO、读喻数ReadDa1()和嫡出函数WriteDatO的内容.include<stdlo.h>include<string.h>char×xS0(80;intmaxline0;*文章1的总tl数/IntReadDat(void);voidWriteDat(void);voidConvertCharA(void);voidmain()!(;if(ReadDat()!IPrintfL数据文件in.dat不能打开!n007");return;j)ConvertCharA();jWrltoDatO;;Ii”从文件tadM中常取-英文文章存入到字符串KttlU中/;IntReadDat(void)(;FILEfp;inti-0;ichar*;if(fp-fopen("in.dat","r")-NULL)return1;'while(fgeta(xxi),60rfp)!-NULL)!(Pstrchr(×x(l,n);if(P)p-0;:jmaxllne-1;fclose(fp);return0;;)j/把结果*出川文件。M&t中/;voidWriteDat(Void)!(jFILEfp;int1;jfp三fopen(wout.dat"rhw);for(i-0;i<maxline;1+)(printf(w%sn"r××(1J);fprintf(fp,*%sn*,××(il;i1!fclose(fp);:I36.程序test.C的功能是:把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请考生编写函数Chg(Char*s)实现程序要求,最后调用函数FeadwriteDAT把结果输出到Out.dat文件中。例如,S字符申中原刊内容为:MnIBxyZ.则用谟函数后,站果为n.123%yZM.注盒t的分源丹序存在SC文件中.请勿改动敷据文件mdat中的任何数据.主法数uin和,出由数readwnteDATO的内容.5678910111215161819 2021222324252627282930 3X3233 *include<tdlo4h>*Include<strlng.h>»defineN81定义史斐N.XfllWfIlvoidreadwriteDATO;voidchq(chars)main()(chara(N);printf("Enterastring:");gets(a);printf("Theoriginalstringis:");puts(a);Chg(a);printf("Thestringaftermodified:");PUtS(八);FeadwrlteDAT();)¼tftln.dt中父入字科申IK就字衿府年用*ch9()M字样*核届目的察iS1j处JR.在灶及他录”入*文件ot.datvoidSeadwriteDATO(Inti;chara(N);FILErf,wf;rf三fopen("ln.dat,r*rw);wf-fopen("out.datw,"w);ford»0;i<10;(fscanf(rf,-s-ra);从文件:n.dat中请取个?制中U字朴巾chg(八);明ftcg()*f字符*IB行依fprintf(wf,"Qsn,a);杷蚣是姑JI写入JfrnlJdat文件中fclose(rf);£clo»e(wf)i37 .已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsValue,其功能是:求出于位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数ent,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后main函数调用写函数WriteDat把数组b中的数输出到文件out.dat中。例如86712.6+2H7+1.则读数满足条件存入数蛆b中且个数Cmyt18129,84!l+2则淡数不清足条件忽略.注意:部分源程序存在IttLC文件中.程序中已定义数组:(300.b(300),已定义受量:ent请勿改动数据文件indat中的任何数先、ftmam()读话数rcadDat()和写由数WritCDBlO的内容.19202122232425include<stdio.h>inta300J,b300J,cnt-O;voidWrlteDatO;voidreadDat(>voidjsValue()main()(Int1;readDat();jsValue();writeDat();printf(wcnt-%dn",ent);for(i-O;i<ent;£+)printf("b(td-dn",ltb(i);voidreadDat()FILEfp;Inti;fp-fopen("in.dat""r");for(i-0;i<300;i÷*)fscanf(fp»w%d,",262 ,28293031323334353637fclose(fp);)voidwriteDat()(FILEfp;Inti;fp-fopen(*ot.dat","w");fprlntf(fp«"%dnw,ent);for(i三0;i<ent;i+*)fprlntf(fp,"%dn"rbi);fclose(fp);38 .已知在文件indat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量。函数ReadDat读取这100个销售记录并存入结构数组SelI中。请编制函数SOrtDat,其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小大进行排列,最终排列结果仍存入结构数组Sen中。最后main函数调用函数WriteDat把结果输出到文件out.dat中。提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品代码比较请用函数StrCmP进行解题。例如:selli=temp;注意:部分源程序存放在test.c文件中。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。finclude<stdlo.h>Include<string.h>include<stdlib.h>defineMAX100567891011141516typedefstruct(chard(5;产i代玛/charme(11;产品名黑/intdj;Mffr/Intsi;/longje;金/)PRO;PROsellMAX;voidReadDat();voidWrlteDatO;voidSortDat()17;(18;19;)2021void main()mem三ot(oll,0,sizeof(sell);ReadDatO;SortDatO;WciteDat():26!»272829303132333435363738394043 444546 4748495051S2535556Mt*ii 100个IR曾记求月仔人Wl杓Bf<H dl void ReadDat O (FILE fp; char atr(80) ch(11U Int 1/ f - fopen(*in.dt, "r)t for(1 0; 1 < 100; 1*) I fgets(tr, 80, f); memcpy(sell(i .da, strf 4” memcpy(sell(ij.mc, str 4, 10): mencpy (ch,str+14,4) ;ch(4-0; sell1.dj Ci(ch); tnemcpy (ch,str<18,5) ;ch5-0; sell U) .sl - atol (ch); sell(i.Je (Ionglsell(i.dj sell(x.81:)Cclose(fp): ) 八工络里"出到文件<wtu void WrlteDat(> (FILE fp; Int 17 fp - fopen("out.datn* "w")j for(l 0; 1 < 100; 1*÷)I fprlntf (fp. "s ts Ma 5d 101dn*r SftUlI.dm. sei ICJ iI fd9(fp) ;sell(11.mcr sell(l.d selll .sl439 .已知在in.dat中存有若干个(个数200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函数CaIVaIue,其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些正整数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些正整数的算术平均值totPjzo最后maini函数调用函数WriteDat把所求的结果输出到Out.dat文件中。注意:部分源程序存放在test.C文件中。请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出数据函数WriteDat的内容。I 23 45 67 9 101112 13!include<stdio.h>!defineMAXNUM200intxxMAXNUM);inttotNum-0;文件in.dat中共有多少个正做inttotCnt-0;符合条件的正IHft的个数doubletotPjz"0.0;5均值intReadDat(void);void main OvoidWciteDat(void);voidCalValue(void)1415161718192021222324252627282930313233343536373839404142void WriteDat(void)Inti;for(i-0;i<MAXNUM;i+÷)××i0;If(ReadDatO)(PrintfL数据文件ln.dat不能打开!00八小):return;)CaIValueO:printf文件in.dat中共有正整数Ad个n".totNum);Printf("符合条件的IE整数的个数7d个M,totCnt);Printfr平均值T.21fn”,totPjz);WriteDat();)/读取这若个正整效并存入跳机UintReadDat(void)(FILE*fp;inti-0;if(fpfopen(*in.datw,-r*)-NULL)return1;while(!feof(fp)(fscanf(fp,wd,n,ixx(i*÷);)fclose(fp);return0;E计Ir站聚并入文件。uc.dat.中,434445464748totCnt, totPjz):FILEfp;fp-foen("out.datwrHw*);frintf(fpr,*dn%dn%.21fnw,totNum,fclose(f);40.已知数据文件in,dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把千位数字和个位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的个位数字),以及把百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个新组成的数均是奇数并且至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数ent。最后main函数调用写函数WriteDat把结果ent以及数组b中符合条件的四位数输出到Out.dat文件中。注意:部分源程序存在teste文件中.程序中已定义数组:a200.b(200.已定义变量1ent请勿改动数据文件in.dai中的任何数据、卜函数读的数readDatO和写成数WriteDato的内容.include<stdlo.h>defineMAX200intaMAX),bMAXlrent45678910111213void voidvoidIntwrlteDat(); jVal()readDat O 从in.dat文件中值取200个映位效存入敷IH 中FILE fp;fp fopen("in.dat"r "r")for(i 0; i < MAX; i*÷) fscanf(fr *d*, SaTjj)fclose(fp);23242526272829303132333435363738voidmain()int1;readDat();isVal(H用点RSValQ,家理H京的助健PrinCf满足条件的数-4dn",ent);for(i0;1<ent;printf("d",b(i);print1(,*n");writeDat();)voidWriteDatO把计算劭量Bt以及效igb中符合条件的四位依出到<wLdai文付中(FILEfp;int1;fp-fopen("out.dat,hwh);fprintf(fp«"%dn",ent);for(i-0;1<ent;fprintf(fp,bl);fclose(fp);五、设计与应用题(2题)41.设在SQLSerVer2008某数据库中,已建立了四个文件组:fgl、f92、f93和(94,以及一个分区函数RangePFloRangePFl的定义代码如下:CREATEPARTITIONFUNCTIONRangePFl(int)ASRANGELEFTFORVALUES(100,200,300)(1)请基于RangePFl创建一个分区方案RangePSl,每个分区对应一个文件组。(5分)(2)请使用RangePSl创建一个分区表PartitiOnT(Gid,GoodName,Price),该表基于Gid列创建分区。其中Gid:int类型,取值大于等于1;GoodName:统一字符编码可变长类型,最多可存储20个汉字;PriCe:定点小数类型,小数部分1位,整数部分到千位。(5分)42.设某全国性的运输企业建立了大型OErP系统,并在该系统之上建立了数据仓库。OLTP系统和数据仓库中有如下数据表:运输明细表(运输单ID,发送站ID,终到站ID,货物ID,货物重量,运输价格,发货日期)汇总表1(发送站ID,终到站ID,货物ID,发货日期,总重,总运价)汇总表2(发送站ID,终到地区ID,货物ID,发货日期,总重,总运价)汇总表3(发送站ID,终到站ID,货物ID,发货月份,总重,总运价)汇总表4(发送地区ID,终到地区ID,货物类别ID,发货日期,总重,总运价)该企业管理的货运站约有100个,货物约有500种共10类,各汇