全国2005年1月高等教育自学考试
数据库及其应用试题
课程代码:02120
一、单项选择题(本大题共20小题,每小题2分,共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下列关于“联系”的描述,正确的是( )
A.联系不是实体,也没有属性 B.联系是实体,但没有属性
C.联系不是实体,但有属性 D.联系是实体,也有属性
2.在层次模型中,用来表示记录类型及其联系的结构是( )
A.层次 B.树
C.网状 D.关系
3.下面对网状模型描述错误的是( )
A.结点间的联系不受层次限制,可以任意发生联系
B.有一个以上结点无父结点
C.至少有一个结点有多于一个父结点
D.在具体实现上,直接支持多对多的联系
4.设R(U)是属性集合U上的一个关系模式,X、Y是U的子集。X′是X的真子集,若对于R(U)的任何一个可能的关系,都有X→Y,但X′→/ Y,则( )
A.Y传递函数依赖于X B.Y完全函数依赖于X
C.X为U的候选键 D.R属于2NF
5.集合R与S的交可以用关系代数的基本运算表示为( )
A.R-(R-S) B.R+(R-S)
C.R-(S-R) D.S-(R-S)
6.包含在候选键中的属性,称为( )
A.非主属性 B.主属性
C.域 D.外部键
7.关系R与S的连接操作用关系代数的基本运算表示为( )
A.R(A)θS(B) B.σ
AθB(R×S)
C.Π
A,B(R×S) D.(σ
AR)(σ
BS)
8.命令″TOTAL ON name TO new″中的new是( )
A.内存变量名 B.数据库文件名
C.文本文件名 D.数据库字段名
9.在FoxPro中,一个文件里的过程数最多为( )
A.24 B.32
C.64 D.不限
10.在编写FoxPro的过程文件时,要注意( )
A.必须在头部进行PROCEDURE和PARAMETER说明
B.必须在头部进行PROCEDUER和PUBLIC说明
C.必须在头部进行PROCEDURE说明
D.必须在头部进行PROCEDURE和PRIVATE说明
11.宏替换号″&″后的内存变量是( )
A.字符型 B.数值型
C.逻辑型 D.任何类型
12.下列说法正确的是( )
A.?是从光标当前位置开始显示
B.??是从光标当前所在行的下一行第0列开始显示
C.?|??命令又称非格式化输出命令
D.仅用?或??命令,就可以在打印机上输出数据
13.在FoxPro中,指数函数EXP(n)是以n为指数,以( )
A.2为底 B.e为底
C.10为底 D.n为底
14.当前系统日期是2004年10月1日,执行″?DTOC(DATE(),1)″后输出( )
A.20041001 B.2004.10.01
C.2004/10/01 D.2004―10―01
15.已有定义DIMENSION array(3,2), name(5),下列语句中错误的是( )
A.array (3,2)=15 B.array [3][2]=15
C.STORE ″姓名:″TO name D.name (4)=″abc″
16.执行语句″?LEN(TRIM(″ 北京 上海 ″)) ″后输出( )
A.8 B.9
C.10 D.14
17.执行语句″? INT(-66.77)″后输出( )
A.-66 B.-0.77
C.-67 D.0.77
18.FoxPro数据库管理系统中,不能关闭数据库文件的命令是( )
A.CLEAR B.USE
C.CLOSE ALL D.CLEAR ALL
19.有一个无参数的FoxPro自定义函数:YJ,正确的调用方式是( )
A.do YJ B.? YJ ( )
C.YJ D.CALL YJ
20.已知:A=″中国″,B=″中 国人民″,C=″ 中国″,D=″中国 ″,当执行FoxPro的SET EXACT OFF命令后,下列命令执行结果为 .T. 的是( )
A.?A=B B.?B=C
C.?A=C D.?A=D
二、填空题(本大题共10小题,每小题1分,共10分)
请在每小题的空格中填上正确答案。错填、不填均无分。
21.数据库的三级模式中存在两种映射,有外模式/模式间的映射和______________ 间的映射。
22.包含在任何一个候选键的属性称为______________。
23.关系模式R(A,B,C,D)的函数依赖集F={AB→C},R最高属于______________范式。
24.规范化过程是对关系模式逐步分解的过程,其中从2NF向3NF变换,消除了非主属性对候选键的______________。
25.关系的规范化不是说范式级别越高越好,因为范式级别越高,当进行______________操作时,开销会更大。
26.关系模式R(A,B,C,D)的函数依赖集F={A→B,B→D},则R的候选键为______________。
27.在当前打开的数据库中删除当前记录以下的5条记录,应使用的命令是______________。
28.执行″?VAL (″456a.123b″)+0.53″后输出______________。
29.在FoxPro中,只关闭当前工作区中的数据库文件,使用的命令是
30.在FoxPro的命令窗口中运行下列命令
CLEAR
USE xs
以后,能够连续显示1-6条记录的命令是______________。
三、程序分析题(本大题共3小题,每小题5分,共15分)
31.文件book.dbf的字段有:aid(作者标识,字符型),bname(书名,字符型),words(字量,数值型)。文件author.dbf的字段有:aid(作者标识,字符型),aname(作者名,字符型),sex(性别,字符型)。给出下述程序的输出结果。
book.dbf 的内容如下 author.dbf的内容如下
i1 b1 20 il a1 m
i2 b2 50 i2 a2 f
i3 b3 30 i3 a3 m
i2 b4 50
i1 b5 20
i3 b6 30
SET TALK OFF
CLEAR ALL
S ELECT B
USE book
INDEX ON aid TO book
S ELECT A
USE author
SCAN
S ELECT book
SEEK author ->aid
COUNT TO num WHILE author ->aid=aid
S ELECT author
IF num>1
? aname +SPACE(2)+sex
ENDIF
ENDSCAN
CLEAR ALL
RETURN
输出结果:
32.写出下列程序的输出结果:
SET TALK OFF
STORE 12 TO x
STORE ″101011″TO b
i=1
y=2
x=x+2*i
y=y+i
c=VAL(SUBSTR(b,i,1))
sf=″+″
ss=″x″+″&″+″sf. ″+″y″
? ″结果″+STR(c,2)+ ″:″+STR(&ss,4)
RETURN
输出结果:
33.文件employee.dbf用于存放职员信息,其字段有:eno(职员号,字符型),ename(姓名,字符型),sex(性别,字符型)。文件salary.dbf用于存放工资信息,其字段有:eno(职员号,字符型),base(基本工资,数值型),addition(附加工资,数值型)。给出下述程序的输出结果。
employee.dbf 的内容如下 salary.dbf的内容如下
eno ename sex eno base addition
n1 e1 m n2 500 -80
n2 e2 f n3 300 90
n3 e3 m n1 200 95
SET TALK OFF
CLEAR ALL
S ELECT B
USE salary
S ELECT A
USE employee
SCAN
S ELECT salary
LOCATE FOR eno=employee ->eno
IF FOUND ( )
? employee -> ename+SPACE(2)+STR (base+addition,3)
ENDIF
S ELECT employee
ENDSCAN
CLEAR ALL
RETURN
输出结果:
四、程序设计题(本大题共5小题,每小题5分,共25分)
34.文件course.dbf用于存放课程信息,其字段有:cname(课程名,字符型),chour(学时数,数值型),creidt(学分,数值型)。下述程序的功能是查找学时数最大的课程。完成下述程序。
SET TALK OFF
USE coures
(1) =0
r=0
SCAN
IF
(2)
maxhour=chour
(3)
ENDIF
ENDSCAN
IF r<>0
GOTO r
? cname+STR (chour)+STR(credit)
ELSE
?″course.dbf为空″
ENDIF
USE
RETURN
(1)
(2)
(3)
35.下述程序的功能是:求1×3×5×…×(2n-1)的值,其中n>0。完成下述程序。
SET TALK OFF
n=0
@ 10, 10 SAY ″请输入n (n>0) :″GET n VALID n>0
(1)
p=1
FOR i=1 TO 2*n-1
IF i%2=0
(2)
ENDIF
(3) _
ENDFOR
? ″当n=″+STR (n, 4)+ ″结果p=″+STR(p, 6)
RETURN
(1)
(2)
(3)
36.已知文件ydy.dbf的字段有:编号(字符型),班级(字符型),姓名(字符型),得分(数值型)。其中编写字段为6位,前3位为班号,后3位为学生顺序号,学生的班号从编号中提取存入班级字段,现将编号为“905001”,姓名为“方华”,得分529分的记录追加入库。完成下述程序。
SET TALK OFF
USE ydy
STORE ″905001″ TO bh
(1)
REPLACE 编号 WITH bh, 姓名 WITH
(2)
REPLACE 班级WITH
(3) ,得分 WITH
(4)
USE
SET TALK ON
RETURN
(1)
(2)
(3)
(4)
37.文件study.dbf的字段有:sno(学号,字符型),cno(课程号,字符型),grade(分数,数值型)。文件student.dbf的字段有:sname(学生名,字符型),sno(学号,字符型),sex(性别,字符型)。文件course.dbf的字段有:cname(课程名,字符型),cno(课程号,字符型),credit(学分,数值型)。study.dbf在sno+cno上建有索引文件study.idx。下述程序的功能是查找所有学生都选修的课程名。完成下述程序。
SET TALK OFF
S ELECT C
USE course
S ELECT B
USE student
S ELECT A
USE study INDEX study
DO WHILE .NOT. EOF (″course″)
good = .T.
GOTO TOP IN student
DO WHILE
(1)
SEEK student ->sno+course ->cno
good =
(2)
SKIP IN student
ENDDO
IF good
? course -> cname
ENDIF
SKIP
(3)
ENDDO
CLEAR ALL
RETURN
(1)
(2)
(3)
38.文件zhg.dbf的字段有:职工编号(字符型),姓名(字符型),性别(字符型),部门(字符型)。文件gz.dbf的字段有:职工编号(字符型),基本工资(数值型),岗位津贴(数值型),扣发工资(数值型),实发工资(数值型)。下述程序计算每个职工的实发工资和统计销售部门所有职工实发工资之和。完成下述程序。
SET TALK OFF
CLEAR
S ELECT 1
USE zhg
S ELECT 2
USE gz
DO WHILE .NOT. EOF( )
REPLACE 实发工资 WITH 基本工资+岗位津贴-扣发工资
(1)
ENDDO
S ELECT 1
(2)
(3)
LOCATE FOR 部门=″销售″
DO WHILE .NOT. EOF( )
zgbh =职工编号
S ELECT 2
LOCATE FOR
(4)
IF .NOT. EOF( )
jbgz=jbgz +基本工资
sfgz=sfgz +实发工资
ENDIF
(5)
CONTINUE
ENDDO
? ″销售部门基本工资:″,jbgz,″实发工资:″,sfgz
CLOSE ALL
SET TALK OFF
RETURN
(1)
(2)
(3)
(4)
(5)
五、综合题(本大题共2小题,每小题5分,共10分)
39.说明过程sub1,sub2及sub3的功能。
SET TALK OFF
SET PROCEDURE TO gzproc1
DIMENSION ary(2)
ary=0
IF .NOT. FILE (″zhg.dbf″)
DO sub1
RETURN
ENDIF
USE zhg
GOTO TOP
DO WHILE .NOT. EOF( )
DO sub2
SKIP
ENDDO
IF ary (1)<>0 .OR. ary(2) <>0
? ″库中有″+LTRIM (STR(ary(1))+ ″条记录性别字段错″
? ″库中有″+LTRIM (STR(ary(2))+ ″男女职工未调工资″
ENDIF
SET TALK ON
CLOSE ALL
RETURN
文件 gzproc1的内容如下:
PROCEDURE sub1
? ″zhg.dbf表文件不存在!″
RETURN
PROCEOURE sub2
DO CASE
CASE 性别=″男″
IF 工资<=2000
REPLACE基本工资 WITH 基本工资+100
ELSE
DO sub3
ENDIF
CASE 性别=″女″
IF 工资<=1000
REPLACE 基本工资 WITH 基本工资+150
ELSE
DO sub3
ENDIF
OTHERWISE
ary (1) =ary (1)+1
ENDCASE
RETURN
PROCEDURE sub3
ary (2) =ary (2)+1
RETURN
(1)过程sub1的功能是:
(2)过程sub2的功能是:
(3)过程sub3的功能是:
40.已知关系框架R(S,P,J),其中S为学生学号,J为课程号,P为学生在某门课中的排名,一个学生在一门课中只有一个名次,某门课的某个名次只有一个学生。请写出R上成立的所有函数依赖及候选键,并说明R最高是几级范式。
试题word文档下载: