一九九九年下半年全国高等教育自学考试 数据库及其应用试卷 一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代号写在题干后的括号内。答案选错或未选者,该题不得分。 每小题1分,共15分) 1.逻辑数据独立性是指( ) A. 模式变,用户不变 B. 模式变,应用程序不变 C. 应用程序变,模式不变 D. 子模式变,应用程序不变 2.DBS中,内外存数据交换最终是通过( ) A. UWA完成 B. DBMS完成 C. OS完成 D. 键盘完成 3.用散列文件组织数据时,后到的发生碰撞的记录存放到( ) A. 基本区 B. 缓冲区 C. 溢出区 D. 用户工作区 4.进行自然联接运算的两个关系必须具有( ) A. 相同属性个数 B. 公共属性 C. 相同关系名 D. 相同关键字 5.一个外部关键字的属性个数( ) A. 至多一个 B. 至多2个 C. 至少一个 D. 至少2个 6.任何由二个属性组成的关系( ) A. 可能为1NF B. 可能为2NF C. 可能为3NF D. 必为3NF 7.DB、DBMS和DBS三者间的关系是( ) A. DB包括DBMS和DBS B. DBS包括DB和DBMS C. DBMS包括DBS和DB D. DBS与DB和DBMS无关 8.某个DBF文件的一个数值字段要求2位整数,1位小数,则其宽度应为( ) A. 4 B. 3 C. 5 D. 2 9.下列字符串可作为内存变量使用的是( ) A. 4321 B. 房租+水电 C. 姓名 D. 男/女 10.下列表达式中,运算结果为字符串的是( ) A.'ABCD'-'AB' B.'ABCD'+'XYZ'='ABCDXYZ' C.CTOD('06/29/99') D.AB-25 11.一个DBF文件含数学、英语、总分三个N型字段,要将每个学生的数学和英语成绩汇总后存入到相应的总分字段中,应使用命令( ) A. STORE 数学+英语 TO 总分 B. REPL 数学+英语 TO 总分 C. REPL ALL 总分 WITH 数学+英语 D. REPL ALL 总分 WITH 数学,英语 12.不需要对文件排序或建索引就可使用的命令是( ) A. TOTAL B. FIND C. SEEK D. SUM 13.执行FNAME='F1'和USE &FNAME两个命令后,打开的文件是( ) A. FNAME.DBF B. &FNAME.DBF C. F1.DBF D. F1.MEM 14.若某一个DBF文件有三个备注字段,则该文件对应的备注文件有( ) A. 3个 B. 1个 C. 4个 D. 0个 15.FOXBASE+中,设置当前工作区的命令为( ) A. USE B. GO C. RETURN D. SELECT 二、多项选择题(在下列各题的四个备选答案中选出二至四个正确的答案,并将其代号写在题干后面的括号内,答案选错或未选全者,该题 不得分。每小题2分,共10分) 1.任给关系R(U),X、Y是U的子集,若X—/→Y,则X、Y间的联系方式为( ) A. 1:1 B. 1:m C. m:1 D. m:n 2.数据冗余引起的问题有( ) A. 修改麻烦 B. 花费空间 C. 潜在数据不一致 D. 插入异常 3.关系代数运算中,运算对象为两个关系的运算有( ) A. 并 B. 交 C. 投影 D. 选择 4.同一个数组中的所有数组元素的数据类型( ) A. 必须相同 B. 必须不同 C. 可不同 D. 可相同 5.在网络环境下进行FOXBASE+应用编程时,为提高并发性而应该( ) A. 尽量使用记录锁 B. 尽量使用文件锁 C. 尽量以独占方式打开文件 D. 尽量以共享方式打开文件 三、程序分析题(每小题6分,共36分) 1.试述如下程序的功能。 (1) S=0 K=1 DO WHILE K<101 S=S+K K=K+1 ENDDO (2) USE GZ DO WHILE .NOT.EOF() IF .NOT.(SUBSTR(姓名,1,2)='王') SKIP LOOP ELSE DISP SKIP ENDIF ENDDO (3) SELECT 1 USE 读者 SELECT 2 USE 借阅 JOIN WITH A TO F FOR 借书号=A→借书号 USE F LIST RETURN 2.阅读如下程序,并写出程序运行的结果。 (1) SET TALK OFF CLEAR STORE 0 TO M,N DO WHILE .T. M=M+1 DO CASE CASE INT(M/2)=M/2 LOOP CASE M>=10 EXIT OTHERWIZE N=N+M ENDCASE ENDDO ?“M=”,M ?“N=”,N RETURN (2) SET TALK OFF CLEAR STORE 1 TO S,K DO WHILE K<=6 S=S*K K=K+1 ENDDO ?“S=”+STR(S,4) RETURN (3) SET TALK OFF CLEAR X=“ABCDEFGHIJK” Y=“ ” I=11 DO WHILE I>1 Y=Y+SUBSTR(X,I,1) I=I-1 ENDDO ?“Y=”+Y RETURN 四、程序设计题(每小题8分,共24分) 1.已知数据库文件stu.dbf中含有学号、姓名等字段。下面的程序是根据键盘输入学生姓名进行查询的程序,试在程序中的划线处,填入 合适的语句,使之成为完整正确的程序。 SET TALK OFF CLEAR STORE “” TO PT1,PT2 NAME=SPACE(8) USE STU DO WHILE .T. ACCEPT “请输入姓名:” TO NAME _________________(1) IF FOUND() DO WHILE .NOT.EOF() DISP WAIT “是找此人吗?(Y/N)” TO PT1 IF UPPER(PT1)=“Y” ____________(2) ELSE _____________(3) ENDIF ENDO ELSE ?“查无此人!” ENDIF WAIT “继续查询吗(Y/N)?” TO PT2 IF UPPER (PT2)=“N” _____________(4) ENDIF ENDDO RETURN 2.用循环语句编写程序,在屏幕上显示如下图形: ******* ***** *** * 3.设菜单格式如下: 功能选择 1.录入 2.修改 3.查询 4.统计 5.打印 6.退出 其中前五项功能的程序名分别为LR.PRG,XG.PRG,CX.PRG,TJ.PRG,DY.PRG。试编写一个包括功能菜单、选择功能号和调用相应程序的主控程序。 五、综合应用题(每小题5分,共15分) 设要建立一个企业数据库,该企业各部门有许多职员,但一个职员仅属于一个部门;每个职员可在多项工程中做工或负责管理,每项工程可有多个职员做工,但只有一个负责管理者;有若干供应商同时为各不同工程供应各种零件,一个零件又可由其它若干零件组装而成,或用来组成其它多种零件。 请完成如下设计或处理: 1.设计该DB的E-R图,自行适当给出各实体的属性; 2.将该E-R图转换为等价的关系模型方式; 3.简述你在2)中采用具体转换方法。